diff options
author | Ansgar Radermacher | 2014-09-05 12:40:19 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2014-09-05 12:40:19 +0000 |
commit | 1cae46ac29d814b0441f09f7da4e36802a02fd2d (patch) | |
tree | f3ac3b1539ba2053ba08b8d8d944cd25b6826006 /extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src | |
parent | 6c118f555e1b73f94cb77116006937893848e940 (diff) | |
download | org.eclipse.papyrus-1cae46ac29d814b0441f09f7da4e36802a02fd2d.tar.gz org.eclipse.papyrus-1cae46ac29d814b0441f09f7da4e36802a02fd2d.tar.xz org.eclipse.papyrus-1cae46ac29d814b0441f09f7da4e36802a02fd2d.zip |
443404 - [C++ codegen] Code generation should be based on xtend (done via merge of branch ogurcan)
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src')
70 files changed, 1312 insertions, 23033 deletions
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 deleted file mode 100644 index 5512989050b..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.emtl +++ /dev/null @@ -1,576 +0,0 @@ -<?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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/Constants.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.mtl deleted file mode 100644 index 94614d3fedc..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/Constants.mtl +++ /dev/null @@ -1,52 +0,0 @@ -[comment encoding = UTF-8 /] -[module Constants('http://www.eclipse.org/uml2/5.0.0/UML')] - - -[template public constIncludeHFile(dummy : Element)] -// include associated header file -[/template] - -[template public constIncludeHeaderStart(dummy : Element)] -// Include from Include stereotype (header) -[/template] - -[template public constIncludePreBodyStart(dummy : Element)] -// Include from Include stereotype (pre-body) -[/template] - -[template public constIncludePreBodyEnd(dummy : Element)] -// End of Include stereotype (pre-body) -[/template] - -[template public constIncludeBodyStart(dummy : Element)] -// Include from Include declaration (body) -[/template] - -[template public constIncludeHeaderEnd(dummy : Element)] -// End of Include stereotype (header) -[/template] - -[template public constIncludeBodyEnd(dummy : Element)] -// End of Include stereotype (body) -[/template] - -[template public constDerivedIncludes(dummy : Element)] -// Derived includes directives -[/template] - -[template public forwardDecl(dummy : Element)] -// forward declarations -[/template] - -[template public constStaticAttributes(dummy : Element)] -// static attributes (if any) -[/template] - -[template public packageTypes(dummy : Element)] -// Types defined within the package -[/template] - - -[template public undefinedType(dummy : Element)] -undefined -[/template] 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 deleted file mode 100644 index 86c8b390bd2..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl +++ /dev/null @@ -1,1010 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../utils/CppGenUtils.emtl#/0"/> - <imports href="../utils/ClassUtils.emtl#/0"/> - <imports href="CppIncludeUtils.emtl#/0"/> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/IncludeDirective"/> - <argument 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type/package"/> - </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="class" referredVariable="/0/CppBindBody/class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - </argument> - </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="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> - <body xsi:type="mtl:ForBlock"> - <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/IncludeDirective"/> - <argument xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/CppBindBody/%.17/path"> - <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="
"/> - <loopVariable name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/14/OrderedSet(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/14/Sequence(String)"> - <source xsi:type="mtl:QueryInvocation" eType="/14/Sequence(String)"> - <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludes"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/flatten"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/asOrderedSet"/> - </iterSet> - </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/5.0.0/UML#//NamedElement"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindBody/%.19/%/templateElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/22/NamedElement"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="/26"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameterSubstitution"/> - </argument> - </body> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/14/Set(TemplateParameterSubstitution)"> - <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindBody/%.19/tb"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - <initExpression xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/14/Sequence(Element)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/14/Set(Element)"> - <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindBody/%.19/tb"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//TemplateBinding"/> - <initExpression xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/29"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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> - <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="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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> - </eAnnotations> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="IncludeDirective"> - <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/IncludeDirective"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </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/5.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/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </eParameters> - </eOperations> - <eOperations name="CppClassAllIncludes"> - <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/CppClassAllIncludes"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="util/clazz/CppClassIncludeClassDeclaration.emtl#/3/Sequence(String)"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(String)" instanceClassName="java.util.LinkedHashSet"> - <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(Element)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameterSubstitution"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameterSubstitution"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="1743"/> - <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="938"/> - <details key="line" value="22"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/CppBindBody/%.9"> - <details key="start" value="939"/> - <details key="end" value="1026"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppBindBody/%.9/%"> - <details key="start" value="957"/> - <details key="end" value="1024"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppBindBody/%.9/%/%"> - <details key="start" value="957"/> - <details key="end" value="1004"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppBindBody/%.9/%/%/%"> - <details key="start" value="957"/> - <details key="end" value="998"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppBindBody/%.9/%/%/%/%"> - <details key="start" value="957"/> - <details key="end" value="985"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppBindBody/%.9/%/%/%/%/%"> - <details key="start" value="957"/> - <details key="end" value="979"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppBindBody/%.9/%/%/%/%/%/%"> - <details key="start" value="957"/> - <details key="end" value="965"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppBindBody/%.9/%/%/%/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppBindBody/%.9/%/%/%/%/%.1"> - <details key="start" value="982"/> - <details key="end" value="985"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppBindBody/%.9/%/%/%/%.1"> - <details key="start" value="988"/> - <details key="end" value="998"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppBindBody/%.9/%/%/%/%.1/class"> - <details key="start" value="988"/> - <details key="end" value="993"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppBindBody/%.9/%/%/%.1"> - <details key="start" value="1001"/> - <details key="end" value="1004"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppBindBody/%.9/%/%.1"> - <details key="start" value="1007"/> - <details key="end" value="1024"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppBindBody/%.9/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppBindBody/%.10"> - <details key="start" value="1028"/> - <details key="end" value="1030"/> - <details key="line" value="23"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppBindBody/%.11"> - <details key="start" value="1031"/> - <details key="end" value="1047"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppBindBody/%.11/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppBindBody/%.12"> - <details key="start" value="1049"/> - <details key="end" value="1051"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppBindBody/%.13"> - <details key="start" value="1052"/> - <details key="end" value="1060"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppBindBody/%.13/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppBindBody/%.14"> - <details key="start" value="1062"/> - <details key="end" value="1064"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppBindBody/%.15"> - <details key="start" value="1065"/> - <details key="end" value="1087"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppBindBody/%.15/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppBindBody/%.16"> - <details key="start" value="1089"/> - <details key="end" value="1091"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppBindBody/%.17"> - <details key="start" value="1091"/> - <details key="end" value="1197"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppBindBody/%.17/%"> - <details key="start" value="1165"/> - <details key="end" value="1188"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppBindBody/%.17/%/path"> - <details key="start" value="1165"/> - <details key="end" value="1169"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppBindBody/%.17/%.1"> - <details key="start" value="1190"/> - <details key="end" value="1191"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppBindBody/%.17/path"> - <details key="start" value="1097"/> - <details key="end" value="1110"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppBindBody/%.17/%.2"> - <details key="start" value="1113"/> - <details key="end" value="1161"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/CppBindBody/%.17/%.2/%"> - <details key="start" value="1113"/> - <details key="end" value="1145"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppBindBody/%.17/%.2/%/%"> - <details key="start" value="1113"/> - <details key="end" value="1134"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppBindBody/%.17/%.2/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppBindBody/%.18"> - <details key="start" value="1198"/> - <details key="end" value="1262"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppBindBody/%.19"> - <details key="start" value="1262"/> - <details key="end" value="1534"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppBindBody/%.19/%"> - <details key="start" value="1313"/> - <details key="end" value="1528"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppBindBody/%.19/%/%"> - <details key="start" value="1380"/> - <details key="end" value="1395"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppBindBody/%.19/%/%.1"> - <details key="start" value="1396"/> - <details key="end" value="1446"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppBindBody/%.19/%/%.1/%"> - <details key="start" value="1396"/> - <details key="end" value="1441"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppBindBody/%.19/%/%.1/%/%"> - <details key="start" value="1396"/> - <details key="end" value="1417"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppBindBody/%.19/%/%.1/%/%/templateElement"> - <details key="start" value="1396"/> - <details key="end" value="1411"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppBindBody/%.19/%/%.1/%/%.1"> - <details key="start" value="1428"/> - <details key="end" value="1440"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppBindBody/%.19/%/%.2"> - <details key="start" value="1448"/> - <details key="end" value="1449"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppBindBody/%.19/%/%.3"> - <details key="start" value="1449"/> - <details key="end" value="1519"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppBindBody/%.19/%/%.3/%"> - <details key="start" value="1482"/> - <details key="end" value="1511"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppBindBody/%.19/%/%.3/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppBindBody/%.19/%/%.3/%.1"> - <details key="start" value="1455"/> - <details key="end" value="1479"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppBindBody/%.19/%/%.3/%.1/tb"> - <details key="start" value="1455"/> - <details key="end" value="1457"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppBindBody/%.19/%/%.4"> - <details key="start" value="1519"/> - <details key="end" value="1522"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppBindBody/%.19/%/templateElement"> - <details key="start" value="1318"/> - <details key="end" value="1378"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppBindBody/%.19/%/templateElement/%"> - <details key="start" value="1347"/> - <details key="end" value="1379"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppBindBody/%.19/%/templateElement/%/%"> - <details key="start" value="1347"/> - <details key="end" value="1370"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/CppBindBody/%.19/%/templateElement/%/%/%"> - <details key="start" value="1347"/> - <details key="end" value="1356"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/CppBindBody/%.19/%/templateElement/%/%/%/tb"> - <details key="start" value="1347"/> - <details key="end" value="1349"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppBindBody/%.19/tb"> - <details key="start" value="1267"/> - <details key="end" value="1311"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/CppBindBody/%.19/tb/%"> - <details key="start" value="1291"/> - <details key="end" value="1312"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/CppBindBody/%.19/tb/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/CppBindBody/%.20"> - <details key="start" value="1535"/> - <details key="end" value="1536"/> - <details key="line" value="39"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/CppBindBody/%.21"> - <details key="start" value="1537"/> - <details key="end" value="1546"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/CppBindBody/%.21/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/CppBindBody/%.22"> - <details key="start" value="1548"/> - <details key="end" value="1633"/> - <details key="line" value="41"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/CppBindBody/%.23"> - <details key="start" value="1634"/> - <details key="end" value="1644"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/CppBindBody/%.23/class"> - <details key="start" value="1634"/> - <details key="end" value="1639"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/CppBindBody/%.24"> - <details key="start" value="1646"/> - <details key="end" value="1731"/> - <details key="line" value="43"/> - </eAnnotations> - <eAnnotations source="positions.78" 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 deleted file mode 100644 index bb2cf852f40..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.mtl +++ /dev/null @@ -1,45 +0,0 @@ -[module CppBindBody('http://www.eclipse.org/uml2/5.0.0/UML')/] -[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/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::Constants/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration/] - - -[template public CppBindBody(class : Class)] -#define [getFullNameUC()/]_BODY - -/************************************************************ - [class.name/] template binding body - ************************************************************/ - -[CppIncludePreBody()/] - -[constIncludeHFile()/] -[IncludeDirective( _package.getFullPath() + '/' + class.name + '.' + getHeaderSuffix() )/] - -[CppIncludeBody()/] - -[openNS()/] - -[constDerivedIncludes()/] - -[for (path : String | CppClassAllIncludes()->flatten()->asOrderedSet())] -[path.IncludeDirective()/] -[/for] - -/************************************************************/ -[let tb : TemplateBinding = getTemplateBindings()] -[let templateElement : Element = tb.target->asSequence()->first()] -template class [templateElement.owner.oclAsType(NamedElement).name/]<[for (tb.parameterSubstitution)][CppTemplateBindingParameter()/][/for]>; -[/let][/let] - -[closeNS()/] - -/************************************************************ - End of [class.name/] template binding body - ************************************************************/ -[/template] 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 deleted file mode 100644 index f372ad6c3eb..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl +++ /dev/null @@ -1,1031 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../utils/CppGenUtils.emtl#/0"/> - <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> - <imports href="util/CppTemplates.emtl#/0"/> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" template binding header
 ************************************************************/

"/> - <body xsi:type="mtl:ForBlock"> - <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/IncludeDirective"/> - <argument xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/CppBindHeader/%.7/path"> - <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="
"/> - <loopVariable name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/9/OrderedSet(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/9/Sequence(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/9/Sequence(String)" referredOperation="/1/Collection(T)_Class/addAll"> - <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/9/Sequence(String)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/cppOwnerPackageIncludePath"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type/package"/> - </argument> - </item> - </part> - </source> - <argument xsi:type="mtl:QueryInvocation" eType="/9/Sequence(String)"> - <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludes"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - </argument> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/flatten"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/asOrderedSet"/> - </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="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="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/IncludeDirective"/> - <argument 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type/package"/> - </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:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindHeader/%.11/%/templateElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/18/NamedElement"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </argument> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:VariableExp" name="templateElement" referredVariable="/0/CppBindHeader/%.11/%/templateElement"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/18/NamedElement"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </argument> - </body> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/9/Set(TemplateParameterSubstitution)"> - <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindHeader/%.11/tb"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/28"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - <initExpression xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/9/Sequence(Element)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/9/Set(Element)"> - <source xsi:type="ocl.ecore:VariableExp" name="tb" referredVariable="/0/CppBindHeader/%.11/tb"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//TemplateBinding"/> - <initExpression xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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> - <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="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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> - </eAnnotations> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateBinding"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="cppOwnerPackageIncludePath"> - <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/cppOwnerPackageIncludePath"/> - </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/5.0.0/UML#//Package"/> - </eParameters> - </eOperations> - <eOperations name="CppClassAllIncludes"> - <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/CppClassAllIncludes"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="util/clazz/CppClassIncludeClassDeclaration.emtl#/3/Sequence(String)"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="IncludeDirective"> - <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/IncludeDirective"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <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> - <eOperations name="addAll"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:CollectionType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> - <eParameters name="otherCollection"> - <eType xsi:type="ocl.ecore:CollectionType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> - </eParameters> - </eOperations> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(String)"> - <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:OrderedSetType" name="OrderedSet(String)" instanceClassName="java.util.LinkedHashSet"> - <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(Element)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameterSubstitution"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameterSubstitution"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="1701"/> - <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="793"/> - <details key="end" value="970"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/CppBindHeader/%.7/%"> - <details key="start" value="938"/> - <details key="end" value="961"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/CppBindHeader/%.7/%/path"> - <details key="start" value="938"/> - <details key="end" value="942"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/CppBindHeader/%.7/%.1"> - <details key="start" value="963"/> - <details key="end" value="964"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppBindHeader/%.7/path"> - <details key="start" value="799"/> - <details key="end" value="812"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppBindHeader/%.7/%.2"> - <details key="start" value="816"/> - <details key="end" value="934"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppBindHeader/%.7/%.2/%"> - <details key="start" value="816"/> - <details key="end" value="915"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppBindHeader/%.7/%.2/%/%"> - <details key="start" value="816"/> - <details key="end" value="901"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppBindHeader/%.7/%.2/%/%/%"> - <details key="start" value="816"/> - <details key="end" value="865"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppBindHeader/%.7/%.2/%/%/%/%/%"> - <details key="start" value="826"/> - <details key="end" value="863"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppBindHeader/%.7/%.2/%/%/%/%/%/%"> - <details key="start" value="826"/> - <details key="end" value="834"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppBindHeader/%.7/%.2/%/%/%/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppBindHeader/%.7/%.2/%/%/%.1"> - <details key="start" value="878"/> - <details key="end" value="899"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppBindHeader/%.7/%.2/%/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppBindHeader/%.8"> - <details key="start" value="971"/> - <details key="end" value="972"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppBindHeader/%.9"> - <details key="start" value="973"/> - <details key="end" value="991"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppBindHeader/%.9/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppBindHeader/%.10"> - <details key="start" value="993"/> - <details key="end" value="995"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppBindHeader/%.11"> - <details key="start" value="995"/> - <details key="end" value="1496"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppBindHeader/%.11/%"> - <details key="start" value="1046"/> - <details key="end" value="1490"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppBindHeader/%.11/%/%"> - <details key="start" value="1114"/> - <details key="end" value="1241"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppBindHeader/%.11/%/%/%"> - <details key="start" value="1132"/> - <details key="end" value="1239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppBindHeader/%.11/%/%/%/%"> - <details key="start" value="1132"/> - <details key="end" value="1219"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppBindHeader/%.11/%/%/%/%/%"> - <details key="start" value="1132"/> - <details key="end" value="1213"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppBindHeader/%.11/%/%/%/%/%/%"> - <details key="start" value="1132"/> - <details key="end" value="1160"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppBindHeader/%.11/%/%/%/%/%/%/%"> - <details key="start" value="1132"/> - <details key="end" value="1154"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppBindHeader/%.11/%/%/%/%/%/%/%/%"> - <details key="start" value="1132"/> - <details key="end" value="1140"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppBindHeader/%.11/%/%/%/%/%/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppBindHeader/%.11/%/%/%/%/%/%/%.1"> - <details key="start" value="1157"/> - <details key="end" value="1160"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppBindHeader/%.11/%/%/%/%/%/%.1"> - <details key="start" value="1163"/> - <details key="end" value="1213"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppBindHeader/%.11/%/%/%/%/%/%.1/%"> - <details key="start" value="1163"/> - <details key="end" value="1208"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppBindHeader/%.11/%/%/%/%/%/%.1/%/%"> - <details key="start" value="1163"/> - <details key="end" value="1184"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppBindHeader/%.11/%/%/%/%/%/%.1/%/%/templateElement"> - <details key="start" value="1163"/> - <details key="end" value="1178"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/CppBindHeader/%.11/%/%/%/%/%/%.1/%/%.1"> - <details key="start" value="1195"/> - <details key="end" value="1207"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppBindHeader/%.11/%/%/%/%/%.1"> - <details key="start" value="1216"/> - <details key="end" value="1219"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppBindHeader/%.11/%/%/%/%.1"> - <details key="start" value="1222"/> - <details key="end" value="1239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppBindHeader/%.11/%/%/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppBindHeader/%.11/%/%.1"> - <details key="start" value="1243"/> - <details key="end" value="1245"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppBindHeader/%.11/%/%.2"> - <details key="start" value="1246"/> - <details key="end" value="1254"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppBindHeader/%.11/%/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppBindHeader/%.11/%/%.3"> - <details key="start" value="1256"/> - <details key="end" value="1329"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppBindHeader/%.11/%/%.4"> - <details key="start" value="1330"/> - <details key="end" value="1380"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppBindHeader/%.11/%/%.4/%"> - <details key="start" value="1330"/> - <details key="end" value="1375"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppBindHeader/%.11/%/%.4/%/%"> - <details key="start" value="1330"/> - <details key="end" value="1351"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppBindHeader/%.11/%/%.4/%/%/templateElement"> - <details key="start" value="1330"/> - <details key="end" value="1345"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppBindHeader/%.11/%/%.4/%/%.1"> - <details key="start" value="1362"/> - <details key="end" value="1374"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppBindHeader/%.11/%/%.5"> - <details key="start" value="1382"/> - <details key="end" value="1383"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppBindHeader/%.11/%/%.6"> - <details key="start" value="1383"/> - <details key="end" value="1453"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppBindHeader/%.11/%/%.6/%"> - <details key="start" value="1416"/> - <details key="end" value="1445"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppBindHeader/%.11/%/%.6/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppBindHeader/%.11/%/%.6/%.1"> - <details key="start" value="1389"/> - <details key="end" value="1413"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppBindHeader/%.11/%/%.6/%.1/tb"> - <details key="start" value="1389"/> - <details key="end" value="1391"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppBindHeader/%.11/%/%.7"> - <details key="start" value="1453"/> - <details key="end" value="1455"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppBindHeader/%.11/%/%.8"> - <details key="start" value="1456"/> - <details key="end" value="1466"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppBindHeader/%.11/%/%.8/class"> - <details key="start" value="1456"/> - <details key="end" value="1461"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/CppBindHeader/%.11/%/%.9"> - <details key="start" value="1468"/> - <details key="end" value="1471"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/CppBindHeader/%.11/%/%.10"> - <details key="start" value="1472"/> - <details key="end" value="1481"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppBindHeader/%.11/%/%.10/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/CppBindHeader/%.11/%/%.11"> - <details key="start" value="1483"/> - <details key="end" value="1484"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/CppBindHeader/%.11/%/templateElement"> - <details key="start" value="1051"/> - <details key="end" value="1111"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/CppBindHeader/%.11/%/templateElement/%"> - <details key="start" value="1080"/> - <details key="end" value="1112"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/CppBindHeader/%.11/%/templateElement/%/%"> - <details key="start" value="1080"/> - <details key="end" value="1103"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/CppBindHeader/%.11/%/templateElement/%/%/%"> - <details key="start" value="1080"/> - <details key="end" value="1089"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/CppBindHeader/%.11/%/templateElement/%/%/%/tb"> - <details key="start" value="1080"/> - <details key="end" value="1082"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/CppBindHeader/%.11/tb"> - <details key="start" value="1000"/> - <details key="end" value="1044"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/CppBindHeader/%.11/tb/%"> - <details key="start" value="1024"/> - <details key="end" value="1045"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/CppBindHeader/%.11/tb/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/CppBindHeader/%.12"> - <details key="start" value="1497"/> - <details key="end" value="1581"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/CppBindHeader/%.13"> - <details key="start" value="1582"/> - <details key="end" value="1592"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/CppBindHeader/%.13/class"> - <details key="start" value="1582"/> - <details key="end" value="1587"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/CppBindHeader/%.14"> - <details key="start" value="1594"/> - <details key="end" value="1689"/> - <details key="line" value="40"/> - </eAnnotations> - <eAnnotations source="positions.82" 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 deleted file mode 100644 index 007a48b1f47..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.mtl +++ /dev/null @@ -1,44 +0,0 @@ -[module CppBindHeader('http://www.eclipse.org/uml2/5.0.0/UML')/] -[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/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils/] - - -[template public CppBindHeader(class : Class)] -#ifndef [getFullNameUC()/]_H -#define [getFullNameUC()/]_H - -/************************************************************ - [class.name/] template binding header - ************************************************************/ - -[for (path : String | - Sequence{ _package.cppOwnerPackageIncludePath() } - ->addAll( CppClassAllIncludes() ) - ->flatten() - ->asOrderedSet())] -[path.IncludeDirective()/] -[/for] - -[CppIncludeHeader()/] - -[let tb : TemplateBinding = getTemplateBindings()] -[let templateElement : Element = tb.target->asSequence()->first()] -[IncludeDirective( _package.getFullPath() + '/' + templateElement.owner.oclAsType(NamedElement).name + '.' + getHeaderSuffix() )/] - -[openNS()/] -/************************************************************/ -typedef [templateElement.owner.oclAsType(NamedElement).name/]<[for (tb.parameterSubstitution)][CppTemplateBindingParameter()/][/for]> [class.name/]; - -[closeNS()/] -[/let][/let] - -/************************************************************ - End of [class.name/] template binding header - ************************************************************/ - -#endif -[/template] 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 deleted file mode 100644 index f3905cb70d3..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl +++ /dev/null @@ -1,885 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../utils/CppGenUtils.emtl#/0"/> - <imports href="../utils/ClassUtils.emtl#/0"/> - <imports href="Constants.emtl#/0"/> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/IncludeDirective"/> - <argument 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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="class" referredVariable="/0/CppClassBody/class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </argument> - </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="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <body xsi:type="mtl:ForBlock"> - <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/IncludeDirective"/> - <argument xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/CppClassBody/%.13/path"> - <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="
"/> - <loopVariable name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/12/OrderedSet(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/12/Sequence(String)"> - <source xsi:type="mtl:QueryInvocation" eType="/12/Sequence(String)"> - <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclarationBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/flatten"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/asOrderedSet"/> - </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/CppIncludeBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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="/22"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/21"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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="+"> - <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="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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="IncludeDirective"> - <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/IncludeDirective"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </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:SequenceType" href="util/clazz/CppClassIncludeClassDeclaration.emtl#/3/Sequence(String)"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(String)" instanceClassName="java.util.LinkedHashSet"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="1626"/> - <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="1034"/> - <details key="line" value="23"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/CppClassBody/%.9"> - <details key="start" value="1035"/> - <details key="end" value="1133"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppClassBody/%.9/%"> - <details key="start" value="1053"/> - <details key="end" value="1131"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppClassBody/%.9/%/%"> - <details key="start" value="1053"/> - <details key="end" value="1111"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppClassBody/%.9/%/%/%"> - <details key="start" value="1053"/> - <details key="end" value="1105"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppClassBody/%.9/%/%/%/%"> - <details key="start" value="1053"/> - <details key="end" value="1092"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppClassBody/%.9/%/%/%/%/%"> - <details key="start" value="1053"/> - <details key="end" value="1086"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppClassBody/%.9/%/%/%/%/%/%"> - <details key="start" value="1053"/> - <details key="end" value="1072"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppClassBody/%.9/%/%/%/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppClassBody/%.9/%/%/%/%/%.1"> - <details key="start" value="1089"/> - <details key="end" value="1092"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppClassBody/%.9/%/%/%/%.1"> - <details key="start" value="1095"/> - <details key="end" value="1105"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppClassBody/%.9/%/%/%/%.1/class"> - <details key="start" value="1095"/> - <details key="end" value="1100"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppClassBody/%.9/%/%/%.1"> - <details key="start" value="1108"/> - <details key="end" value="1111"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppClassBody/%.9/%/%.1"> - <details key="start" value="1114"/> - <details key="end" value="1131"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppClassBody/%.9/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppClassBody/%.10"> - <details key="start" value="1135"/> - <details key="end" value="1137"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppClassBody/%.11"> - <details key="start" value="1138"/> - <details key="end" value="1160"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppClassBody/%.11/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppClassBody/%.12"> - <details key="start" value="1162"/> - <details key="end" value="1163"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppClassBody/%.13"> - <details key="start" value="1163"/> - <details key="end" value="1284"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppClassBody/%.13/%"> - <details key="start" value="1252"/> - <details key="end" value="1275"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppClassBody/%.13/%/path"> - <details key="start" value="1252"/> - <details key="end" value="1256"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppClassBody/%.13/%.1"> - <details key="start" value="1277"/> - <details key="end" value="1278"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppClassBody/%.13/path"> - <details key="start" value="1169"/> - <details key="end" value="1182"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppClassBody/%.13/%.2"> - <details key="start" value="1185"/> - <details key="end" value="1248"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppClassBody/%.13/%.2/%"> - <details key="start" value="1185"/> - <details key="end" value="1232"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppClassBody/%.13/%.2/%/%"> - <details key="start" value="1185"/> - <details key="end" value="1221"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppClassBody/%.13/%.2/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppClassBody/%.14"> - <details key="start" value="1285"/> - <details key="end" value="1286"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppClassBody/%.15"> - <details key="start" value="1287"/> - <details key="end" value="1303"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppClassBody/%.15/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/CppClassBody/%.16"> - <details key="start" value="1305"/> - <details key="end" value="1307"/> - <details key="line" value="31"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppClassBody/%.17"> - <details key="start" value="1308"/> - <details key="end" value="1321"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppClassBody/%.17/class"> - <details key="start" value="1315"/> - <details key="end" value="1320"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppClassBody/%.18"> - <details key="start" value="1323"/> - <details key="end" value="1324"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppClassBody/%.19"> - <details key="start" value="1325"/> - <details key="end" value="1351"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppClassBody/%.19/class"> - <details key="start" value="1345"/> - <details key="end" value="1350"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppClassBody/%.20"> - <details key="start" value="1353"/> - <details key="end" value="1354"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppClassBody/%.21"> - <details key="start" value="1354"/> - <details key="end" value="1424"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppClassBody/%.21/%"> - <details key="start" value="1377"/> - <details key="end" value="1416"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppClassBody/%.21/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppClassBody/%.21/%/%"> - <details key="start" value="1410"/> - <details key="end" value="1415"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppClassBody/%.21/%.1"> - <details key="start" value="1418"/> - <details key="end" value="1419"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppClassBody/%.21/%.2"> - <details key="start" value="1358"/> - <details key="end" value="1374"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppClassBody/%.21/%.2/%"> - <details key="start" value="1362"/> - <details key="end" value="1374"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppClassBody/%.21/%.2/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppClassBody/%.22"> - <details key="start" value="1426"/> - <details key="end" value="1440"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppClassBody/%.22/class"> - <details key="start" value="1434"/> - <details key="end" value="1439"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppClassBody/%.23"> - <details key="start" value="1442"/> - <details key="end" value="1527"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppClassBody/%.24"> - <details key="start" value="1528"/> - <details key="end" value="1538"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppClassBody/%.24/class"> - <details key="start" value="1528"/> - <details key="end" value="1533"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppClassBody/%.25"> - <details key="start" value="1540"/> - <details key="end" value="1614"/> - <details key="line" value="40"/> - </eAnnotations> - <eAnnotations source="positions.65" 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 deleted file mode 100644 index af47e965998..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl +++ /dev/null @@ -1,42 +0,0 @@ -[module CppClassBody('http://www.eclipse.org/uml2/5.0.0/UML')/] -[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/] -[import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute/] - - -[template public CppClassBody(class : Classifier)] -#define [getFullName()/]_BODY - -/************************************************************ - [class.name/] class body - ************************************************************/ - -[CppIncludePreBody()/] - -[constIncludeHFile()/] -[IncludeDirective( getNearestPackage().getFullPath() + '/' + class.name + '.' + getHeaderSuffix() )/] - -[constDerivedIncludes()/] -[for (path : String | CppClassAllIncludesDeclarationBody()->flatten()->asOrderedSet())] -[path.IncludeDirective()/] -[/for] - -[CppIncludeBody()/] - -[openNS(class)/] -[CppStaticAttributes(class)/] -[if not isTemplate()] -[CppClassOperationsImplementation(false)/] -[/if] -[closeNS(class)/] - -/************************************************************ - End of [class.name/] class body - ************************************************************/ -[/template] 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 deleted file mode 100644 index 2fbf48e1a44..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl +++ /dev/null @@ -1,2200 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../utils/CppGenUtils.emtl#/0"/> - <imports href="../utils/ClassUtils.emtl#/0"/> - <imports href="Constants.emtl#/0"/> - <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/operation/CppOperations.emtl#/0"/> - <imports href="util/CppTemplates.emtl#/0"/> - <imports href="util/CppDocumentation.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Template" name="classUnionOrStruct" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 'union'
"/> - <ifExpr xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Union"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Union"/> - </argument> - </ifExpr> - <else> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/resetVisibility"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 struct
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/6/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </ifExpr> - <else> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/resetVisibility"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 class
"/> - </else> - </body> - </else> - </body> - <parameter name="classifier"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1676" endPosition="1844" 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:IfBlock"> - <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/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/24"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/defaultValue"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/16/OrderedSet(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="/16/OrderedSet(Property)" referredVariable="/0/defaultInitializer/%/%/attributeList"/> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(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="/16/OrderedSet(Property)"> - <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/16/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/16/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/defaultValue"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </iterator> - </initExpression> - </letVariable> - </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:IteratorExp" name="any"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - <source xsi:type="mtl:QueryInvocation" eType="/16/Sequence(Operation)"> - <definition href="util/operation/CppOperations.emtl#/0/getOwnedOperations"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </source> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/%.1/any/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML/Profile/Standard#//Create"/> - </argument> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </iterator> - </source> - <argument xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> - </ifExpr> - </body> - <parameter name="classifier"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/14"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" class header
 ************************************************************/

"/> - <body xsi:type="mtl:ForBlock"> - <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/IncludeDirective"/> - <argument xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/CppClassHeader/%.7/path"> - <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="
"/> - <loopVariable name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/16/OrderedSet(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/16/Sequence(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/16/Sequence(String)" referredOperation="/1/Collection(T)_Class/addAll"> - <source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/16/Sequence(String)" kind="Sequence"> - <part xsi:type="ocl.ecore:CollectionItem"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <item xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/cppOwnerPackageIncludePath"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type/package"/> - </argument> - </item> - </part> - </source> - <argument xsi:type="mtl:QueryInvocation" eType="/16/Sequence(String)"> - <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludes"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </argument> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/flatten"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/asOrderedSet"/> - </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="/40"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/41"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/42"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/43"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </body> - <body xsi:type="mtl:TemplateInvocation" definition="/0/classUnionOrStruct"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/46"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/47"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/48"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/protected"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/protected"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/protected"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/protected"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/55"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - </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="/56"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.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="/57"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.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="/59"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/58"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/60"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/61"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="resetVisibility"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../utils/CppGenUtils.emtl#/0/resetVisibility"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eParameters> - </eOperations> - <eOperations name="getSection"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../utils/CppGenUtils.emtl#/0/getSection"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eParameters> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="CppIncludeHeader"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="IncludeDirective"> - <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/IncludeDirective"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="cppOwnerPackageIncludePath"> - <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/cppOwnerPackageIncludePath"/> - </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/5.0.0/UML#//Package"/> - </eParameters> - </eOperations> - <eOperations name="CppClassAllIncludes"> - <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/CppClassAllIncludes"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="util/clazz/CppClassIncludeClassDeclaration.emtl#/3/Sequence(String)"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - </eParameters> - <eParameters name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </eParameters> - <eParameters name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.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="getOwnedOperations"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="util/operation/CppOperations.emtl#/0/getOwnedOperations"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="util/operation/CppOperations.emtl#/3/Sequence(Operation)"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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/5.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/5.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/5.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> - <eOperations name="addAll"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:CollectionType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> - <eParameters name="otherCollection"> - <eType xsi:type="ocl.ecore:CollectionType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/> - </eParameters> - </eOperations> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//DataType"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Create"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#//Create"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Operation)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Property)" instanceClassName="java.util.LinkedHashSet"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(String)"> - <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:OrderedSetType" name="OrderedSet(String)" instanceClassName="java.util.LinkedHashSet"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="1354"/> - <details key="end" value="1666"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/classUnionOrStruct/%"> - <details key="start" value="1416"/> - <details key="end" value="1654"/> - <details key="line" value="19"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%/%"> - <details key="start" value="1451"/> - <details key="end" value="1463"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%.1"> - <details key="start" value="1420"/> - <details key="end" value="1449"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/classUnionOrStruct/%/%.1/%"> - <details key="start" value="1435"/> - <details key="end" value="1447"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.2"> - <details key="start" value="1463"/> - <details key="end" value="1649"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2/%"> - <details key="start" value="1471"/> - <details key="end" value="1648"/> - <details key="line" value="22"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%/%"> - <details key="start" value="1500"/> - <details key="end" value="1508"/> - <details key="line" value="23"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/%.1"> - <details key="start" value="1509"/> - <details key="end" value="1549"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/classUnionOrStruct/%/%.2/%/%.1/%"> - <details key="start" value="1509"/> - <details key="end" value="1531"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/classUnionOrStruct/%/%.2/%/%.2"> - <details key="start" value="1551"/> - <details key="end" value="1567"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%/%.3"> - <details key="start" value="1475"/> - <details key="end" value="1498"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/classUnionOrStruct/%/%.2/%/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/classUnionOrStruct/%/%.2/%/%.3/%"> - <details key="start" value="1488"/> - <details key="end" value="1496"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/classUnionOrStruct/%/%.2/%/%.4"> - <details key="start" value="1568"/> - <details key="end" value="1643"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/classUnionOrStruct/%/%.2/%/%.4/%"> - <details key="start" value="1575"/> - <details key="end" value="1583"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.1"> - <details key="start" value="1584"/> - <details key="end" value="1625"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.1/%"> - <details key="start" value="1584"/> - <details key="end" value="1607"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.2"> - <details key="start" value="1627"/> - <details key="end" value="1642"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/classUnionOrStruct/classifier"> - <details key="start" value="1390"/> - <details key="end" value="1413"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/%"> - <details key="start" value="1668"/> - <details key="end" value="1846"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/defaultInitializer"> - <details key="start" value="1847"/> - <details key="end" value="3397"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/defaultInitializer/%"> - <details key="start" value="2948"/> - <details key="end" value="3385"/> - <details key="line" value="54"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/defaultInitializer/%/%"> - <details key="start" value="3023"/> - <details key="end" value="3379"/> - <details key="line" value="55"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%"> - <details key="start" value="3195"/> - <details key="end" value="3373"/> - <details key="line" value="59"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/defaultInitializer/%/%/%/%"> - <details key="start" value="3229"/> - <details key="end" value="3234"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/defaultInitializer/%/%/%/%.1"> - <details key="start" value="3235"/> - <details key="end" value="3250"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/defaultInitializer/%/%/%/%.1/classifier"> - <details key="start" value="3235"/> - <details key="end" value="3245"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/defaultInitializer/%/%/%/%.2"> - <details key="start" value="3252"/> - <details key="end" value="3257"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%/%.3"> - <details key="start" value="3257"/> - <details key="end" value="3360"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/defaultInitializer/%/%/%/%.3/%"> - <details key="start" value="3317"/> - <details key="end" value="3321"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/defaultInitializer/%/%/%/%.3/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%/%.3/%.1"> - <details key="start" value="3323"/> - <details key="end" value="3324"/> - <details key="line" value="61"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%/%.3/%.2"> - <details key="start" value="3325"/> - <details key="end" value="3351"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/defaultInitializer/%/%/%/%.3/%.2/%"> - <details key="start" value="3325"/> - <details key="end" value="3337"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" 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.37" references="/0/defaultInitializer/%/%/%/%.3/%.3"> - <details key="start" value="3353"/> - <details key="end" value="3354"/> - <details key="line" value="61"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/defaultInitializer/%/%/%/%.3/a"> - <details key="start" value="3263"/> - <details key="end" value="3275"/> - <details key="line" value="60"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/defaultInitializer/%/%/%/%.3/attributeList"> - <details key="start" value="3278"/> - <details key="end" value="3291"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/defaultInitializer/%/%/%/%.3/%.4"> - <details key="start" value="3303"/> - <details key="end" value="3307"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/defaultInitializer/%/%/%/%.4"> - <details key="start" value="3360"/> - <details key="end" value="3364"/> - <details key="line" value="61"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/defaultInitializer/%/%/%/%.5"> - <details key="start" value="3199"/> - <details key="end" value="3227"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/defaultInitializer/%/%/%/%.5/%"> - <details key="start" value="3203"/> - <details key="end" value="3227"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/defaultInitializer/%/%/%/%.5/%/attributeList"> - <details key="start" value="3203"/> - <details key="end" value="3216"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/defaultInitializer/%/%/attributeList"> - <details key="start" value="3028"/> - <details key="end" value="3189"/> - <details key="line" value="55"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/defaultInitializer/%/%/attributeList/select"> - <details key="start" value="3068"/> - <details key="end" value="3190"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/defaultInitializer/%/%/attributeList/select/%"> - <details key="start" value="3068"/> - <details key="end" value="3077"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" 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.49" references="/0/defaultInitializer/%/%/attributeList/select/%.1"> - <details key="start" value="3093"/> - <details key="end" value="3189"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%"> - <details key="start" value="3093"/> - <details key="end" value="3143"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%"> - <details key="start" value="3093"/> - <details key="end" value="3111"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%/%"> - <details key="start" value="3094"/> - <details key="end" value="3102"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" 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.54" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%/%.1"> - <details key="start" value="3105"/> - <details key="end" value="3110"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1"> - <details key="start" value="3121"/> - <details key="end" value="3143"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1/%"> - <details key="start" value="3122"/> - <details key="end" value="3134"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" 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.58" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1/%.1"> - <details key="start" value="3138"/> - <details key="end" value="3142"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1"> - <details key="start" value="3153"/> - <details key="end" value="3189"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%"> - <details key="start" value="3154"/> - <details key="end" value="3180"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%/%"> - <details key="start" value="3154"/> - <details key="end" value="3166"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" 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.63" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%.1"> - <details key="start" value="3184"/> - <details key="end" value="3188"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" 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.65" references="/0/defaultInitializer/%/%.1"> - <details key="start" value="2952"/> - <details key="end" value="3017"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/defaultInitializer/%/%.1/any"> - <details key="start" value="2952"/> - <details key="end" value="3010"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/defaultInitializer/%/%.1/any/%"> - <details key="start" value="2952"/> - <details key="end" value="2972"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/defaultInitializer/%/%.1/any/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/defaultInitializer/%/%.1/any/%.1"> - <details key="start" value="2978"/> - <details key="end" value="3009"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/defaultInitializer/%/%.1/any/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/defaultInitializer/%/%.1/any/%.1/%"> - <details key="start" value="2992"/> - <details key="end" value="3008"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/defaultInitializer/%/%.1/any/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/defaultInitializer/%/%.1/%"> - <details key="start" value="3013"/> - <details key="end" value="3017"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/defaultInitializer/classifier"> - <details key="start" value="1883"/> - <details key="end" value="1906"/> - <details key="line" value="35"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/defaultInitializer/%.1"> - <details key="start" value="1913"/> - <details key="end" value="1919"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/defaultInitializer/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/CppClassHeader"> - <details key="start" value="3400"/> - <details key="end" value="5608"/> - <details key="line" value="67"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/CppClassHeader/%"> - <details key="start" value="3453"/> - <details key="end" value="3461"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/CppClassHeader/%.1"> - <details key="start" value="3462"/> - <details key="end" value="3477"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/CppClassHeader/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/CppClassHeader/%.2"> - <details key="start" value="3479"/> - <details key="end" value="3490"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/CppClassHeader/%.3"> - <details key="start" value="3491"/> - <details key="end" value="3506"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/CppClassHeader/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/CppClassHeader/%.4"> - <details key="start" value="3508"/> - <details key="end" value="3588"/> - <details key="line" value="69"/> - </eAnnotations> - <eAnnotations source="positions.85" references="/0/CppClassHeader/%.5"> - <details key="start" value="3589"/> - <details key="end" value="3599"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.86" references="/0/CppClassHeader/%.5/class"> - <details key="start" value="3589"/> - <details key="end" value="3594"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.87" references="/0/CppClassHeader/%.6"> - <details key="start" value="3601"/> - <details key="end" value="3679"/> - <details key="line" value="72"/> - </eAnnotations> - <eAnnotations source="positions.88" references="/0/CppClassHeader/%.7"> - <details key="start" value="3679"/> - <details key="end" value="3856"/> - <details key="line" value="75"/> - </eAnnotations> - <eAnnotations source="positions.89" references="/0/CppClassHeader/%.7/%"> - <details key="start" value="3824"/> - <details key="end" value="3847"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.90" references="/0/CppClassHeader/%.7/%/path"> - <details key="start" value="3824"/> - <details key="end" value="3828"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.91" references="/0/CppClassHeader/%.7/%.1"> - <details key="start" value="3849"/> - <details key="end" value="3850"/> - <details key="line" value="81"/> - </eAnnotations> - <eAnnotations source="positions.92" references="/0/CppClassHeader/%.7/path"> - <details key="start" value="3685"/> - <details key="end" value="3698"/> - <details key="line" value="75"/> - </eAnnotations> - <eAnnotations source="positions.93" references="/0/CppClassHeader/%.7/%.2"> - <details key="start" value="3702"/> - <details key="end" value="3820"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.94" references="/0/CppClassHeader/%.7/%.2/%"> - <details key="start" value="3702"/> - <details key="end" value="3801"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.95" references="/0/CppClassHeader/%.7/%.2/%/%"> - <details key="start" value="3702"/> - <details key="end" value="3787"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.96" references="/0/CppClassHeader/%.7/%.2/%/%/%"> - <details key="start" value="3702"/> - <details key="end" value="3751"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/CppClassHeader/%.7/%.2/%/%/%/%/%"> - <details key="start" value="3712"/> - <details key="end" value="3749"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.98" references="/0/CppClassHeader/%.7/%.2/%/%/%/%/%/%"> - <details key="start" value="3712"/> - <details key="end" value="3720"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.99" references="/0/CppClassHeader/%.7/%.2/%/%/%/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.100" references="/0/CppClassHeader/%.7/%.2/%/%/%.1"> - <details key="start" value="3764"/> - <details key="end" value="3785"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.101" references="/0/CppClassHeader/%.7/%.2/%/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.102" references="/0/CppClassHeader/%.8"> - <details key="start" value="3857"/> - <details key="end" value="3858"/> - <details key="line" value="82"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/CppClassHeader/%.9"> - <details key="start" value="3859"/> - <details key="end" value="3877"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/CppClassHeader/%.9/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.105" references="/0/CppClassHeader/%.10"> - <details key="start" value="3879"/> - <details key="end" value="3881"/> - <details key="line" value="84"/> - </eAnnotations> - <eAnnotations source="positions.106" references="/0/CppClassHeader/%.11"> - <details key="start" value="3882"/> - <details key="end" value="3890"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/CppClassHeader/%.11/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/CppClassHeader/%.12"> - <details key="start" value="3892"/> - <details key="end" value="3958"/> - <details key="line" value="85"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/CppClassHeader/%.13"> - <details key="start" value="3959"/> - <details key="end" value="3974"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.110" references="/0/CppClassHeader/%.13/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.111" references="/0/CppClassHeader/%.14"> - <details key="start" value="3976"/> - <details key="end" value="3977"/> - <details key="line" value="89"/> - </eAnnotations> - <eAnnotations source="positions.112" references="/0/CppClassHeader/%.15"> - <details key="start" value="3978"/> - <details key="end" value="3997"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.113" references="/0/CppClassHeader/%.15/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.114" references="/0/CppClassHeader/%.16"> - <details key="start" value="4000"/> - <details key="end" value="4020"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.115" references="/0/CppClassHeader/%.16/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.116" references="/0/CppClassHeader/%.17"> - <details key="start" value="4022"/> - <details key="end" value="4023"/> - <details key="line" value="89"/> - </eAnnotations> - <eAnnotations source="positions.117" references="/0/CppClassHeader/%.18"> - <details key="start" value="4024"/> - <details key="end" value="4034"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.118" references="/0/CppClassHeader/%.18/class"> - <details key="start" value="4024"/> - <details key="end" value="4029"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.119" references="/0/CppClassHeader/%.19"> - <details key="start" value="4037"/> - <details key="end" value="4068"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.120" references="/0/CppClassHeader/%.19/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.121" references="/0/CppClassHeader/%.20"> - <details key="start" value="4070"/> - <details key="end" value="4073"/> - <details key="line" value="89"/> - </eAnnotations> - <eAnnotations source="positions.122" references="/0/CppClassHeader/%.21"> - <details key="start" value="4074"/> - <details key="end" value="4108"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.123" references="/0/CppClassHeader/%.21/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.124" references="/0/CppClassHeader/%.22"> - <details key="start" value="4111"/> - <details key="end" value="4132"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.125" references="/0/CppClassHeader/%.22/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.126" references="/0/CppClassHeader/%.23"> - <details key="start" value="4134"/> - <details key="end" value="4139"/> - <details key="line" value="91"/> - </eAnnotations> - <eAnnotations source="positions.127" references="/0/CppClassHeader/%.24"> - <details key="start" value="4140"/> - <details key="end" value="4195"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.128" references="/0/CppClassHeader/%.24/%"> - <details key="start" value="4140"/> - <details key="end" value="4162"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.129" references="/0/CppClassHeader/%.24/%.1"> - <details key="start" value="4174"/> - <details key="end" value="4194"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.130" references="/0/CppClassHeader/%.24/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.131" references="/0/CppClassHeader/%.25"> - <details key="start" value="4197"/> - <details key="end" value="4202"/> - <details key="line" value="92"/> - </eAnnotations> - <eAnnotations source="positions.132" references="/0/CppClassHeader/%.26"> - <details key="start" value="4203"/> - <details key="end" value="4291"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.133" references="/0/CppClassHeader/%.26/%"> - <details key="start" value="4203"/> - <details key="end" value="4225"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.134" references="/0/CppClassHeader/%.26/%.1"> - <details key="start" value="4237"/> - <details key="end" value="4290"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.135" references="/0/CppClassHeader/%.26/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.136" references="/0/CppClassHeader/%.26/%.1/%"> - <details key="start" value="4267"/> - <details key="end" value="4289"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.137" references="/0/CppClassHeader/%.27"> - <details key="start" value="4293"/> - <details key="end" value="4298"/> - <details key="line" value="93"/> - </eAnnotations> - <eAnnotations source="positions.138" references="/0/CppClassHeader/%.28"> - <details key="start" value="4299"/> - <details key="end" value="4387"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.139" references="/0/CppClassHeader/%.28/%"> - <details key="start" value="4299"/> - <details key="end" value="4321"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.140" references="/0/CppClassHeader/%.28/%.1"> - <details key="start" value="4333"/> - <details key="end" value="4386"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.141" references="/0/CppClassHeader/%.28/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.142" references="/0/CppClassHeader/%.28/%.1/%"> - <details key="start" value="4363"/> - <details key="end" value="4385"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.143" references="/0/CppClassHeader/%.29"> - <details key="start" value="4389"/> - <details key="end" value="4395"/> - <details key="line" value="94"/> - </eAnnotations> - <eAnnotations source="positions.144" references="/0/CppClassHeader/%.30"> - <details key="start" value="4396"/> - <details key="end" value="4490"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.145" references="/0/CppClassHeader/%.30/%"> - <details key="start" value="4396"/> - <details key="end" value="4421"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.146" references="/0/CppClassHeader/%.30/%.1"> - <details key="start" value="4433"/> - <details key="end" value="4489"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.147" references="/0/CppClassHeader/%.30/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.148" references="/0/CppClassHeader/%.30/%.1/%"> - <details key="start" value="4463"/> - <details key="end" value="4488"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.149" references="/0/CppClassHeader/%.31"> - <details key="start" value="4492"/> - <details key="end" value="4497"/> - <details key="line" value="96"/> - </eAnnotations> - <eAnnotations source="positions.150" references="/0/CppClassHeader/%.32"> - <details key="start" value="4498"/> - <details key="end" value="4592"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.151" references="/0/CppClassHeader/%.32/%"> - <details key="start" value="4498"/> - <details key="end" value="4523"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.152" references="/0/CppClassHeader/%.32/%.1"> - <details key="start" value="4535"/> - <details key="end" value="4591"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.153" references="/0/CppClassHeader/%.32/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.154" references="/0/CppClassHeader/%.32/%.1/%"> - <details key="start" value="4565"/> - <details key="end" value="4590"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.155" references="/0/CppClassHeader/%.33"> - <details key="start" value="4594"/> - <details key="end" value="4600"/> - <details key="line" value="97"/> - </eAnnotations> - <eAnnotations source="positions.156" references="/0/CppClassHeader/%.34"> - <details key="start" value="4601"/> - <details key="end" value="4691"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.157" references="/0/CppClassHeader/%.34/%"> - <details key="start" value="4601"/> - <details key="end" value="4624"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.158" references="/0/CppClassHeader/%.34/%.1"> - <details key="start" value="4636"/> - <details key="end" value="4690"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.159" references="/0/CppClassHeader/%.34/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.160" references="/0/CppClassHeader/%.34/%.1/%"> - <details key="start" value="4666"/> - <details key="end" value="4689"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.161" references="/0/CppClassHeader/%.35"> - <details key="start" value="4693"/> - <details key="end" value="4698"/> - <details key="line" value="99"/> - </eAnnotations> - <eAnnotations source="positions.162" references="/0/CppClassHeader/%.36"> - <details key="start" value="4699"/> - <details key="end" value="4789"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.163" references="/0/CppClassHeader/%.36/%"> - <details key="start" value="4699"/> - <details key="end" value="4722"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.164" references="/0/CppClassHeader/%.36/%.1"> - <details key="start" value="4734"/> - <details key="end" value="4788"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.165" references="/0/CppClassHeader/%.36/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.166" references="/0/CppClassHeader/%.36/%.1/%"> - <details key="start" value="4764"/> - <details key="end" value="4787"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.167" references="/0/CppClassHeader/%.37"> - <details key="start" value="4791"/> - <details key="end" value="4921"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.168" references="/0/CppClassHeader/%.38"> - <details key="start" value="4922"/> - <details key="end" value="4977"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.169" references="/0/CppClassHeader/%.38/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.170" references="/0/CppClassHeader/%.38/%"> - <details key="start" value="4952"/> - <details key="end" value="4976"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.171" references="/0/CppClassHeader/%.39"> - <details key="start" value="4979"/> - <details key="end" value="4980"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.172" references="/0/CppClassHeader/%.40"> - <details key="start" value="4981"/> - <details key="end" value="5036"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.173" references="/0/CppClassHeader/%.40/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.174" references="/0/CppClassHeader/%.40/%"> - <details key="start" value="5011"/> - <details key="end" value="5035"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.175" references="/0/CppClassHeader/%.41"> - <details key="start" value="5038"/> - <details key="end" value="5103"/> - <details key="line" value="105"/> - </eAnnotations> - <eAnnotations source="positions.176" references="/0/CppClassHeader/%.42"> - <details key="start" value="5103"/> - <details key="end" value="5295"/> - <details key="line" value="107"/> - </eAnnotations> - <eAnnotations source="positions.177" references="/0/CppClassHeader/%.42/%"> - <details key="start" value="5121"/> - <details key="end" value="5247"/> - <details key="line" value="108"/> - </eAnnotations> - <eAnnotations source="positions.178" references="/0/CppClassHeader/%.42/%.1"> - <details key="start" value="5248"/> - <details key="end" value="5287"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.179" references="/0/CppClassHeader/%.42/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.180" references="/0/CppClassHeader/%.42/%.1/%"> - <details key="start" value="5281"/> - <details key="end" value="5286"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.181" references="/0/CppClassHeader/%.42/%.2"> - <details key="start" value="5289"/> - <details key="end" value="5290"/> - <details key="line" value="111"/> - </eAnnotations> - <eAnnotations source="positions.182" references="/0/CppClassHeader/%.42/%.3"> - <details key="start" value="5107"/> - <details key="end" value="5119"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.183" references="/0/CppClassHeader/%.42/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.184" references="/0/CppClassHeader/%.43"> - <details key="start" value="5296"/> - <details key="end" value="5360"/> - <details key="line" value="112"/> - </eAnnotations> - <eAnnotations source="positions.185" references="/0/CppClassHeader/%.44"> - <details key="start" value="5361"/> - <details key="end" value="5399"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.186" references="/0/CppClassHeader/%.44/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.187" references="/0/CppClassHeader/%.44/%"> - <details key="start" value="5394"/> - <details key="end" value="5398"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.188" references="/0/CppClassHeader/%.45"> - <details key="start" value="5401"/> - <details key="end" value="5402"/> - <details key="line" value="115"/> - </eAnnotations> - <eAnnotations source="positions.189" references="/0/CppClassHeader/%.46"> - <details key="start" value="5403"/> - <details key="end" value="5412"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.190" references="/0/CppClassHeader/%.46/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.191" references="/0/CppClassHeader/%.47"> - <details key="start" value="5414"/> - <details key="end" value="5499"/> - <details key="line" value="116"/> - </eAnnotations> - <eAnnotations source="positions.192" references="/0/CppClassHeader/%.48"> - <details key="start" value="5500"/> - <details key="end" value="5510"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.193" references="/0/CppClassHeader/%.48/class"> - <details key="start" value="5500"/> - <details key="end" value="5505"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.194" references="/0/CppClassHeader/%.49"> - <details key="start" value="5512"/> - <details key="end" value="5596"/> - <details key="line" value="118"/> - </eAnnotations> - <eAnnotations source="positions.195" references="/0/CppClassHeader/class"> - <details key="start" value="3432"/> - <details key="end" value="3450"/> - <details key="line" value="67"/> - </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 deleted file mode 100644 index b89a0c84e7e..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl +++ /dev/null @@ -1,122 +0,0 @@ -[module CppClassHeader('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1', 'http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard')/] -[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/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassTypeAndEnum/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassInheritedDeclarations/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsDeclaration/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] - -[template public classUnionOrStruct(classifier : Classifier)] -[if (hasStereotype(C_Cpp::Union))] - 'union' -[else] - [if (oclIsKindOf(DataType))] - [VisibilityKind::public.resetVisibility()/] - struct - [else] - [VisibilityKind::private.resetVisibility()/] - class - [/if] -[/if] -[/template] - -[comment default initializer for non-static attributes with a default value -TODO: should be disabled by default, since non-static members can be initialized directly -in C++ 011/] -[template public defaultInitializer(classifier : Classifier) post(trim())] -[comment -Bug 422373: The default initializer should not be generated if there are any user-defined - constructors. In plain C++ code, the existence of a constructor with parameters - means that the compiler will not synthesize a default one. - - E.g., this would be invalid in plain C++ code: - class T1 { }; - class T2 { public: T(int); }; - T1 * t1 = new T1; // OK, sythesized default constructor used - T2 * t2a = new T2(5); // OK, user-defined constructor used - T2 * t2b = new T2; // ERROR, default constructor was not synthesized - - Also, if the user has provided a default constructor in the code, we don't need - to generate a second copy here. A default constructor should only be generated - here if the compiler would have synthesized one anyhow. Otherwise the default - property values should be set in the constructors that are generated by - CppClassOperationsDeclaration. -/] -[if getOwnedOperations()->any(hasStereotype(standard::Create)) = null] - [let attributeList : OrderedSet(Property) = attribute->select( - (isStatic = false) and - (defaultValue <> null) and - (defaultValue.stringValue() <> null))] - [if not attributeList->isEmpty()] - [classifier.name/]() : [for (a : Property | attributeList) separator(', ') - ][name/]([defaultValue.stringValue()/])[/for] {} - [/if][/let] -[/if] -[/template] - - -[template public CppClassHeader(class : Classifier)] -#ifndef [getFullNameUC()/]_H -#define [getFullNameUC()/]_H - -/************************************************************ - [class.name/] class header - ************************************************************/ - -[for (path : String | - Sequence{ _package.cppOwnerPackageIncludePath() } - ->addAll( CppClassAllIncludes() ) - ->flatten() - ->asOrderedSet())] -[path.IncludeDirective()/] -[/for] - -[CppIncludeHeader()/] - -[openNS()/] - -/************************************************************/ -[CppElementDoc()/] -[templateSignature()/][classUnionOrStruct()/] [class.name/][CppClassInheritedDeclarations()/] { -[CppClassIncludeFriendDeclaration()/][CppClassTypeAndEnum()/] - [VisibilityKind::public.getSection(defaultInitializer())/] - [VisibilityKind::public.getSection(CppClassAttributesDeclaration(VisibilityKind::public))/] - [VisibilityKind::public.getSection(CppClassOperationsDeclaration(VisibilityKind::public))/] - - [VisibilityKind::protected.getSection(CppClassAttributesDeclaration(VisibilityKind::protected))/] - [VisibilityKind::protected.getSection(CppClassOperationsDeclaration(VisibilityKind::protected))/] - - [VisibilityKind::private.getSection(CppClassAttributesDeclaration(VisibilityKind::private))/] - [VisibilityKind::private.getSection(CppClassOperationsDeclaration(VisibilityKind::private))/] -}; -/************************************************************/ -/* External declarations (package visibility) */ -[CppClassAttributesDeclaration(VisibilityKind::_package)/] -[CppClassOperationsDeclaration(VisibilityKind::_package)/] -/************************************************************/ - -[if isTemplate()] -/************************************************************/ -/* Template functions */ -[CppClassOperationsImplementation(false)/] -[/if] - -/* Inline functions */ -[CppClassOperationsImplementation(true)/] -[closeNS()/] - -/************************************************************ - End of [class.name/] class header - ************************************************************/ - -#endif -[/template] 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 deleted file mode 100644 index b32aedf7db3..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl +++ /dev/null @@ -1,1253 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="Constants.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeHeader" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> - <argument xsi:type="ocl.ecore:VariableExp" name="header" referredVariable="/0/CppIncludeHeader/%/%/header"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </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/5.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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> - <argument xsi:type="ocl.ecore:VariableExp" name="_body" referredVariable="/0/CppIncludeBody/%/%/_body"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </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/5.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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> - <argument xsi:type="ocl.ecore:VariableExp" name="preBody" referredVariable="/0/CppIncludePreBody/%/%/preBody"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </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/5.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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="IncludeDirective" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include ""/> - <body xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/IncludeDirective/path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </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="path" referredVariable="/0/IncludeDirective/path"> - <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="path" referredVariable="/0/IncludeDirective/path"> - <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> - <parameter name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </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/5.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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="IncludeDirective"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/IncludeDirective"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="str"> - <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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="ocl.ecore:PrimitiveType" 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="ocl.ecore:PrimitiveType" 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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.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> - <eAnnotations source="positions.96" references="/0/IncludeDirective"> - <details key="start" value="1245"/> - <details key="end" value="1373"/> - <details key="line" value="36"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/IncludeDirective/%"> - <details key="start" value="1295"/> - <details key="end" value="1361"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.98" references="/0/IncludeDirective/%/%"> - <details key="start" value="1337"/> - <details key="end" value="1347"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.99" references="/0/IncludeDirective/%/path"> - <details key="start" value="1348"/> - <details key="end" value="1352"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.100" references="/0/IncludeDirective/%/%.1"> - <details key="start" value="1354"/> - <details key="end" value="1356"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.101" references="/0/IncludeDirective/%/%.2"> - <details key="start" value="1299"/> - <details key="end" value="1335"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.102" references="/0/IncludeDirective/%/%.2/%"> - <details key="start" value="1299"/> - <details key="end" value="1313"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/IncludeDirective/%/%.2/%/path"> - <details key="start" value="1300"/> - <details key="end" value="1304"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/IncludeDirective/%/%.2/%/%"> - <details key="start" value="1308"/> - <details key="end" value="1312"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.105" references="/0/IncludeDirective/%/%.2/%.1"> - <details key="start" value="1318"/> - <details key="end" value="1335"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.106" references="/0/IncludeDirective/%/%.2/%.1/%"> - <details key="start" value="1319"/> - <details key="end" value="1330"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/IncludeDirective/%/%.2/%.1/%/path"> - <details key="start" value="1319"/> - <details key="end" value="1323"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/IncludeDirective/%/%.2/%.1/%.1"> - <details key="start" value="1333"/> - <details key="end" value="1334"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/IncludeDirective/path"> - <details key="start" value="1279"/> - <details key="end" value="1292"/> - <details key="line" value="36"/> - </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 deleted file mode 100644 index 4c6f033928d..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.mtl +++ /dev/null @@ -1,40 +0,0 @@ -[comment encoding = UTF-8 /] -[module CppIncludeUtils('http://www.eclipse.org/uml2/5.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)] -[if (hasStereotype(C_Cpp::Include))] -[let header : String = getApplication(C_Cpp::Include).oclAsType(C_Cpp::Include).header] -[if (header <> null) and (header.size() > 0)] -[constIncludeHeaderStart()/] -[header.cleanCR()/] -[constIncludeHeaderEnd()/] -[/if][/let][/if] -[/template] - -[template public CppIncludeBody(ne : NamedElement)] -[if (hasStereotype(C_Cpp::Include))] -[let _body : String = getApplication(C_Cpp::Include).oclAsType(C_Cpp::Include)._body] -[if (_body <> null) and (_body.size() > 0)] -[constIncludeBodyStart()/] -[_body.cleanCR()/] -[constIncludeBodyEnd()/] -[/if][/let][/if] -[/template] - -[template public CppIncludePreBody(ne : NamedElement)] -[if (hasStereotype(C_Cpp::Include))] -[let preBody : String = getApplication(C_Cpp::Include).oclAsType(C_Cpp::Include).preBody] -[if (preBody <> null) and (preBody.size() > 0)] -[constIncludePreBodyStart()/] -[preBody.cleanCR()/] -[constIncludePreBodyEnd()/] -[/if][/let][/if] -[/template] - -[template public IncludeDirective(path : String)] -[if (path <> null) and (path.size() > 0)] -#include "[path/]" -[/if] -[/template] 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 deleted file mode 100644 index 55fc473da7a..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl +++ /dev/null @@ -1,749 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../utils/CppGenUtils.emtl#/0"/> - <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> - <imports href="Constants.emtl#/0"/> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Package"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="CppIncludeUtils.emtl#/0/IncludeDirective"/> - <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="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/cppOwnerPackageIncludePath"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Package"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestingPackage"/> - </argument> - </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="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/IncludeDirective"/> - <argument 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"> - <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="self" referredVariable="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </argument> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <iterSet xsi:type="mtl:QueryInvocation" eType="/10/Sequence(Package)"> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/16"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/21"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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> - <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="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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Package)"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="IncludeDirective"> - <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/IncludeDirective"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="cppOwnerPackageIncludePath"> - <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/cppOwnerPackageIncludePath"/> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Package"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="1692"/> - <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="1110"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/CppPackageHeader/%.7/%"> - <details key="start" value="1048"/> - <details key="end" value="1091"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/CppPackageHeader/%.7/%/%"> - <details key="start" value="1048"/> - <details key="end" value="1062"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/CppPackageHeader/%.7/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppPackageHeader/%.8"> - <details key="start" value="1112"/> - <details key="end" value="1287"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppPackageHeader/%.9"> - <details key="start" value="1287"/> - <details key="end" value="1399"/> - <details key="line" value="37"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppPackageHeader/%.9/%"> - <details key="start" value="1314"/> - <details key="end" value="1390"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppPackageHeader/%.9/%/%"> - <details key="start" value="1332"/> - <details key="end" value="1388"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppPackageHeader/%.9/%/%/%"> - <details key="start" value="1332"/> - <details key="end" value="1368"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppPackageHeader/%.9/%/%/%/%"> - <details key="start" value="1332"/> - <details key="end" value="1362"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppPackageHeader/%.9/%/%/%/%/%"> - <details key="start" value="1332"/> - <details key="end" value="1355"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppPackageHeader/%.9/%/%/%/%/%/%"> - <details key="start" value="1332"/> - <details key="end" value="1345"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppPackageHeader/%.9/%/%/%/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppPackageHeader/%.9/%/%/%/%/%/%.1"> - <details key="start" value="1348"/> - <details key="end" value="1355"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppPackageHeader/%.9/%/%/%/%/%.1"> - <details key="start" value="1358"/> - <details key="end" value="1362"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" 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.27" references="/0/CppPackageHeader/%.9/%/%/%/%.1"> - <details key="start" value="1365"/> - <details key="end" value="1368"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppPackageHeader/%.9/%/%/%.1"> - <details key="start" value="1371"/> - <details key="end" value="1388"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" 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.30" references="/0/CppPackageHeader/%.9/%.1"> - <details key="start" value="1392"/> - <details key="end" value="1393"/> - <details key="line" value="39"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppPackageHeader/%.9/%.2"> - <details key="start" value="1293"/> - <details key="end" value="1310"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppPackageHeader/%.9/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppPackageHeader/%.10"> - <details key="start" value="1400"/> - <details key="end" value="1401"/> - <details key="line" value="40"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppPackageHeader/%.11"> - <details key="start" value="1402"/> - <details key="end" value="1420"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppPackageHeader/%.11/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppPackageHeader/%.12"> - <details key="start" value="1422"/> - <details key="end" value="1424"/> - <details key="line" value="42"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppPackageHeader/%.13"> - <details key="start" value="1425"/> - <details key="end" value="1433"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppPackageHeader/%.13/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppPackageHeader/%.14"> - <details key="start" value="1435"/> - <details key="end" value="1436"/> - <details key="line" value="44"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppPackageHeader/%.15"> - <details key="start" value="1437"/> - <details key="end" value="1451"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppPackageHeader/%.15/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppPackageHeader/%.16"> - <details key="start" value="1453"/> - <details key="end" value="1454"/> - <details key="line" value="45"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppPackageHeader/%.17"> - <details key="start" value="1455"/> - <details key="end" value="1483"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/CppPackageHeader/%.17/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppPackageHeader/%.18"> - <details key="start" value="1485"/> - <details key="end" value="1486"/> - <details key="line" value="46"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppPackageHeader/%.19"> - <details key="start" value="1487"/> - <details key="end" value="1496"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppPackageHeader/%.19/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppPackageHeader/%.20"> - <details key="start" value="1498"/> - <details key="end" value="1587"/> - <details key="line" value="47"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppPackageHeader/%.21"> - <details key="start" value="1588"/> - <details key="end" value="1592"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppPackageHeader/%.21/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppPackageHeader/%.22"> - <details key="start" value="1594"/> - <details key="end" value="1680"/> - <details key="line" value="49"/> - </eAnnotations> - <eAnnotations source="positions.52" 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 deleted file mode 100644 index cca687e2f9e..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.mtl +++ /dev/null @@ -1,53 +0,0 @@ -[module CppPackageHeader('http://www.eclipse.org/uml2/5.0.0/UML')/] -[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/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeClassDeclaration/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassTypeAndEnum/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassFriendDeclaration/] - - -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] - - -[template public CppPackageHeader(pkg : Package)] -#ifndef PKG_[getFullNameUC()/] -#define PKG_[getFullNameUC()/] - -/************************************************************ - Pkg_[name/] package header - ************************************************************/ - -[nestingPackage.cppOwnerPackageIncludePath().IncludeDirective()/] - -#ifndef _IN_ -#define _IN_ -#endif -#ifndef _OUT_ -#define _OUT_ -#endif -#ifndef _INOUT_ -#define _INOUT_ -#endif - - -/* Package dependency header include */ -[for (getUsedPackages())] -[IncludeDirective( getFullPath() + '/Pkg_' + name + '.' + getHeaderSuffix() )/] -[/for] - -[CppIncludeHeader()/] - -[openNS()/] -[packageTypes()/] -[CppClassTypeAndEnumPackage()/] -[closeNS()/] - -/************************************************************ - End of Pkg_[name/] package header - ************************************************************/ - -#endif -[/template] 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 deleted file mode 100644 index 03689dcf0f3..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl +++ /dev/null @@ -1,1702 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../utils/CppGenUtils.emtl#/0"/> - <imports href="../../utils/Modifier.emtl#/0"/> - <imports href="../Constants.emtl#/0"/> - <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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/defaultValue"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Feature/isStatic"/> - </ifExpr> - </body> - <parameter name="attribute"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="/22"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/23"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/25"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/28"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/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/5.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="/33"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="/36"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/37"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/39"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="/44"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="/46"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/47"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/class"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/50"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/51"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1419" endPosition="1507" value="
return a list of owned attributes, since this is not supported directly on a classifier"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getOwnedAttributes" visibility="Public" type="/3/Sequence(Property)"> - <parameter name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <expression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Property)"> - <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="cl" referredVariable="/0/getOwnedAttributes/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </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="/3/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier/ownedAttribute"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Property)"> - <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="cl" referredVariable="/0/getOwnedAttributes/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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:PropertyCallExp" eType="/3/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType/ownedAttribute"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Property)"> - <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="cl" referredVariable="/0/getOwnedAttributes/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Interface"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </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="/3/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Interface"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface/ownedAttribute"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Property)"> - <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="cl" referredVariable="/0/getOwnedAttributes/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Signal"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </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="/3/OrderedSet(Property)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Signal"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal/ownedAttribute"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(OclVoid)" kind="Sequence"/> - </elseExpression> - </elseExpression> - </elseExpression> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1964" endPosition="2103" 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="/59"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/63"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/62"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/62"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/26/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="mtl:QueryInvocation" eType="/3/Sequence(Property)" definition="/0/getOwnedAttributes"> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/60"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </iterSet> - </body> - <parameter name="classifier"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Property"/> - </eParameters> - </eOperations> - <eOperations name="getOwnedAttributes" eType="/3/Sequence(Property)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getOwnedAttributes"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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/5.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/5.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/5.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/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="modCVQualifier"> - <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/modCVQualifier"/> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Property)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Property)" instanceClassName="java.util.LinkedHashSet"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclVoid)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(Property)"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Interface"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Signal"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Signal"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="968"/> - <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="808"/> - <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="811"/> - <details key="end" value="844"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppAttributeDeclaration/%.4/%"> - <details key="start" value="811"/> - <details key="end" value="825"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppAttributeDeclaration/%.4/%/attribute"> - <details key="start" value="811"/> - <details key="end" value="820"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppAttributeDeclaration/%.5"> - <details key="start" value="847"/> - <details key="end" value="855"/> - <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="858"/> - <details key="end" value="866"/> - <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="868"/> - <details key="end" value="869"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppAttributeDeclaration/%.8"> - <details key="start" value="870"/> - <details key="end" value="884"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppAttributeDeclaration/%.8/attribute"> - <details key="start" value="870"/> - <details key="end" value="879"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppAttributeDeclaration/%.9"> - <details key="start" value="887"/> - <details key="end" value="897"/> - <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="899"/> - <details key="end" value="955"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppAttributeDeclaration/%.10/%"> - <details key="start" value="934"/> - <details key="end" value="948"/> - <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="903"/> - <details key="end" value="932"/> - <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="918"/> - <details key="end" value="930"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppAttributeDeclaration/%.11"> - <details key="start" value="955"/> - <details key="end" value="956"/> - <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="971"/> - <details key="end" value="1180"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppAttributeImplementation/%"> - <details key="start" value="1038"/> - <details key="end" value="1039"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppAttributeImplementation/%.1"> - <details key="start" value="1040"/> - <details key="end" value="1055"/> - <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="1057"/> - <details key="end" value="1059"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppAttributeImplementation/%.3"> - <details key="start" value="1060"/> - <details key="end" value="1076"/> - <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="1079"/> - <details key="end" value="1112"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppAttributeImplementation/%.4/%"> - <details key="start" value="1079"/> - <details key="end" value="1093"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppAttributeImplementation/%.4/%/attribute"> - <details key="start" value="1079"/> - <details key="end" value="1088"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppAttributeImplementation/%.5"> - <details key="start" value="1115"/> - <details key="end" value="1123"/> - <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="1126"/> - <details key="end" value="1134"/> - <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="1136"/> - <details key="end" value="1137"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppAttributeImplementation/%.8"> - <details key="start" value="1138"/> - <details key="end" value="1152"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppAttributeImplementation/%.8/attribute"> - <details key="start" value="1138"/> - <details key="end" value="1147"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppAttributeImplementation/%.9"> - <details key="start" value="1155"/> - <details key="end" value="1165"/> - <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="1167"/> - <details key="end" value="1168"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppAttributeImplementation/attribute"> - <details key="start" value="1015"/> - <details key="end" value="1035"/> - <details key="line" value="25"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/CppStaticAttributeImplementation"> - <details key="start" value="1182"/> - <details key="end" value="1408"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/CppStaticAttributeImplementation/%"> - <details key="start" value="1256"/> - <details key="end" value="1271"/> - <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="1273"/> - <details key="end" value="1274"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/CppStaticAttributeImplementation/%.2"> - <details key="start" value="1275"/> - <details key="end" value="1298"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/CppStaticAttributeImplementation/%.2/%"> - <details key="start" value="1275"/> - <details key="end" value="1279"/> - <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="1301"/> - <details key="end" value="1309"/> - <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="1312"/> - <details key="end" value="1320"/> - <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="1322"/> - <details key="end" value="1323"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/CppStaticAttributeImplementation/%.6"> - <details key="start" value="1324"/> - <details key="end" value="1344"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/CppStaticAttributeImplementation/%.6/%"> - <details key="start" value="1324"/> - <details key="end" value="1339"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/CppStaticAttributeImplementation/%.6/%/attribute"> - <details key="start" value="1324"/> - <details key="end" value="1333"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/CppStaticAttributeImplementation/%.7"> - <details key="start" value="1346"/> - <details key="end" value="1348"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.85" references="/0/CppStaticAttributeImplementation/%.8"> - <details key="start" value="1349"/> - <details key="end" value="1363"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.86" references="/0/CppStaticAttributeImplementation/%.8/attribute"> - <details key="start" value="1349"/> - <details key="end" value="1358"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.87" references="/0/CppStaticAttributeImplementation/%.9"> - <details key="start" value="1366"/> - <details key="end" value="1376"/> - <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="1379"/> - <details key="end" value="1393"/> - <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="1395"/> - <details key="end" value="1396"/> - <details key="line" value="32"/> - </eAnnotations> - <eAnnotations source="positions.92" references="/0/CppStaticAttributeImplementation/attribute"> - <details key="start" value="1232"/> - <details key="end" value="1252"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.93" references="/0/%"> - <details key="start" value="1411"/> - <details key="end" value="1509"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.94" references="/0/getOwnedAttributes"> - <details key="start" value="1510"/> - <details key="end" value="1953"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.95" references="/0/getOwnedAttributes/cl"> - <details key="start" value="1543"/> - <details key="end" value="1558"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.96" references="/0/getOwnedAttributes/%"> - <details key="start" value="1584"/> - <details key="end" value="1950"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/getOwnedAttributes/%/%"> - <details key="start" value="1587"/> - <details key="end" value="1608"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.98" references="/0/getOwnedAttributes/%/%/cl"> - <details key="start" value="1587"/> - <details key="end" value="1589"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.99" references="/0/getOwnedAttributes/%/%/%"> - <details key="start" value="1602"/> - <details key="end" value="1607"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.100" references="/0/getOwnedAttributes/%/%.1"> - <details key="start" value="1616"/> - <details key="end" value="1647"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.101" references="/0/getOwnedAttributes/%/%.1/%"> - <details key="start" value="1616"/> - <details key="end" value="1632"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.102" references="/0/getOwnedAttributes/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/getOwnedAttributes/%/%.1/%/%"> - <details key="start" value="1626"/> - <details key="end" value="1631"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/getOwnedAttributes/%/%.2"> - <details key="start" value="1656"/> - <details key="end" value="1943"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.105" references="/0/getOwnedAttributes/%/%.2/%"> - <details key="start" value="1659"/> - <details key="end" value="1683"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.106" references="/0/getOwnedAttributes/%/%.2/%/cl"> - <details key="start" value="1659"/> - <details key="end" value="1661"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/getOwnedAttributes/%/%.2/%/%"> - <details key="start" value="1674"/> - <details key="end" value="1682"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/getOwnedAttributes/%/%.2/%.1"> - <details key="start" value="1692"/> - <details key="end" value="1726"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/getOwnedAttributes/%/%.2/%.1/%"> - <details key="start" value="1692"/> - <details key="end" value="1711"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.110" references="/0/getOwnedAttributes/%/%.2/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.111" references="/0/getOwnedAttributes/%/%.2/%.1/%/%"> - <details key="start" value="1702"/> - <details key="end" value="1710"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.112" references="/0/getOwnedAttributes/%/%.2/%.2"> - <details key="start" value="1737"/> - <details key="end" value="1935"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.113" references="/0/getOwnedAttributes/%/%.2/%.2/%"> - <details key="start" value="1740"/> - <details key="end" value="1765"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.114" references="/0/getOwnedAttributes/%/%.2/%.2/%/cl"> - <details key="start" value="1740"/> - <details key="end" value="1742"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.115" references="/0/getOwnedAttributes/%/%.2/%.2/%/%"> - <details key="start" value="1755"/> - <details key="end" value="1764"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.116" references="/0/getOwnedAttributes/%/%.2/%.2/%.1"> - <details key="start" value="1775"/> - <details key="end" value="1810"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.117" references="/0/getOwnedAttributes/%/%.2/%.2/%.1/%"> - <details key="start" value="1775"/> - <details key="end" value="1795"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.118" references="/0/getOwnedAttributes/%/%.2/%.2/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.119" references="/0/getOwnedAttributes/%/%.2/%.2/%.1/%/%"> - <details key="start" value="1785"/> - <details key="end" value="1794"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.120" references="/0/getOwnedAttributes/%/%.2/%.2/%.2"> - <details key="start" value="1823"/> - <details key="end" value="1926"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.121" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%"> - <details key="start" value="1826"/> - <details key="end" value="1848"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.122" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%/cl"> - <details key="start" value="1826"/> - <details key="end" value="1828"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.123" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%/%"> - <details key="start" value="1841"/> - <details key="end" value="1847"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.124" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%.1"> - <details key="start" value="1859"/> - <details key="end" value="1891"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.125" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%.1/%"> - <details key="start" value="1859"/> - <details key="end" value="1876"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.126" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.127" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%.1/%/%"> - <details key="start" value="1869"/> - <details key="end" value="1875"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.128" references="/0/getOwnedAttributes/%/%.2/%.2/%.2/%.2"> - <details key="start" value="1906"/> - <details key="end" value="1916"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.129" references="/0/%.1"> - <details key="start" value="1956"/> - <details key="end" value="2105"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.130" references="/0/CppStaticAttributes"> - <details key="start" value="2107"/> - <details key="end" value="2344"/> - <details key="line" value="62"/> - </eAnnotations> - <eAnnotations source="positions.131" references="/0/CppStaticAttributes/%"> - <details key="start" value="2171"/> - <details key="end" value="2194"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.132" references="/0/CppStaticAttributes/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.133" references="/0/CppStaticAttributes/%.1"> - <details key="start" value="2196"/> - <details key="end" value="2197"/> - <details key="line" value="64"/> - </eAnnotations> - <eAnnotations source="positions.134" references="/0/CppStaticAttributes/%.2"> - <details key="start" value="2197"/> - <details key="end" value="2332"/> - <details key="line" value="64"/> - </eAnnotations> - <eAnnotations source="positions.135" references="/0/CppStaticAttributes/%.2/%"> - <details key="start" value="2227"/> - <details key="end" value="2325"/> - <details key="line" value="65"/> - </eAnnotations> - <eAnnotations source="positions.136" references="/0/CppStaticAttributes/%.2/%/%"> - <details key="start" value="2281"/> - <details key="end" value="2315"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.137" references="/0/CppStaticAttributes/%.2/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.138" references="/0/CppStaticAttributes/%.2/%/%.1"> - <details key="start" value="2317"/> - <details key="end" value="2319"/> - <details key="line" value="67"/> - </eAnnotations> - <eAnnotations source="positions.139" references="/0/CppStaticAttributes/%.2/%/%.2"> - <details key="start" value="2230"/> - <details key="end" value="2278"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.140" references="/0/CppStaticAttributes/%.2/%/%.2/%"> - <details key="start" value="2231"/> - <details key="end" value="2239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.141" 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.142" references="/0/CppStaticAttributes/%.2/%/%.2/%.1"> - <details key="start" value="2244"/> - <details key="end" value="2277"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.143" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%"> - <details key="start" value="2249"/> - <details key="end" value="2276"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.144" 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.145" references="/0/CppStaticAttributes/%.2/%/%.2/%.1/%/%"> - <details key="start" value="2263"/> - <details key="end" value="2275"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.146" references="/0/CppStaticAttributes/%.2/%.1"> - <details key="start" value="2203"/> - <details key="end" value="2223"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.147" references="/0/CppStaticAttributes/%.2/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.148" references="/0/CppStaticAttributes/classifier"> - <details key="start" value="2144"/> - <details key="end" value="2167"/> - <details key="line" value="62"/> - </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 deleted file mode 100644 index d94e14d709b..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.mtl +++ /dev/null @@ -1,71 +0,0 @@ -[module CppAttribute('http://www.eclipse.org/uml2/5.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/] - - -[template public defaultValue(attribute : Property)] -[if (defaultValue <> null) and isStatic] = [attribute.defaultValue.stringValue()/][/if] -[/template] - - -[template public staticValue(attribute : Property)] -[if (attribute.isStatic)]static [/if] -[/template] - - -[template public CppAttributeDeclaration(attribute : Property)] -[CppElementDoc()/] -[staticValue()/][modCVQualifier()/][attribute.type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/][if (hasStereotype(C_Cpp::Const))][defaultValue()/][/if]; -[/template] - - -[template public CppAttributeImplementation(attribute : Property)] - [CppElementDoc()/] - [modCVQualifier()/][attribute.type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.name/][modArray()/]; -[/template] - -[template public CppStaticAttributeImplementation(attribute : Property)] -[CppElementDoc()/] -[type.cppQualifiedName()/][modPtr()/][modRef()/] [attribute.class.name/]::[attribute.name/][modArray()/][defaultValue()/]; -[/template] - - -[comment -return a list of owned attributes, since this is not supported directly on a classifier/] -[query public getOwnedAttributes(cl : Classifier) : Sequence(Property) = - if cl.oclIsKindOf(Class) then - oclAsType(Class).ownedAttribute - else - if cl.oclIsKindOf(DataType) then - oclAsType(DataType).ownedAttribute - else - if cl.oclIsKindOf(Interface) then - oclAsType(Interface).ownedAttribute - else - if cl.oclIsKindOf(Signal) then - oclAsType(Signal).ownedAttribute - else - Sequence{} - endif - endif - endif - endif -/] - - -[comment -Loop over attributes. Check that the attribute is not a static const. -Constant static attributes are declared within the class declaration/] -[template public CppStaticAttributes(classifier : Classifier)] -[constStaticAttributes()/] -[for (getOwnedAttributes())] - [if(isStatic and (not hasStereotype(C_Cpp::Const)))] -[CppStaticAttributeImplementation()/] - - [/if] -[/for] -[/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 deleted file mode 100644 index 6dad5303306..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.emtl +++ /dev/null @@ -1,645 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Template" name="CppElementDoc" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**
 * "/> - <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/replaceAll"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorDoc" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/**
 * "/> - <body xsi:type="ocl.ecore:OperationCallExp" 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 * "/> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParamDoc"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </argument> - </body> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/12/OrderedSet(Parameter)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior/ownedParameter"/> - </iterSet> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 */"/> - <parameter name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppParamDoc" visibility="Public"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@param "/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppBehaviorDoc"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppBehaviorDoc"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - </eOperations> - <eOperations name="CppParamDoc"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getComments"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Package"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/CppBehaviorDoc"> - <details key="start" value="414"/> - <details key="end" value="581"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppBehaviorDoc/%"> - <details key="start" value="468"/> - <details key="end" value="475"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppBehaviorDoc/%.1"> - <details key="start" value="476"/> - <details key="end" value="515"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppBehaviorDoc/%.1/%"> - <details key="start" value="476"/> - <details key="end" value="489"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppBehaviorDoc/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppBehaviorDoc/%.1/%.1"> - <details key="start" value="501"/> - <details key="end" value="505"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppBehaviorDoc/%.1/%.2"> - <details key="start" value="507"/> - <details key="end" value="514"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppBehaviorDoc/%.2"> - <details key="start" value="517"/> - <details key="end" value="521"/> - <details key="line" value="23"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppBehaviorDoc/%.3"> - <details key="start" value="521"/> - <details key="end" value="565"/> - <details key="line" value="23"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppBehaviorDoc/%.3/%"> - <details key="start" value="544"/> - <details key="end" value="557"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppBehaviorDoc/%.3/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppBehaviorDoc/%.3/%.1"> - <details key="start" value="527"/> - <details key="end" value="541"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppBehaviorDoc/%.3/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppBehaviorDoc/%.4"> - <details key="start" value="565"/> - <details key="end" value="569"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppBehaviorDoc/behavior"> - <details key="start" value="446"/> - <details key="end" value="465"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppParamDoc"> - <details key="start" value="584"/> - <details key="end" value="709"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppParamDoc/%"> - <details key="start" value="637"/> - <details key="end" value="644"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppParamDoc/%.1"> - <details key="start" value="645"/> - <details key="end" value="649"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppParamDoc/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppParamDoc/%.2"> - <details key="start" value="651"/> - <details key="end" value="652"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/CppParamDoc/%.3"> - <details key="start" value="653"/> - <details key="end" value="695"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppParamDoc/%.3/%"> - <details key="start" value="653"/> - <details key="end" value="666"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppParamDoc/%.3/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppParamDoc/%.3/%.1"> - <details key="start" value="678"/> - <details key="end" value="682"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppParamDoc/%.3/%.2"> - <details key="start" value="684"/> - <details key="end" value="694"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppParamDoc/parameter"> - <details key="start" value="613"/> - <details key="end" value="634"/> - <details key="line" value="28"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl deleted file mode 100644 index c20f8ae17bf..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppDocumentation.mtl +++ /dev/null @@ -1,30 +0,0 @@ -[module CppDocumentation('http://www.eclipse.org/uml2/5.0.0/UML')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] - - -[template public CppElementDoc(argument : Element)] -/** - * [getComments().replaceAll('\n', '\n * ')/] - */ -[/template] - - -[template public CppOperationDoc(operation : Operation)] -/** - * [getComments().replaceAll('\n', '\n * ')/] - * [for (ownedParameter)][CppParamDoc()/][/for] - */ -[/template] - - -[template public CppBehaviorDoc(behavior : Behavior)] -/** - * [getComments().replaceAll('\n', '\n * ')/] - * [for (ownedParameter)][CppParamDoc()/][/for] - */ -[/template] - - -[template public CppParamDoc(parameter : Parameter)] -@param [name/] [getComments().replaceAll('\n', '\n * ')/] -[/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl deleted file mode 100644 index 9e348de6a52..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.emtl +++ /dev/null @@ -1,450 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="CppDocumentation.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Template" name="CppEnumerationDefinition" visibility="Public"> - <body xsi:type="mtl:TemplateInvocation"> - <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/5.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/5.0.0/UML#//Enumeration"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//EnumerationLiteral"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Enumeration"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Enumeration"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Enumeration"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//EnumerationLiteral"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Enumeration"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//EnumerationLiteral"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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 deleted file mode 100644 index f66666b9517..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppEnumerations.mtl +++ /dev/null @@ -1,14 +0,0 @@ -[module CppEnumerations('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] - -[template public CppEnumerationDefinition(enum : Enumeration)] -[CppElementDoc()/] -enum [enum.name/] { -[for (ownedLiteral)] - [CppElementDoc()/] - [name/][if hasStereotype(CppInit)] = [getApplication(CppInit).oclAsType(CppInit).value/][/if], -[/for] -}; - -[/template] 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 deleted file mode 100644 index 14bdcb4745a..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.emtl +++ /dev/null @@ -1,584 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../utils/CppGenUtils.emtl#/0"/> - <imports href="CppDocumentation.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Comment"> - <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/5.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: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:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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:TypeExp" eType="/7/String"> - <referredType 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/OclAny_Class/oclAsType"/> - </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/5.0.0/UML#//PrimitiveType"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//PrimitiveType"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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: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:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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:TypeExp" eType="/7/String"> - <referredType 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/OclAny_Class/oclAsType"/> - </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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//PrimitiveType"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="String"> - <referredType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="1573"/> - <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="1561"/> - <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="1382"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%"> - <details key="start" value="1268"/> - <details key="end" value="1339"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%"> - <details key="start" value="1268"/> - <details key="end" value="1321"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%"> - <details key="start" value="1268"/> - <details key="end" value="1310"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/%"> - <details key="start" value="1268"/> - <details key="end" value="1291"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" 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.13" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%/%/%/%"> - <details key="start" value="1283"/> - <details key="end" value="1290"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" 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.15" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%/%.1"> - <details key="start" value="1332"/> - <details key="end" value="1338"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.1"> - <details key="start" value="1351"/> - <details key="end" value="1361"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2"> - <details key="start" value="1363"/> - <details key="end" value="1381"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppPrimitiveTypeDefinition/%.2/%.1/%.2/primitiveType"> - <details key="start" value="1363"/> - <details key="end" value="1376"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppPrimitiveTypeDefinition/%.2/%.2"> - <details key="start" value="1386"/> - <details key="end" value="1516"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%"> - <details key="start" value="1489"/> - <details key="end" value="1490"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1"> - <details key="start" value="1491"/> - <details key="end" value="1509"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.1/primitiveType"> - <details key="start" value="1491"/> - <details key="end" value="1504"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2"> - <details key="start" value="1390"/> - <details key="end" value="1488"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%"> - <details key="start" value="1395"/> - <details key="end" value="1487"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%"> - <details key="start" value="1395"/> - <details key="end" value="1466"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%"> - <details key="start" value="1395"/> - <details key="end" value="1448"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%"> - <details key="start" value="1395"/> - <details key="end" value="1437"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%"> - <details key="start" value="1395"/> - <details key="end" value="1418"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" 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.30" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%/%"> - <details key="start" value="1410"/> - <details key="end" value="1417"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%/%/%.1"> - <details key="start" value="1429"/> - <details key="end" value="1436"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%/%.1"> - <details key="start" value="1459"/> - <details key="end" value="1465"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppPrimitiveTypeDefinition/%.2/%.2/%.2/%/%.1"> - <details key="start" value="1476"/> - <details key="end" value="1486"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppPrimitiveTypeDefinition/%.2/%.3"> - <details key="start" value="1516"/> - <details key="end" value="1518"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppPrimitiveTypeDefinition/%.2/%.4"> - <details key="start" value="1233"/> - <details key="end" value="1257"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" 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.37" references="/0/CppPrimitiveTypeDefinition/%.2/%.4/%"> - <details key="start" value="1248"/> - <details key="end" value="1255"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppPrimitiveTypeDefinition/%.2/%.5"> - <details key="start" value="1518"/> - <details key="end" value="1556"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%"> - <details key="start" value="1526"/> - <details key="end" value="1552"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%/primitiveType"> - <details key="start" value="1538"/> - <details key="end" value="1551"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppPrimitiveTypeDefinition/%.2/%.5/%.1"> - <details key="start" value="1554"/> - <details key="end" value="1556"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.42" 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 deleted file mode 100644 index 1450157608b..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppPrimitiveTypes.mtl +++ /dev/null @@ -1,30 +0,0 @@ -[module CppPrimitiveTypes('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] -[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] - - -[comment - * 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 - */ -/] -[template public CppPrimitiveTypeDefinition(primitiveType : PrimitiveType)] -[CppElementDoc()/] -[if (hasStereotype(Typedef))] -typedef [getApplication(Typedef).oclAsType(Typedef).definition.oclAsType(String).replaceAll('typeName', primitiveType.name) - /][if (not getApplication(Typedef).oclAsType(Typedef).definition.oclAsType(String).contains('typeName'))] [primitiveType.name/][/if]; -[else] -[getStdtypes(primitiveType)/]; -[/if] -[/template] 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 deleted file mode 100644 index 3b7160af472..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.emtl +++ /dev/null @@ -1,855 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../utils/CppGenUtils.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Query" name="CppTemplateBindingParameter" visibility="Public"> - <parameter name="tps"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//LiteralInteger"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//NamedElement"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//TemplateParameterSubstitution"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//TemplateParameter"/> - </argument> - </body> - <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)"> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </argument> - </ifExpr> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateName"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameter"/> - </argument> - </body> - <iterSet xsi:type="mtl:QueryInvocation" eType="/8/Collection(TemplateParameter)"> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </argument> - </ifExpr> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateName"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateParameters"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:CollectionType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Collection(TemplateParameter)"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Package"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//LiteralInteger"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Classifier"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//TemplateParameter"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//TemplateParameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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 deleted file mode 100644 index b306948e75d..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppTemplates.mtl +++ /dev/null @@ -1,39 +0,0 @@ -[module CppTemplates('http://www.eclipse.org/uml2/5.0.0/UML')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] -[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] - - -[query public CppTemplateBindingParameter(tps : TemplateParameterSubstitution) : String = -if (tps.actual.oclIsKindOf(LiteralInteger)) then - tps.actual.oclAsType(LiteralInteger).value -else - tps.actual.oclAsType(NamedElement).name -endif -/] - -[query public isTemplate(class : Classifier) : Boolean = - getTemplateParameters()->size() > 0 -/] - - -[template public templateSignature(class : Classifier)] -[if isTemplate()] -template<[for (getTemplateParameters()) separator(', ')][getTemplateTypeName()/][/for]> -[/if] -[/template] - - -[template public templateShortSignature(class : Classifier)] -[if isTemplate()] -<[for (getTemplateParameters()) separator(', ')][getTemplateName()/][/for]> [/if] -[/template] - - -[template public templateSignature(operation : Operation)] -[owner.oclAsType(Classifier).templateSignature()/] -[/template] - - -[template public templateShortSignature(operation : Operation)] -[owner.oclAsType(Classifier).templateShortSignature()/] -[/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl deleted file mode 100644 index cc99b6c77b0..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.emtl +++ /dev/null @@ -1,259 +0,0 @@ -<?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/5.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/5.0.0/UML#//Property"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(Property)"> - <source xsi:type="mtl:QueryInvocation" eType="/6/Sequence(Property)"> - <definition href="../CppAttribute.emtl#/0/getOwnedAttributes"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Property"/> - </iterator> - </iterSet> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <parameter name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </eParameters> - <eParameters name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Property"/> - </eParameters> - </eOperations> - <eOperations name="getOwnedAttributes"> - <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/getOwnedAttributes"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="../CppAttribute.emtl#/3/Sequence(Property)"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Property)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="158"/> - <details key="end" value="378"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/CppClassAttributesDeclaration/%"> - <details key="start" value="261"/> - <details key="end" value="366"/> - <details key="line" value="6"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/CppClassAttributesDeclaration/%/%"> - <details key="start" value="329"/> - <details key="end" value="331"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/CppClassAttributesDeclaration/%/%.1"> - <details key="start" value="332"/> - <details key="end" value="357"/> - <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="359"/> - <details key="end" value="360"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/CppClassAttributesDeclaration/%/select"> - <details key="start" value="267"/> - <details key="end" value="326"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/CppClassAttributesDeclaration/%/select/%"> - <details key="start" value="267"/> - <details key="end" value="287"/> - <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="296"/> - <details key="end" value="325"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/CppClassAttributesDeclaration/%/select/%.1/%"> - <details key="start" value="296"/> - <details key="end" value="306"/> - <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="309"/> - <details key="end" value="325"/> - <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="205"/> - <details key="end" value="223"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppClassAttributesDeclaration/visibilityFilter"> - <details key="start" value="225"/> - <details key="end" value="258"/> - <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/CppClassAttributesDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl deleted file mode 100644 index bb217ae9c3a..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassAttributesDeclaration.mtl +++ /dev/null @@ -1,10 +0,0 @@ -[module CppClassAttributesDeclaration('http://www.eclipse.org/uml2/5.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppAttribute/] - - -[template public CppClassAttributesDeclaration(class : Classifier, visibilityFilter : VisibilityKind)] -[for (getOwnedAttributes()->select(visibility = visibilityFilter))] - - [CppAttributeDeclaration()/] -[/for] -[/template] 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 deleted file mode 100644 index f500b4d11f5..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.emtl +++ /dev/null @@ -1,417 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.emtl#/0"/> - <ownedModuleElement xsi:type="mtl: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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </iterSet> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedClassifiers"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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 deleted file mode 100644 index 362e4924037..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassFriendDeclaration.mtl +++ /dev/null @@ -1,16 +0,0 @@ -[module CppClassFriendDeclaration('http://www.eclipse.org/uml2/5.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.cppQualifiedName()/]; -[/template] - -[template public CppClassIncludeFriendDeclaration(class : Classifier)] -[for (getUsedClassifiers())] - [if hasStereotype(C_Cpp::Friend) and (not hasStereotype(C_Cpp::NoCodeGen))] - [CppClassFriendDeclaration()/] - [/if] -[/for] -[/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl deleted file mode 100644 index a6f29b07b66..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.emtl +++ /dev/null @@ -1,985 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.emtl#/0"/> - <imports href="../../../utils/ClassUtils.emtl#/0"/> - <imports href="../../CppIncludeUtils.emtl#/0"/> - <imports href="CppClassIncludeDeclaration.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Query" name="cppOwnerPackageIncludePath" visibility="Public"> - <parameter name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </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="ocl.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/cppOwnerPackageIncludePath/pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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"/> - </condition> - <thenExpression 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"> - <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="pkg" referredVariable="/0/cppOwnerPackageIncludePath/pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </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="CppClassAllIncludes" visibility="Public" type="/3/Sequence(String)"> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <expression xsi:type="mtl:QueryInvocation" eType="/3/Sequence(String)" definition="/0/cppClassAllIncludes"> - <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludes/class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </argument> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="CppClassAllIncludesDeclarationBody" visibility="Public" type="/3/Sequence(String)"> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <expression xsi:type="mtl:QueryInvocation" eType="/3/Sequence(String)" definition="/0/cppClassAllIncludes"> - <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/CppClassAllIncludesDeclarationBody/class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="mtl:QueryInvocation" eType="/3/Sequence(Classifier)"> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </argument> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="cppClassAllIncludes" type="/3/Sequence(String)"> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <parameter name="list" eType="/3/Sequence(Classifier)"/> - <expression xsi:type="ocl.ecore:IteratorExp" name="reject" eType="/3/Sequence(OclAny)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(OclAny)"> - <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Sequence(OclAny)"> - <source xsi:type="ocl.ecore:VariableExp" name="list" eType="/3/Sequence(Classifier)" referredVariable="/0/cppClassAllIncludes/list"/> - <body 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: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/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:VariableExp" name="class" referredVariable="/0/cppClassAllIncludes/class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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"/> - </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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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"/> - </condition> - <thenExpression 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: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/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Enumeration"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="cl" referredVariable="/0/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/PrimitiveType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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"/> - </condition> - <thenExpression 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: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/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/> - </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="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Package"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> - </condition> - <thenExpression xsi:type="mtl:QueryInvocation" definition="/0/cppOwnerPackageIncludePath"> - <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/5.0.0/UML#//Package"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Package"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </elseExpression> - </thenExpression> - <elseExpression xsi:type="mtl:QueryInvocation" eType="/3/Sequence(String)"> - <definition href="CppClassIncludeDeclaration.emtl#/0/cppClassIncludes"/> - <argument xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/cppClassAllIncludes/reject/%/collect/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </elseExpression> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </elseExpression> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </iterator> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/flatten"/> - </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:VariableExp" name="str" referredVariable="/0/cppClassAllIncludes/reject/str"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </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/="/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="str"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </iterator> - </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> - <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="cppOwnerPackageIncludePath"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cppOwnerPackageIncludePath"/> - <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/5.0.0/UML#//Package"/> - </eParameters> - </eOperations> - <eOperations name="CppClassAllIncludes" eType="/3/Sequence(String)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppClassAllIncludes"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eParameters> - </eOperations> - <eOperations name="CppClassAllIncludesDeclarationBody" eType="/3/Sequence(String)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppClassAllIncludesDeclarationBody"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eParameters> - </eOperations> - <eOperations name="cppClassAllIncludes" eType="/3/Sequence(String)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cppClassAllIncludes"/> - <eParameters name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTypesViaDependencies"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Classifier)"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </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/5.0.0/UML#//Classifier"/> - </eParameters> - </eOperations> - <eOperations name="cppClassIncludes"> - <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/cppClassIncludes"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="CppClassIncludeDeclaration.emtl#/3/Sequence(String)"/> - <eParameters name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="Package_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Classifier)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Enumeration"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Package"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/cppOwnerPackageIncludePath"> - <details key="start" value="476"/> - <details key="end" value="662"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/cppOwnerPackageIncludePath/pkg"> - <details key="start" value="517"/> - <details key="end" value="530"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/cppOwnerPackageIncludePath/%"> - <details key="start" value="543"/> - <details key="end" value="659"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/cppOwnerPackageIncludePath/%/%"> - <details key="start" value="546"/> - <details key="end" value="594"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/cppOwnerPackageIncludePath/%/%/%"> - <details key="start" value="547"/> - <details key="end" value="560"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/cppOwnerPackageIncludePath/%/%/%/pkg"> - <details key="start" value="548"/> - <details key="end" value="551"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/cppOwnerPackageIncludePath/%/%/%/%"> - <details key="start" value="555"/> - <details key="end" value="559"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/cppOwnerPackageIncludePath/%/%/%.1"> - <details key="start" value="565"/> - <details key="end" value="593"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/cppOwnerPackageIncludePath/%/%/%.1/%"> - <details key="start" value="570"/> - <details key="end" value="592"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/cppOwnerPackageIncludePath/%/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/cppOwnerPackageIncludePath/%/%/%.1/%/%"> - <details key="start" value="584"/> - <details key="end" value="591"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/cppOwnerPackageIncludePath/%/%.1"> - <details key="start" value="601"/> - <details key="end" value="642"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/cppOwnerPackageIncludePath/%/%.1/%"> - <details key="start" value="601"/> - <details key="end" value="635"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/cppOwnerPackageIncludePath/%/%.1/%/%"> - <details key="start" value="601"/> - <details key="end" value="624"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/cppOwnerPackageIncludePath/%/%.1/%/%/%"> - <details key="start" value="601"/> - <details key="end" value="614"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/cppOwnerPackageIncludePath/%/%.1/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/cppOwnerPackageIncludePath/%/%.1/%/%/%.1"> - <details key="start" value="617"/> - <details key="end" value="624"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/cppOwnerPackageIncludePath/%/%.1/%/%.1"> - <details key="start" value="627"/> - <details key="end" value="635"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/cppOwnerPackageIncludePath/%/%.1/%/%.1/pkg"> - <details key="start" value="627"/> - <details key="end" value="630"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/cppOwnerPackageIncludePath/%/%.1/%.1"> - <details key="start" value="638"/> - <details key="end" value="642"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/cppOwnerPackageIncludePath/%/%.2"> - <details key="start" value="649"/> - <details key="end" value="653"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppClassAllIncludes"> - <details key="start" value="664"/> - <details key="end" value="794"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppClassAllIncludes/class"> - <details key="start" value="698"/> - <details key="end" value="716"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppClassAllIncludes/%"> - <details key="start" value="740"/> - <details key="end" value="791"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppClassAllIncludes/%/class"> - <details key="start" value="761"/> - <details key="end" value="766"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppClassAllIncludes/%/%"> - <details key="start" value="768"/> - <details key="end" value="789"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppClassAllIncludes/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppClassAllIncludesDeclarationBody"> - <details key="start" value="796"/> - <details key="end" value="945"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppClassAllIncludesDeclarationBody/class"> - <details key="start" value="845"/> - <details key="end" value="863"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppClassAllIncludesDeclarationBody/%"> - <details key="start" value="887"/> - <details key="end" value="942"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppClassAllIncludesDeclarationBody/%/class"> - <details key="start" value="908"/> - <details key="end" value="913"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppClassAllIncludesDeclarationBody/%/%"> - <details key="start" value="915"/> - <details key="end" value="940"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppClassAllIncludesDeclarationBody/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/cppClassAllIncludes"> - <details key="start" value="947"/> - <details key="end" value="1484"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/cppClassAllIncludes/class"> - <details key="start" value="982"/> - <details key="end" value="1000"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/cppClassAllIncludes/list"> - <details key="start" value="1002"/> - <details key="end" value="1029"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/cppClassAllIncludes/reject"> - <details key="start" value="1052"/> - <details key="end" value="1481"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/cppClassAllIncludes/reject/%"> - <details key="start" value="1052"/> - <details key="end" value="1453"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/cppClassAllIncludes/reject/%/collect"> - <details key="start" value="1052"/> - <details key="end" value="1442"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/cppClassAllIncludes/reject/%/collect/list"> - <details key="start" value="1052"/> - <details key="end" value="1056"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/cppClassAllIncludes/reject/%/collect/%"> - <details key="start" value="1073"/> - <details key="end" value="1440"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/cppClassAllIncludes/reject/%/collect/%/%"> - <details key="start" value="1075"/> - <details key="end" value="1152"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%"> - <details key="start" value="1076"/> - <details key="end" value="1124"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%"> - <details key="start" value="1076"/> - <details key="end" value="1089"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%/cl"> - <details key="start" value="1077"/> - <details key="end" value="1079"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%/class"> - <details key="start" value="1083"/> - <details key="end" value="1088"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%.1"> - <details key="start" value="1094"/> - <details key="end" value="1124"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%.1/%"> - <details key="start" value="1099"/> - <details key="end" value="1123"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%/%.1/%/%"> - <details key="start" value="1113"/> - <details key="end" value="1122"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%.1"> - <details key="start" value="1128"/> - <details key="end" value="1151"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/cppClassAllIncludes/reject/%/collect/%/%/%.1/%"> - <details key="start" value="1142"/> - <details key="end" value="1150"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1"> - <details key="start" value="1160"/> - <details key="end" value="1420"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%"> - <details key="start" value="1162"/> - <details key="end" value="1224"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%/%"> - <details key="start" value="1163"/> - <details key="end" value="1190"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%/%/cl"> - <details key="start" value="1163"/> - <details key="end" value="1165"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%/%/%"> - <details key="start" value="1178"/> - <details key="end" value="1189"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%/%.1"> - <details key="start" value="1194"/> - <details key="end" value="1223"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%/%.1/cl"> - <details key="start" value="1194"/> - <details key="end" value="1196"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%/%.1/%"> - <details key="start" value="1209"/> - <details key="end" value="1222"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1"> - <details key="start" value="1233"/> - <details key="end" value="1380"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%"> - <details key="start" value="1236"/> - <details key="end" value="1288"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%"> - <details key="start" value="1237"/> - <details key="end" value="1253"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%/%"> - <details key="start" value="1237"/> - <details key="end" value="1245"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%/%/cl"> - <details key="start" value="1237"/> - <details key="end" value="1239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%/%.1"> - <details key="start" value="1249"/> - <details key="end" value="1253"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%.1"> - <details key="start" value="1258"/> - <details key="end" value="1287"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%.1/%"> - <details key="start" value="1258"/> - <details key="end" value="1266"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%.1/%/cl"> - <details key="start" value="1258"/> - <details key="end" value="1260"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%/%.1/%.1"> - <details key="start" value="1279"/> - <details key="end" value="1286"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%.1"> - <details key="start" value="1298"/> - <details key="end" value="1354"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%.1/%"> - <details key="start" value="1298"/> - <details key="end" value="1325"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%.1/%/%"> - <details key="start" value="1298"/> - <details key="end" value="1306"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%.1/%/%/cl"> - <details key="start" value="1298"/> - <details key="end" value="1300"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%.1/%/%.1"> - <details key="start" value="1317"/> - <details key="end" value="1324"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.1/%.2"> - <details key="start" value="1367"/> - <details key="end" value="1371"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.2"> - <details key="start" value="1391"/> - <details key="end" value="1412"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/cppClassAllIncludes/reject/%/collect/%/%.1/%.2/cl"> - <details key="start" value="1391"/> - <details key="end" value="1393"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/cppClassAllIncludes/reject/%/collect/%/%.2"> - <details key="start" value="1429"/> - <details key="end" value="1433"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/cppClassAllIncludes/reject/%/collect/cl"> - <details key="start" value="1067"/> - <details key="end" value="1069"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/cppClassAllIncludes/reject/%.1"> - <details key="start" value="1469"/> - <details key="end" value="1479"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/cppClassAllIncludes/reject/%.1/str"> - <details key="start" value="1469"/> - <details key="end" value="1472"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/cppClassAllIncludes/reject/%.1/%"> - <details key="start" value="1475"/> - <details key="end" value="1479"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/cppClassAllIncludes/reject/str"> - <details key="start" value="1463"/> - <details key="end" value="1466"/> - <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/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl deleted file mode 100644 index e94ed0680fc..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeClassDeclaration.mtl +++ /dev/null @@ -1,40 +0,0 @@ -[module CppClassIncludeClassDeclaration('http://www.eclipse.org/uml2/5.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::CppIncludeUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassIncludeDeclaration/] - -[query public cppOwnerPackageIncludePath(pkg : Package) : String = -if ((pkg <> null) and (not hasStereotype(CppRoot))) then - getFullPath() + '/Pkg_' + pkg.name + '.h' -else - null -endif -/] - -[query public CppClassAllIncludes(class : Classifier) : Sequence(String) = - cppClassAllIncludes( class, includedClassifiers() ) -/] - -[query public CppClassAllIncludesDeclarationBody(class : Classifier) : Sequence(String) = - cppClassAllIncludes( class, getTypesViaDependencies() ) -/] - -[query private cppClassAllIncludes(class : Classifier, list : Sequence(Classifier)) : Sequence(String) = -list->collect( cl | - if((cl <> class) and (not hasStereotype(NoCodeGen)) or hasStereotype(External)) then - if(cl.oclIsKindOf(Enumeration) or cl.oclIsKindOf(PrimitiveType)) then - if (cl.owner <> null and cl.owner.oclIsKindOf(Package)) then - cl.owner.oclAsType(Package).cppOwnerPackageIncludePath() - else - null - endif - else - cl.cppClassIncludes() - endif - else - null - endif -)->flatten()->reject( str | str = null ) -/] 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 deleted file mode 100644 index 8684b1dd875..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.emtl +++ /dev/null @@ -1,763 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../CppIncludeUtils.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/5.0.0/UML#//NamedElement"/> - </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="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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="/5/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:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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="/5/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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="716" endPosition="799" value=" TODO: original code did not use nearest package, if stereotype CppRoot was applied"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="cppClassIncludes" visibility="Public" type="/3/Sequence(String)"> - <parameter name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </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="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotypeTree"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/ExternLibrary"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternLibrary"/> - </argument> - </condition> - <thenExpression xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(null)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternLibrary"/> - <source xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplicationTree"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/ExternLibrary"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternLibrary"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/ExternLibrary"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternLibrary"/> - </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#//ExternLibrary/includes"/> - </thenExpression> - <elseExpression 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/cppClassIncludes/ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - </elseExpression> - </expression> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppClassIncludeDeclaration" visibility="Public"> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Sequence(String)"> - <source xsi:type="mtl:QueryInvocation" eType="/3/Sequence(String)" definition="/0/cppClassIncludes"> - <argument xsi:type="ocl.ecore:VariableExp" name="ne" referredVariable="/0/CppClassIncludeDeclaration/ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> - </argument> - </source> - <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/IncludeDirective"/> - <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassIncludeDeclaration/collect/temp1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </iterator> - </body> - <parameter name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - </eParameters> - </eOperations> - <eOperations name="cppClassIncludes" eType="/3/Sequence(String)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/cppClassIncludes"/> - <eParameters name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eParameters> - </eOperations> - <eOperations name="hasStereotypeTree"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotypeTree"/> - </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/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="getApplicationTree"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplicationTree"/> - </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/5.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="IncludeDirective"> - <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/IncludeDirective"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="path"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(null)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//String"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="ExternLibrary"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//ExternLibrary"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//NamedElement"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="321"/> - <details key="end" value="706"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/includeName/ne"> - <details key="start" value="347"/> - <details key="end" value="364"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/includeName/%"> - <details key="start" value="377"/> - <details key="end" value="703"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/includeName/%/%"> - <details key="start" value="380"/> - <details key="end" value="405"/> - <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="395"/> - <details key="end" value="403"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/includeName/%/%.1"> - <details key="start" value="412"/> - <details key="end" value="468"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/includeName/%/%.1/%"> - <details key="start" value="412"/> - <details key="end" value="456"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/includeName/%/%.1/%/%"> - <details key="start" value="412"/> - <details key="end" value="436"/> - <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="427"/> - <details key="end" value="435"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/includeName/%/%.1/%/%.1"> - <details key="start" value="447"/> - <details key="end" value="455"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/includeName/%/%.2"> - <details key="start" value="475"/> - <details key="end" value="697"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/includeName/%/%.2/%"> - <details key="start" value="478"/> - <details key="end" value="503"/> - <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="493"/> - <details key="end" value="501"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/includeName/%/%.2/%.1"> - <details key="start" value="509"/> - <details key="end" value="558"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/includeName/%/%.2/%.1/%"> - <details key="start" value="509"/> - <details key="end" value="553"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/includeName/%/%.2/%.1/%/%"> - <details key="start" value="509"/> - <details key="end" value="533"/> - <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="524"/> - <details key="end" value="532"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/includeName/%/%.2/%.1/%/%.1"> - <details key="start" value="544"/> - <details key="end" value="552"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/includeName/%/%.2/%.2"> - <details key="start" value="615"/> - <details key="end" value="690"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/includeName/%/%.2/%.2/%"> - <details key="start" value="615"/> - <details key="end" value="670"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/includeName/%/%.2/%.2/%/%"> - <details key="start" value="615"/> - <details key="end" value="664"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/includeName/%/%.2/%.2/%/%/%"> - <details key="start" value="615"/> - <details key="end" value="654"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/includeName/%/%.2/%.2/%/%/%/%"> - <details key="start" value="615"/> - <details key="end" value="648"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/includeName/%/%.2/%.2/%/%/%/%/%"> - <details key="start" value="615"/> - <details key="end" value="634"/> - <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="651"/> - <details key="end" value="654"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/includeName/%/%.2/%.2/%/%/%.1"> - <details key="start" value="657"/> - <details key="end" value="664"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/includeName/%/%.2/%.2/%/%/%.1/ne"> - <details key="start" value="657"/> - <details key="end" value="659"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/includeName/%/%.2/%.2/%/%.1"> - <details key="start" value="667"/> - <details key="end" value="670"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/includeName/%/%.2/%.2/%.1"> - <details key="start" value="673"/> - <details key="end" value="690"/> - <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="708"/> - <details key="end" value="801"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/cppClassIncludes"> - <details key="start" value="802"/> - <details key="end" value="1016"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/cppClassIncludes/ne"> - <details key="start" value="833"/> - <details key="end" value="850"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/cppClassIncludes/%"> - <details key="start" value="873"/> - <details key="end" value="1013"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/cppClassIncludes/%/%"> - <details key="start" value="876"/> - <details key="end" value="910"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/cppClassIncludes/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/cppClassIncludes/%/%/%"> - <details key="start" value="895"/> - <details key="end" value="908"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/cppClassIncludes/%/%.1"> - <details key="start" value="917"/> - <details key="end" value="984"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/cppClassIncludes/%/%.1/%"> - <details key="start" value="917"/> - <details key="end" value="975"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/cppClassIncludes/%/%.1/%/%"> - <details key="start" value="917"/> - <details key="end" value="950"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/cppClassIncludes/%/%.1/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/cppClassIncludes/%/%.1/%/%/%"> - <details key="start" value="936"/> - <details key="end" value="949"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/cppClassIncludes/%/%.1/%/%.1"> - <details key="start" value="961"/> - <details key="end" value="974"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/cppClassIncludes/%/%.2"> - <details key="start" value="991"/> - <details key="end" value="1007"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/cppClassIncludes/%/%.2/ne"> - <details key="start" value="991"/> - <details key="end" value="993"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppClassIncludeDeclaration"> - <details key="start" value="1018"/> - <details key="end" value="1137"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppClassIncludeDeclaration/collect"> - <details key="start" value="1083"/> - <details key="end" value="1123"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppClassIncludeDeclaration/collect/%"> - <details key="start" value="1083"/> - <details key="end" value="1104"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppClassIncludeDeclaration/collect/%/ne"> - <details key="start" value="1083"/> - <details key="end" value="1085"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppClassIncludeDeclaration/collect/%.1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppClassIncludeDeclaration/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppClassIncludeDeclaration/collect/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppClassIncludeDeclaration/ne"> - <details key="start" value="1062"/> - <details key="end" value="1079"/> - <details key="line" value="28"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl deleted file mode 100644 index 71b8d63792c..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassIncludeDeclaration.mtl +++ /dev/null @@ -1,30 +0,0 @@ -[module CppClassIncludeDeclaration('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::CppIncludeUtils/] -[import org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils/] - - -[query public includeName(ne : NamedElement) : String = -if (hasStereotype(Template)) then - getApplication(Template).oclAsType(Template).declaration -else - if (hasStereotype(External)) then getApplication(External).oclAsType(External).name - else - -- standard case (no stereotypes are applied) - getNearestPackage().getFullPath() + '/' + ne.name + '.' + getHeaderSuffix() - endif -endif -/] - -[comment TODO: original code did not use nearest package, if stereotype CppRoot was applied/] -[query public cppClassIncludes(ne : NamedElement) : Sequence(String) = -if (hasStereotypeTree(ExternLibrary)) then - getApplicationTree(ExternLibrary).oclAsType(ExternLibrary).includes -else - ne.includeName() -endif -/] - -[template public CppClassIncludeDeclaration(ne : NamedElement)] -[ne.cppClassIncludes().IncludeDirective()/] -[/template] 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 deleted file mode 100644 index 065063e27cd..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.emtl +++ /dev/null @@ -1,754 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.emtl#/0"/> - <ownedModuleElement xsi:type="mtl: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/5.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/5.0.0/UML#//Classifier"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//DirectedRelationship"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Relationship"/> - </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="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="ecore:EDataType" href="platform:/resource/org.eclipse.papyrus.cpp.profile/profiles/types.ecore#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//DirectedRelationship"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </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/5.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/5.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/5.0.0/UML#//Element"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Generalization"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="InterfaceRealization"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Relationship"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DirectedRelationship"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DirectedRelationship"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DirectedRelationship"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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 deleted file mode 100644 index 66a0c4d223d..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassInheritedDeclarations.mtl +++ /dev/null @@ -1,25 +0,0 @@ -[module CppClassInheritedDeclarations('http://www.eclipse.org/uml2/5.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/] - -[comment -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. -/] -[query public filteredRelationships(class : Classifier) : Set(DirectedRelationship) = - getSourceDirectedRelationships()->select( - (oclIsKindOf(Generalization) or oclIsKindOf(InterfaceRealization)) and - (not target->asSequence()->first().hasStereotype(NoCodeGen)) - ) -/] - -[query public getCppVisibility(relationship : Relationship) : String = -if (hasStereotype(Visibility)) then getApplication(Visibility).oclAsType(Visibility).value else 'public' endif -/] - -[template public CppClassInheritedDeclarations(class : Classifier)] -[if (filteredRelationships()->size() > 0)] : [/if] -[for (filteredRelationships()) separator(', \n')] - [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 deleted file mode 100644 index 482c027da43..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.emtl +++ /dev/null @@ -1,479 +0,0 @@ -<?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/5.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/5.0.0/UML#//Operation"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(Operation)"> - <source xsi:type="mtl:QueryInvocation" eType="/6/Sequence(Operation)"> - <definition href="../operation/CppOperations.emtl#/0/getOwnedOperations"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </iterator> - </iterSet> - </body> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
	// opaque behavior without specification (typically from state machine)
	"/> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../operation/CppOperations.emtl#/0/CppBehaviorDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature"/> - <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/CppClassOperationsDeclaration/%.1/b"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior/specification"/> - </source> - <argument xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> - </ifExpr> - </body> - <loopVariable name="b"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(OpaqueBehavior)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Sequence(OpaqueBehavior)" referredOperation="/1/EObject_Class/eAllContents"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/12/OpaqueBehavior"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsDeclaration/%.1/select/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//VisibilityKind"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </iterator> - </iterSet> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <parameter name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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="eAllContents"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> - <eParameters name="filter"> - <eType xsi:type="ocl.ecore:TypeType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclType"/> - </eParameters> - </eOperations> - <eOperations name="CppClassOperationsDeclaration"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.0.0/UML#//Classifier"/> - </eParameters> - <eParameters name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eParameters> - </eOperations> - <eOperations name="getOwnedOperations"> - <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/getOwnedOperations"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="../operation/CppOperations.emtl#/3/Sequence(Operation)"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppBehaviorDeclaration"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../operation/CppOperations.emtl#/0/CppBehaviorDeclaration"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - </eOperations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Operation)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OpaqueBehavior)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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> - <ecore:EPackage name="types"> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueBehavior"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="630"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/CppClassOperationsDeclaration/%"> - <details key="start" value="273"/> - <details key="end" value="379"/> - <details key="line" value="6"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/CppClassOperationsDeclaration/%/%"> - <details key="start" value="341"/> - <details key="end" value="344"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/CppClassOperationsDeclaration/%/%.1"> - <details key="start" value="345"/> - <details key="end" value="370"/> - <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="372"/> - <details key="end" value="373"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/CppClassOperationsDeclaration/%/select"> - <details key="start" value="279"/> - <details key="end" value="338"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/CppClassOperationsDeclaration/%/select/%"> - <details key="start" value="279"/> - <details key="end" value="299"/> - <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="308"/> - <details key="end" value="337"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/CppClassOperationsDeclaration/%/select/%.1/%"> - <details key="start" value="308"/> - <details key="end" value="318"/> - <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="321"/> - <details key="end" value="337"/> - <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/%.1"> - <details key="start" value="380"/> - <details key="end" value="618"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppClassOperationsDeclaration/%.1/%"> - <details key="start" value="472"/> - <details key="end" value="611"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppClassOperationsDeclaration/%.1/%/%"> - <details key="start" value="502"/> - <details key="end" value="577"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppClassOperationsDeclaration/%.1/%/%.1"> - <details key="start" value="578"/> - <details key="end" value="602"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppClassOperationsDeclaration/%.1/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppClassOperationsDeclaration/%.1/%/%.2"> - <details key="start" value="604"/> - <details key="end" value="605"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppClassOperationsDeclaration/%.1/%/%.3"> - <details key="start" value="476"/> - <details key="end" value="500"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppClassOperationsDeclaration/%.1/%/%.3/%"> - <details key="start" value="477"/> - <details key="end" value="492"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppClassOperationsDeclaration/%.1/%/%.3/%/b"> - <details key="start" value="477"/> - <details key="end" value="478"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppClassOperationsDeclaration/%.1/%/%.3/%.1"> - <details key="start" value="495"/> - <details key="end" value="499"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppClassOperationsDeclaration/%.1/b"> - <details key="start" value="386"/> - <details key="end" value="398"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppClassOperationsDeclaration/%.1/select"> - <details key="start" value="401"/> - <details key="end" value="468"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppClassOperationsDeclaration/%.1/select/%"> - <details key="start" value="401"/> - <details key="end" value="429"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppClassOperationsDeclaration/%.1/select/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppClassOperationsDeclaration/%.1/select/%/%"> - <details key="start" value="414"/> - <details key="end" value="428"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppClassOperationsDeclaration/%.1/select/%.1"> - <details key="start" value="438"/> - <details key="end" value="467"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppClassOperationsDeclaration/%.1/select/%.1/%"> - <details key="start" value="438"/> - <details key="end" value="448"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppClassOperationsDeclaration/%.1/select/%.1/%/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppClassOperationsDeclaration/%.1/select/%.1/visibilityFilter"> - <details key="start" value="451"/> - <details key="end" value="467"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppClassOperationsDeclaration/%.1/select/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppClassOperationsDeclaration/class"> - <details key="start" value="217"/> - <details key="end" value="235"/> - <details key="line" value="5"/> - </eAnnotations> - <eAnnotations source="positions.35" 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 deleted file mode 100644 index 513dd1ed446..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl +++ /dev/null @@ -1,17 +0,0 @@ -[module CppClassOperationsDeclaration('http://www.eclipse.org/uml2/5.0.0/UML')/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] - - -[template public CppClassOperationsDeclaration(class : Classifier, visibilityFilter : VisibilityKind)] -[for (getOwnedOperations()->select(visibility = visibilityFilter))] - - [CppOperationDeclaration()/] -[/for] -[for (b : Behavior | eAllContents(OpaqueBehavior)->select(visibility = visibilityFilter))] - [if (b.specification = null)] - - // opaque behavior without specification (typically from state machine) - [CppBehaviorDeclaration()/] - [/if] -[/for] -[/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl deleted file mode 100644 index d81f2c6d816..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.emtl +++ /dev/null @@ -1,617 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../operation/CppOperations.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="274" endPosition="393" value=" implementations of a classifier, parameter controls whether only inline (or only not inline) operations
 are produced"/> - </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/5.0.0/UML#//Operation"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(Operation)"> - <source xsi:type="mtl:QueryInvocation" eType="/6/Sequence(Operation)"> - <definition href="../operation/CppOperations.emtl#/0/getOwnedOperations"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore: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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%/select/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </iterator> - </iterSet> - </body> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
// opaque behavior without specification (typically from state machine)
"/> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../operation/CppOperations.emtl#/0/CppBehaviorImplementation"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioralFeature"/> - <source xsi:type="ocl.ecore:VariableExp" name="b" referredVariable="/0/CppClassOperationsImplementation/%.1/b"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior/specification"/> - </source> - <argument xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> - </ifExpr> - </body> - <loopVariable name="b"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/6/Sequence(OpaqueBehavior)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/6/Sequence(OpaqueBehavior)" referredOperation="/1/EObject_Class/eAllContents"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/7/OpaqueBehavior"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppClassOperationsImplementation/%.1/select/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/7/Inline"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Inline"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:VariableExp" name="inline" referredVariable="/0/CppClassOperationsImplementation/inline"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </iterator> - </iterSet> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="eAllContents"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/> - <eParameters name="filter"> - <eType xsi:type="ocl.ecore:TypeType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclType"/> - </eParameters> - </eOperations> - <eOperations name="CppClassOperationsImplementation"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eParameters> - </eOperations> - <eOperations name="getOwnedOperations"> - <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/getOwnedOperations"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="../operation/CppOperations.emtl#/3/Sequence(Operation)"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppBehaviorImplementation"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../operation/CppOperations.emtl#/0/CppBehaviorImplementation"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eParameters> - </eOperations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Operation)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OpaqueBehavior)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </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> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueBehavior"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="929"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/CppClassOperationsImplementation/%"> - <details key="start" value="485"/> - <details key="end" value="658"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/CppClassOperationsImplementation/%/%"> - <details key="start" value="619"/> - <details key="end" value="620"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/CppClassOperationsImplementation/%/%.1"> - <details key="start" value="621"/> - <details key="end" value="649"/> - <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="651"/> - <details key="end" value="652"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/CppClassOperationsImplementation/%/select"> - <details key="start" value="491"/> - <details key="end" value="616"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/CppClassOperationsImplementation/%/select/%"> - <details key="start" value="491"/> - <details key="end" value="511"/> - <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="523"/> - <details key="end" value="615"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/CppClassOperationsImplementation/%/select/%.1/%"> - <details key="start" value="523"/> - <details key="end" value="569"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%"> - <details key="start" value="528"/> - <details key="end" value="568"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%"> - <details key="start" value="529"/> - <details key="end" value="553"/> - <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="543"/> - <details key="end" value="552"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppClassOperationsImplementation/%/select/%.1/%/%/%.1"> - <details key="start" value="557"/> - <details key="end" value="567"/> - <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="576"/> - <details key="end" value="615"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/%"> - <details key="start" value="577"/> - <details key="end" value="605"/> - <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="591"/> - <details key="end" value="604"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppClassOperationsImplementation/%/select/%.1/%.1/inline"> - <details key="start" value="608"/> - <details key="end" value="614"/> - <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/%.1"> - <details key="start" value="659"/> - <details key="end" value="917"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppClassOperationsImplementation/%.1/%"> - <details key="start" value="770"/> - <details key="end" value="910"/> - <details key="line" value="17"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppClassOperationsImplementation/%.1/%/%"> - <details key="start" value="800"/> - <details key="end" value="873"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppClassOperationsImplementation/%.1/%/%.1"> - <details key="start" value="874"/> - <details key="end" value="901"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppClassOperationsImplementation/%.1/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppClassOperationsImplementation/%.1/%/%.2"> - <details key="start" value="903"/> - <details key="end" value="904"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppClassOperationsImplementation/%.1/%/%.3"> - <details key="start" value="774"/> - <details key="end" value="798"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppClassOperationsImplementation/%.1/%/%.3/%"> - <details key="start" value="775"/> - <details key="end" value="790"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppClassOperationsImplementation/%.1/%/%.3/%/b"> - <details key="start" value="775"/> - <details key="end" value="776"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppClassOperationsImplementation/%.1/%/%.3/%.1"> - <details key="start" value="793"/> - <details key="end" value="797"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppClassOperationsImplementation/%.1/b"> - <details key="start" value="665"/> - <details key="end" value="683"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppClassOperationsImplementation/%.1/select"> - <details key="start" value="686"/> - <details key="end" value="766"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppClassOperationsImplementation/%.1/select/%"> - <details key="start" value="686"/> - <details key="end" value="714"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppClassOperationsImplementation/%.1/select/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppClassOperationsImplementation/%.1/select/%/%"> - <details key="start" value="699"/> - <details key="end" value="713"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppClassOperationsImplementation/%.1/select/%.1"> - <details key="start" value="726"/> - <details key="end" value="765"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppClassOperationsImplementation/%.1/select/%.1/%"> - <details key="start" value="727"/> - <details key="end" value="755"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppClassOperationsImplementation/%.1/select/%.1/%/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppClassOperationsImplementation/%.1/select/%.1/%/%"> - <details key="start" value="741"/> - <details key="end" value="754"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppClassOperationsImplementation/%.1/select/%.1/inline"> - <details key="start" value="758"/> - <details key="end" value="764"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/CppClassOperationsImplementation/%.1/select/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppClassOperationsImplementation/class"> - <details key="start" value="446"/> - <details key="end" value="464"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.46" 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 deleted file mode 100644 index 33716ef6e61..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsImplementation.mtl +++ /dev/null @@ -1,23 +0,0 @@ -[module CppClassOperationsImplementation('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] - - -[comment implementations of a classifier, parameter controls whether only inline (or only not inline) operations - are produced/] -[template public CppClassOperationsImplementation(class : Classifier, inline : Boolean)] -[for (getOwnedOperations()->select( - (not (hasStereotype(NoCodeGen) or isAbstract)) and - (hasStereotype(C_Cpp::Inline) = inline)))] - -[CppOperationImplementation()/] -[/for] -[for (b : OpaqueBehavior | eAllContents(OpaqueBehavior)->select( - (hasStereotype(C_Cpp::Inline) = inline)))] - [if (b.specification = null)] - -// opaque behavior without specification (typically from state machine) -[CppBehaviorImplementation()/] - [/if] -[/for] -[/template] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl deleted file mode 100644 index 1b7e59c0a31..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.emtl +++ /dev/null @@ -1,944 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//VisibilityKind"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Element"/> - </parameter> - <parameter name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Namespace"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedElement"/> - </iterSet> - </body> - <parameter name="ne"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </parameter> - <parameter name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppClassTypeAndEnum" visibility="Public"> - <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/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/protected"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/protected"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/CppGenUtils.emtl#/0/getSection"/> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - <argument xsi:type="mtl:TemplateInvocation" definition="/0/TypesAndEnumsForVisibility"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/private"/> - </argument> - </argument> - </body> - <parameter name="class"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Package"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Package"/> - </argument> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind/public"/> - </argument> - </body> - <parameter name="pkg"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Namespace"/> - </eParameters> - <eParameters name="visibilityFilter"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.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/5.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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - </eParameters> - </eOperations> - <eOperations name="getSection"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/getSection"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eParameters> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="CppPrimitiveTypeDefinition"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Enumeration_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Enumeration"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Enumeration"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="PrimitiveType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Element"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="389"/> - <details key="end" value="811"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/TypeAndEnumForVisibility/%"> - <details key="start" value="486"/> - <details key="end" value="799"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/TypeAndEnumForVisibility/%/%"> - <details key="start" value="606"/> - <details key="end" value="696"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/TypeAndEnumForVisibility/%/%/%"> - <details key="start" value="640"/> - <details key="end" value="689"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/TypeAndEnumForVisibility/%/%/%/%"> - <details key="start" value="640"/> - <details key="end" value="662"/> - <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="650"/> - <details key="end" value="661"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/TypeAndEnumForVisibility/%/%/%.1"> - <details key="start" value="612"/> - <details key="end" value="638"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/TypeAndEnumForVisibility/%/%/%.1/self"> - <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="625"/> - <details key="end" value="636"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/TypeAndEnumForVisibility/%/%.1"> - <details key="start" value="696"/> - <details key="end" value="697"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/TypeAndEnumForVisibility/%/%.2"> - <details key="start" value="697"/> - <details key="end" value="793"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/TypeAndEnumForVisibility/%/%.2/%"> - <details key="start" value="733"/> - <details key="end" value="786"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/TypeAndEnumForVisibility/%/%.2/%/%"> - <details key="start" value="733"/> - <details key="end" value="757"/> - <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="743"/> - <details key="end" value="756"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/TypeAndEnumForVisibility/%/%.2/%.1"> - <details key="start" value="703"/> - <details key="end" value="731"/> - <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="716"/> - <details key="end" value="729"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/TypeAndEnumForVisibility/%/%.3"> - <details key="start" value="793"/> - <details key="end" value="794"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/TypeAndEnumForVisibility/%/%.4"> - <details key="start" value="490"/> - <details key="end" value="604"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/TypeAndEnumForVisibility/%/%.4/%"> - <details key="start" value="491"/> - <details key="end" value="547"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/TypeAndEnumForVisibility/%/%.4/%/%"> - <details key="start" value="491"/> - <details key="end" value="519"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%"> - <details key="start" value="495"/> - <details key="end" value="519"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/TypeAndEnumForVisibility/%/%.4/%/%/%/self"> - <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="509"/> - <details key="end" value="518"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/TypeAndEnumForVisibility/%/%.4/%/%.1"> - <details key="start" value="524"/> - <details key="end" value="547"/> - <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="536"/> - <details key="end" value="546"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/TypeAndEnumForVisibility/%/%.4/%.1"> - <details key="start" value="552"/> - <details key="end" value="603"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%"> - <details key="start" value="552"/> - <details key="end" value="584"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/%/%"> - <details key="start" value="552"/> - <details key="end" value="573"/> - <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="562"/> - <details key="end" value="572"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/TypeAndEnumForVisibility/%/%.4/%.1/visibilityFilter"> - <details key="start" value="587"/> - <details key="end" value="603"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/TypeAndEnumForVisibility/element"> - <details key="start" value="431"/> - <details key="end" value="448"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/TypeAndEnumForVisibility/visibilityFilter"> - <details key="start" value="450"/> - <details key="end" value="483"/> - <details key="line" value="7"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/TypesAndEnumsForVisibility"> - <details key="start" value="813"/> - <details key="end" value="992"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/TypesAndEnumsForVisibility/%"> - <details key="start" value="909"/> - <details key="end" value="980"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/TypesAndEnumsForVisibility/%/%"> - <details key="start" value="930"/> - <details key="end" value="972"/> - <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="955"/> - <details key="end" value="971"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/TypesAndEnumsForVisibility/%/%.1"> - <details key="start" value="915"/> - <details key="end" value="927"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/TypesAndEnumsForVisibility/%/%.1/self"> - <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="857"/> - <details key="end" value="871"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/TypesAndEnumsForVisibility/visibilityFilter"> - <details key="start" value="873"/> - <details key="end" value="906"/> - <details key="line" value="14"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppClassTypeAndEnum"> - <details key="start" value="994"/> - <details key="end" value="1350"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppClassTypeAndEnum/%"> - <details key="start" value="1052"/> - <details key="end" value="1056"/> - <details key="line" value="19"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppClassTypeAndEnum/%.1"> - <details key="start" value="1057"/> - <details key="end" value="1142"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/CppClassTypeAndEnum/%.1/%"> - <details key="start" value="1057"/> - <details key="end" value="1079"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppClassTypeAndEnum/%.1/%.1"> - <details key="start" value="1091"/> - <details key="end" value="1141"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppClassTypeAndEnum/%.1/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppClassTypeAndEnum/%.1/%.1/%"> - <details key="start" value="1118"/> - <details key="end" value="1140"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppClassTypeAndEnum/%.2"> - <details key="start" value="1144"/> - <details key="end" value="1149"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppClassTypeAndEnum/%.3"> - <details key="start" value="1150"/> - <details key="end" value="1241"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppClassTypeAndEnum/%.3/%"> - <details key="start" value="1150"/> - <details key="end" value="1175"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppClassTypeAndEnum/%.3/%.1"> - <details key="start" value="1187"/> - <details key="end" value="1240"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppClassTypeAndEnum/%.3/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppClassTypeAndEnum/%.3/%.1/%"> - <details key="start" value="1214"/> - <details key="end" value="1239"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppClassTypeAndEnum/%.4"> - <details key="start" value="1243"/> - <details key="end" value="1248"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppClassTypeAndEnum/%.5"> - <details key="start" value="1249"/> - <details key="end" value="1336"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppClassTypeAndEnum/%.5/%"> - <details key="start" value="1249"/> - <details key="end" value="1272"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppClassTypeAndEnum/%.5/%.1"> - <details key="start" value="1284"/> - <details key="end" value="1335"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppClassTypeAndEnum/%.5/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppClassTypeAndEnum/%.5/%.1/%"> - <details key="start" value="1311"/> - <details key="end" value="1334"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppClassTypeAndEnum/class"> - <details key="start" value="1031"/> - <details key="end" value="1049"/> - <details key="line" value="18"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/CppClassTypeAndEnumPackage"> - <details key="start" value="1352"/> - <details key="end" value="1533"/> - <details key="line" value="24"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/CppClassTypeAndEnumPackage/%"> - <details key="start" value="1413"/> - <details key="end" value="1465"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppClassTypeAndEnumPackage/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/CppClassTypeAndEnumPackage/%/%"> - <details key="start" value="1440"/> - <details key="end" value="1464"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/CppClassTypeAndEnumPackage/%.1"> - <details key="start" value="1467"/> - <details key="end" value="1468"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/CppClassTypeAndEnumPackage/%.2"> - <details key="start" value="1469"/> - <details key="end" value="1519"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/CppClassTypeAndEnumPackage/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/CppClassTypeAndEnumPackage/%.2/%"> - <details key="start" value="1496"/> - <details key="end" value="1518"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/CppClassTypeAndEnumPackage/pkg"> - <details key="start" value="1396"/> - <details key="end" value="1409"/> - <details key="line" value="24"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl deleted file mode 100644 index d90230149a4..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassTypeAndEnum.mtl +++ /dev/null @@ -1,27 +0,0 @@ -[module CppClassTypeAndEnum('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1')/] -[import org::eclipse::papyrus::acceleo::GenUtils/] -[import org::eclipse::papyrus::cpp::codegen::utils::CppGenUtils/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppPrimitiveTypes/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppEnumerations/] - -[template public TypeAndEnumForVisibility(element : Element, visibilityFilter : VisibilityKind)] -[if (not hasStereotype(NoCodeGen) and oclIsKindOf(Classifier) and oclAsType(Classifier).visibility = visibilityFilter)] -[ if (oclIsKindOf(Enumeration))][oclAsType(Enumeration).CppEnumerationDefinition()/][/if] -[ if (oclIsKindOf(PrimitiveType))][oclAsType(PrimitiveType).CppPrimitiveTypeDefinition()/][/if] -[/if] -[/template] - -[template public TypesAndEnumsForVisibility(ne : Namespace, visibilityFilter : VisibilityKind)] -[for (ownedElement)][TypeAndEnumForVisibility(visibilityFilter)/][/for] -[/template] - -[template public CppClassTypeAndEnum(class : Classifier)] - [VisibilityKind::public.getSection(TypesAndEnumsForVisibility(VisibilityKind::public))/] - [VisibilityKind::protected.getSection(TypesAndEnumsForVisibility(VisibilityKind::protected))/] - [VisibilityKind::private.getSection(TypesAndEnumsForVisibility(VisibilityKind::private))/] -[/template] - -[template public CppClassTypeAndEnumPackage(pkg : Package)] -[TypesAndEnumsForVisibility(VisibilityKind::_package)/] -[TypesAndEnumsForVisibility(VisibilityKind::public)/] -[/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl deleted file mode 100644 index 151d49fa366..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.emtl +++ /dev/null @@ -1,3554 +0,0 @@ -<?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="162"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.emtl#/0"/> - <imports href="../../../utils/Modifier.emtl#/0"/> - <imports href="../CppDocumentation.emtl#/0"/> - <imports href="CppParameter.emtl#/0"/> - <imports href="../CppTemplates.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="595" endPosition="683" value="
return a list of owned operations, since this is not supported directly on a classifier"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="getOwnedOperations" visibility="Public" type="/3/Sequence(Operation)"> - <parameter name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </parameter> - <expression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Operation)"> - <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="cl" referredVariable="/0/getOwnedOperations/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </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="/3/OrderedSet(Operation)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/ownedOperation"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Operation)"> - <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="cl" referredVariable="/0/getOwnedOperations/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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:PropertyCallExp" eType="/3/OrderedSet(Operation)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType/ownedOperation"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Operation)"> - <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="cl" referredVariable="/0/getOwnedOperations/cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Interface"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </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="/3/OrderedSet(Operation)"> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Interface"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface/ownedOperation"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(OclVoid)" kind="Sequence"/> - </elseExpression> - </elseExpression> - </expression> - </ownedModuleElement> - <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/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/virtualTxt/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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/5.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/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Query" name="isConsOrDestructor" visibility="Public"> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </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="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Create"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#//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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Destroy"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#//Destroy"/> - </argument> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/> - </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:Query" name="ConsDestructorOrVoid" visibility="Public"> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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" definition="/0/isConsOrDestructor"> - <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="/22"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </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="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/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Destroy"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#//Destroy"/> - </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="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/startsWith"> - <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/destructor/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </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> - <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"/> - </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="/31"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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: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/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/="/> - </source> - <argument xsi:type="mtl:QueryInvocation" definition="/0/isConsOrDestructor"> - <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="/30"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </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="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Parameter)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/modCVQualifier"/> - <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/5.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/5.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/5.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation/type"/> - </argument> - </body> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Parameter)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/%/%.2/collect.1/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </iterator> - </body> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Parameter)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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/%/%.2/collect.2/temp3"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </iterator> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - </else> - </body> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppReturnSpec" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="void "/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/40"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </source> - <argument xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> - </ifExpr> - <else> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modCVQualifier"/> - <argument xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - <source xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/42"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </argument> - </body> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modRef"/> - <argument xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> - </else> - </body> - <parameter name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="InlineTxt" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="inline "/> - <ifExpr xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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/5.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="/54"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Feature/isStatic"/> - </ifExpr> - </body> - <parameter name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/59"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/60"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/61"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/62"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/63"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </body> - <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="/64"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/66"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/67"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/68"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorDeclaration" visibility="Public"> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../CppDocumentation.emtl#/0/CppBehaviorDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/73"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/InlineTxt"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/74"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </body> - <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec.1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/75"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/CppBehaviorDeclaration/behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="CppParameter.emtl#/0/CppBehaviorParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/78"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";"/> - <parameter name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppConstInit" visibility="Public"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/84"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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="/5/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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/83"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/83"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/5/Create"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#//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/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="3165" endPosition="3235" 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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/89"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="/98"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Type)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/95"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="/3/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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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="/105"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/107"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/109"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/110"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/111"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/112"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/113"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </argument> - </body> - <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(String)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Classifier)"> - <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/CppOperationImplementation/operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Feature/featuringClassifier"/> - </source> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppOperationImplementation/%.2/%.8/collect/temp4"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp4"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </iterator> - </body> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../CppTemplates.emtl#/0/templateShortSignature.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/115"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/116"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/118"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/119"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/120"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/121"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/122"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorImplementation" visibility="Public"> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../CppDocumentation.emtl#/0/CppBehaviorDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/127"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/CppReturnSpec.1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/128"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> - <source xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/CppBehaviorImplementation/behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior/context"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/CppBehaviorImplementation/behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="CppParameter.emtl#/0/CppBehaviorParameters"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/131"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../utils/Modifier.emtl#/0/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/132"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {
	"/> - <body xsi:type="mtl:QueryInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBodyFromOB"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/133"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </argument> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="C/C++"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
}"/> - <parameter name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </parameter> - </ownedModuleElement> - </mtl:Module> - <ecore:EPackage name="additions"> - <eClassifiers xsi:type="ecore:EClass" name="String_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eAnnotations> - <eOperations name="startsWith"> - <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> - <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="getOwnedOperations" eType="/3/Sequence(Operation)"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getOwnedOperations"/> - <eParameters name="cl"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eParameters> - </eOperations> - <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/5.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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="isConsOrDestructor"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/isConsOrDestructor"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="operation"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppReturnSpec"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppReturnSpec.1"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - </eOperations> - <eOperations name="InlineTxt"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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/5.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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppBehaviorDeclaration"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppBehaviorDeclaration"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - </eOperations> - <eOperations name="CppConstInit"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppBehaviorImplementation"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppBehaviorImplementation"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eParameters> - </eOperations> - <eOperations name="hasStereotype"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eParameters> - <eParameters name="definition"> - <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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBody"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="getBodyFromOB"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getBodyFromOB"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="arg0"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eParameters> - <eParameters name="arg1"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eParameters> - </eOperations> - <eOperations name="returnResult"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/returnResult"/> - </eAnnotations> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - </eOperations> - <eOperations name="cppQualifiedName"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> - </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/5.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/5.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/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="modCVQualifier"> - <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/modCVQualifier"/> - </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/5.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/5.0.0/UML#//Operation"/> - </eParameters> - </eOperations> - <eOperations name="CppBehaviorDoc"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../CppDocumentation.emtl#/0/CppBehaviorDoc"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - </eOperations> - <eOperations name="CppOperationParameters"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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="CppBehaviorParameters"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="CppParameter.emtl#/0/CppBehaviorParameters"/> - </eAnnotations> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - <eParameters name="showDefault"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </eParameters> - </eOperations> - <eOperations name="templateSignature"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </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/5.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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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> - <ecore:EPackage name="collections"> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Operation)" instanceClassName="java.util.List"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Operation)" instanceClassName="java.util.LinkedHashSet"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclVoid)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:CollectionType" name="Collection(Operation)"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Parameter)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Type"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Classifier)" instanceClassName="java.util.Set"> - <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ecore:EPackage name="types"> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Class"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Interface"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/> - </eClassifiers> - <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/5.0.0/UML/Profile/Standard#//Create"/> - </eClassifiers> - <eClassifiers xsi:type="ocl.ecore:TypeType" name="Destroy"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#//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/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Element"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/%"> - <details key="start" value="587"/> - <details key="end" value="685"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/getOwnedOperations"> - <details key="start" value="686"/> - <details key="end" value="1043"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/getOwnedOperations/cl"> - <details key="start" value="719"/> - <details key="end" value="734"/> - <details key="line" value="12"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/getOwnedOperations/%"> - <details key="start" value="761"/> - <details key="end" value="1040"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/getOwnedOperations/%/%"> - <details key="start" value="764"/> - <details key="end" value="787"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/getOwnedOperations/%/%/cl"> - <details key="start" value="765"/> - <details key="end" value="767"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/getOwnedOperations/%/%/%"> - <details key="start" value="780"/> - <details key="end" value="785"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/getOwnedOperations/%/%.1"> - <details key="start" value="795"/> - <details key="end" value="826"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/getOwnedOperations/%/%.1/%"> - <details key="start" value="795"/> - <details key="end" value="811"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/getOwnedOperations/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/getOwnedOperations/%/%.1/%/%"> - <details key="start" value="805"/> - <details key="end" value="810"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/getOwnedOperations/%/%.2"> - <details key="start" value="835"/> - <details key="end" value="1033"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/getOwnedOperations/%/%.2/%"> - <details key="start" value="838"/> - <details key="end" value="864"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/getOwnedOperations/%/%.2/%/cl"> - <details key="start" value="839"/> - <details key="end" value="841"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/getOwnedOperations/%/%.2/%/%"> - <details key="start" value="854"/> - <details key="end" value="862"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/getOwnedOperations/%/%.2/%.1"> - <details key="start" value="873"/> - <details key="end" value="907"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/getOwnedOperations/%/%.2/%.1/%"> - <details key="start" value="873"/> - <details key="end" value="892"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/getOwnedOperations/%/%.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/getOwnedOperations/%/%.2/%.1/%/%"> - <details key="start" value="883"/> - <details key="end" value="891"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/getOwnedOperations/%/%.2/%.2"> - <details key="start" value="918"/> - <details key="end" value="1025"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/getOwnedOperations/%/%.2/%.2/%"> - <details key="start" value="921"/> - <details key="end" value="948"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/getOwnedOperations/%/%.2/%.2/%/cl"> - <details key="start" value="922"/> - <details key="end" value="924"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/getOwnedOperations/%/%.2/%.2/%/%"> - <details key="start" value="937"/> - <details key="end" value="946"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/getOwnedOperations/%/%.2/%.2/%.1"> - <details key="start" value="958"/> - <details key="end" value="993"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/getOwnedOperations/%/%.2/%.2/%.1/%"> - <details key="start" value="958"/> - <details key="end" value="978"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/getOwnedOperations/%/%.2/%.2/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/getOwnedOperations/%/%.2/%.2/%.1/%/%"> - <details key="start" value="968"/> - <details key="end" value="977"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/getOwnedOperations/%/%.2/%.2/%.2"> - <details key="start" value="1006"/> - <details key="end" value="1016"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/virtualTxt"> - <details key="start" value="1045"/> - <details key="end" value="1221"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/virtualTxt/%"> - <details key="start" value="1097"/> - <details key="end" value="1209"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/virtualTxt/%/%"> - <details key="start" value="1196"/> - <details key="end" value="1204"/> - <details key="line" value="29"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/virtualTxt/%/%.1"> - <details key="start" value="1100"/> - <details key="end" value="1195"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/virtualTxt/%/%.1/%"> - <details key="start" value="1101"/> - <details key="end" value="1156"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/virtualTxt/%/%.1/%/%"> - <details key="start" value="1101"/> - <details key="end" value="1130"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/virtualTxt/%/%.1/%/%/%"> - <details key="start" value="1102"/> - <details key="end" value="1121"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/virtualTxt/%/%.1/%/%/%/operation"> - <details key="start" value="1102"/> - <details key="end" value="1111"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/virtualTxt/%/%.1/%/%/%.1"> - <details key="start" value="1125"/> - <details key="end" value="1129"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/virtualTxt/%/%.1/%/%.1"> - <details key="start" value="1134"/> - <details key="end" value="1156"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/virtualTxt/%/%.1/%/%.1/operation"> - <details key="start" value="1135"/> - <details key="end" value="1144"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/virtualTxt/%/%.1/%.1"> - <details key="start" value="1160"/> - <details key="end" value="1194"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/virtualTxt/%/%.1/%.1/operation"> - <details key="start" value="1161"/> - <details key="end" value="1170"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/virtualTxt/%/%.1/%.1/%"> - <details key="start" value="1185"/> - <details key="end" value="1192"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/virtualTxt/operation"> - <details key="start" value="1073"/> - <details key="end" value="1094"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.43" references="/0/virtualSuffix"> - <details key="start" value="1224"/> - <details key="end" value="1361"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.44" references="/0/virtualSuffix/%"> - <details key="start" value="1279"/> - <details key="end" value="1349"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/virtualSuffix/%/%"> - <details key="start" value="1340"/> - <details key="end" value="1344"/> - <details key="line" value="34"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/virtualSuffix/%/%.1"> - <details key="start" value="1282"/> - <details key="end" value="1339"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/virtualSuffix/%/%.1/%"> - <details key="start" value="1283"/> - <details key="end" value="1312"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/virtualSuffix/%/%.1/%/%"> - <details key="start" value="1284"/> - <details key="end" value="1303"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/virtualSuffix/%/%.1/%/%/operation"> - <details key="start" value="1284"/> - <details key="end" value="1293"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/virtualSuffix/%/%.1/%/%.1"> - <details key="start" value="1307"/> - <details key="end" value="1311"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/virtualSuffix/%/%.1/%.1"> - <details key="start" value="1316"/> - <details key="end" value="1338"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/virtualSuffix/%/%.1/%.1/operation"> - <details key="start" value="1317"/> - <details key="end" value="1326"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/virtualSuffix/operation"> - <details key="start" value="1255"/> - <details key="end" value="1276"/> - <details key="line" value="33"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/isConsOrDestructor"> - <details key="start" value="1364"/> - <details key="end" value="1502"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/isConsOrDestructor/operation"> - <details key="start" value="1397"/> - <details key="end" value="1418"/> - <details key="line" value="38"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/isConsOrDestructor/%"> - <details key="start" value="1432"/> - <details key="end" value="1499"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/isConsOrDestructor/%/%"> - <details key="start" value="1432"/> - <details key="end" value="1463"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/isConsOrDestructor/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/isConsOrDestructor/%/%/%"> - <details key="start" value="1446"/> - <details key="end" value="1462"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/isConsOrDestructor/%/%.1"> - <details key="start" value="1467"/> - <details key="end" value="1499"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/isConsOrDestructor/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/isConsOrDestructor/%/%.1/%"> - <details key="start" value="1481"/> - <details key="end" value="1498"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/ConsDestructorOrVoid"> - <details key="start" value="1504"/> - <details key="end" value="1627"/> - <details key="line" value="42"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/ConsDestructorOrVoid/operation"> - <details key="start" value="1539"/> - <details key="end" value="1560"/> - <details key="line" value="42"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/ConsDestructorOrVoid/%"> - <details key="start" value="1573"/> - <details key="end" value="1625"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.66" references="/0/ConsDestructorOrVoid/%/%"> - <details key="start" value="1576"/> - <details key="end" value="1596"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.67" references="/0/ConsDestructorOrVoid/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.68" references="/0/ConsDestructorOrVoid/%/%.1"> - <details key="start" value="1603"/> - <details key="end" value="1605"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.69" references="/0/ConsDestructorOrVoid/%/%.2"> - <details key="start" value="1612"/> - <details key="end" value="1619"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.70" references="/0/destructor"> - <details key="start" value="1630"/> - <details key="end" value="1790"/> - <details key="line" value="50"/> - </eAnnotations> - <eAnnotations source="positions.71" references="/0/destructor/operation"> - <details key="start" value="1655"/> - <details key="end" value="1676"/> - <details key="line" value="50"/> - </eAnnotations> - <eAnnotations source="positions.72" references="/0/destructor/%"> - <details key="start" value="1689"/> - <details key="end" value="1788"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.73" references="/0/destructor/%/%"> - <details key="start" value="1692"/> - <details key="end" value="1763"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.74" references="/0/destructor/%/%/%"> - <details key="start" value="1692"/> - <details key="end" value="1724"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.75" references="/0/destructor/%/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.76" references="/0/destructor/%/%/%/%"> - <details key="start" value="1706"/> - <details key="end" value="1723"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.77" references="/0/destructor/%/%/%.1"> - <details key="start" value="1729"/> - <details key="end" value="1763"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.78" references="/0/destructor/%/%/%.1/%"> - <details key="start" value="1733"/> - <details key="end" value="1763"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.79" references="/0/destructor/%/%/%.1/%/%"> - <details key="start" value="1733"/> - <details key="end" value="1747"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.80" references="/0/destructor/%/%/%.1/%/%/operation"> - <details key="start" value="1733"/> - <details key="end" value="1742"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.81" references="/0/destructor/%/%/%.1/%/%.1"> - <details key="start" value="1759"/> - <details key="end" value="1762"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.82" references="/0/destructor/%/%.1"> - <details key="start" value="1770"/> - <details key="end" value="1773"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.83" references="/0/destructor/%/%.2"> - <details key="start" value="1780"/> - <details key="end" value="1782"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.84" references="/0/CppReturnSpec"> - <details key="start" value="1792"/> - <details key="end" value="2051"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.85" references="/0/CppReturnSpec/%"> - <details key="start" value="1847"/> - <details key="end" value="2039"/> - <details key="line" value="58"/> - </eAnnotations> - <eAnnotations source="positions.86" references="/0/CppReturnSpec/%/%"> - <details key="start" value="1890"/> - <details key="end" value="1912"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.87" references="/0/CppReturnSpec/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.88" references="/0/CppReturnSpec/%/%.1"> - <details key="start" value="1851"/> - <details key="end" value="1888"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.89" references="/0/CppReturnSpec/%/%.1/%"> - <details key="start" value="1851"/> - <details key="end" value="1864"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.90" references="/0/CppReturnSpec/%/%.1/%/%"> - <details key="start" value="1852"/> - <details key="end" value="1856"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.91" references="/0/CppReturnSpec/%/%.1/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.92" references="/0/CppReturnSpec/%/%.1/%/%.1"> - <details key="start" value="1859"/> - <details key="end" value="1863"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.93" references="/0/CppReturnSpec/%/%.1/%.1"> - <details key="start" value="1868"/> - <details key="end" value="1888"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.94" references="/0/CppReturnSpec/%/%.1/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.95" references="/0/CppReturnSpec/%/%.2"> - <details key="start" value="1914"/> - <details key="end" value="2034"/> - <details key="line" value="58"/> - </eAnnotations> - <eAnnotations source="positions.96" references="/0/CppReturnSpec/%/%.2/collect"> - <details key="start" value="1921"/> - <details key="end" value="1952"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.97" references="/0/CppReturnSpec/%/%.2/collect/%"> - <details key="start" value="1921"/> - <details key="end" value="1935"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.98" 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.99" 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.100" 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.101" 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.102" references="/0/CppReturnSpec/%/%.2/%"> - <details key="start" value="1954"/> - <details key="end" value="1955"/> - <details key="line" value="58"/> - </eAnnotations> - <eAnnotations source="positions.103" references="/0/CppReturnSpec/%/%.2/%.1"> - <details key="start" value="1956"/> - <details key="end" value="1979"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.104" references="/0/CppReturnSpec/%/%.2/%.1/%"> - <details key="start" value="1956"/> - <details key="end" value="1960"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.105" 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.106" references="/0/CppReturnSpec/%/%.2/collect.1"> - <details key="start" value="1982"/> - <details key="end" value="2005"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.107" references="/0/CppReturnSpec/%/%.2/collect.1/%"> - <details key="start" value="1982"/> - <details key="end" value="1996"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.108" references="/0/CppReturnSpec/%/%.2/collect.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.109" references="/0/CppReturnSpec/%/%.2/collect.1/%.1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.110" references="/0/CppReturnSpec/%/%.2/collect.1/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.111" references="/0/CppReturnSpec/%/%.2/collect.1/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.112" references="/0/CppReturnSpec/%/%.2/collect.2"> - <details key="start" value="2008"/> - <details key="end" value="2031"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.113" references="/0/CppReturnSpec/%/%.2/collect.2/%"> - <details key="start" value="2008"/> - <details key="end" value="2022"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.114" references="/0/CppReturnSpec/%/%.2/collect.2/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.115" references="/0/CppReturnSpec/%/%.2/collect.2/%.1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.116" references="/0/CppReturnSpec/%/%.2/collect.2/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.117" references="/0/CppReturnSpec/%/%.2/collect.2/temp3"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.118" references="/0/CppReturnSpec/%/%.2/%.2"> - <details key="start" value="2033"/> - <details key="end" value="2034"/> - <details key="line" value="58"/> - </eAnnotations> - <eAnnotations source="positions.119" references="/0/CppReturnSpec/operation"> - <details key="start" value="1823"/> - <details key="end" value="1844"/> - <details key="line" value="57"/> - </eAnnotations> - <eAnnotations source="positions.120" references="/0/CppReturnSpec.1"> - <details key="start" value="2054"/> - <details key="end" value="2292"/> - <details key="line" value="62"/> - </eAnnotations> - <eAnnotations source="positions.121" references="/0/CppReturnSpec.1/%"> - <details key="start" value="2107"/> - <details key="end" value="2280"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.122" references="/0/CppReturnSpec.1/%/%"> - <details key="start" value="2135"/> - <details key="end" value="2140"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.123" references="/0/CppReturnSpec.1/%/%.1"> - <details key="start" value="2111"/> - <details key="end" value="2134"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.124" references="/0/CppReturnSpec.1/%/%.1/%"> - <details key="start" value="2112"/> - <details key="end" value="2126"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.125" references="/0/CppReturnSpec.1/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.126" references="/0/CppReturnSpec.1/%/%.1/%.1"> - <details key="start" value="2129"/> - <details key="end" value="2133"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.127" references="/0/CppReturnSpec.1/%/%.2"> - <details key="start" value="2140"/> - <details key="end" value="2275"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.128" references="/0/CppReturnSpec.1/%/%.2/%"> - <details key="start" value="2147"/> - <details key="end" value="2178"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.129" references="/0/CppReturnSpec.1/%/%.2/%/%"> - <details key="start" value="2147"/> - <details key="end" value="2161"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.130" references="/0/CppReturnSpec.1/%/%.2/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.131" references="/0/CppReturnSpec.1/%/%.2/%.1"> - <details key="start" value="2180"/> - <details key="end" value="2181"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.132" references="/0/CppReturnSpec.1/%/%.2/%.2"> - <details key="start" value="2182"/> - <details key="end" value="2220"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.133" references="/0/CppReturnSpec.1/%/%.2/%.2/%"> - <details key="start" value="2182"/> - <details key="end" value="2201"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.134" references="/0/CppReturnSpec.1/%/%.2/%.2/%/%"> - <details key="start" value="2182"/> - <details key="end" value="2196"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.135" references="/0/CppReturnSpec.1/%/%.2/%.2/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.136" references="/0/CppReturnSpec.1/%/%.2/%.3"> - <details key="start" value="2223"/> - <details key="end" value="2246"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.137" references="/0/CppReturnSpec.1/%/%.2/%.3/%"> - <details key="start" value="2223"/> - <details key="end" value="2237"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.138" references="/0/CppReturnSpec.1/%/%.2/%.3/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.139" references="/0/CppReturnSpec.1/%/%.2/%.4"> - <details key="start" value="2249"/> - <details key="end" value="2272"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.140" references="/0/CppReturnSpec.1/%/%.2/%.4/%"> - <details key="start" value="2249"/> - <details key="end" value="2263"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.141" references="/0/CppReturnSpec.1/%/%.2/%.4/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.142" references="/0/CppReturnSpec.1/%/%.2/%.5"> - <details key="start" value="2274"/> - <details key="end" value="2275"/> - <details key="line" value="63"/> - </eAnnotations> - <eAnnotations source="positions.143" references="/0/CppReturnSpec.1/behavior"> - <details key="start" value="2085"/> - <details key="end" value="2104"/> - <details key="line" value="62"/> - </eAnnotations> - <eAnnotations source="positions.144" references="/0/InlineTxt"> - <details key="start" value="2295"/> - <details key="end" value="2394"/> - <details key="line" value="67"/> - </eAnnotations> - <eAnnotations source="positions.145" references="/0/InlineTxt/%"> - <details key="start" value="2342"/> - <details key="end" value="2382"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.146" references="/0/InlineTxt/%/%"> - <details key="start" value="2370"/> - <details key="end" value="2377"/> - <details key="line" value="68"/> - </eAnnotations> - <eAnnotations source="positions.147" references="/0/InlineTxt/%/%.1"> - <details key="start" value="2346"/> - <details key="end" value="2369"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.148" references="/0/InlineTxt/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.149" references="/0/InlineTxt/%/%.1/%"> - <details key="start" value="2361"/> - <details key="end" value="2367"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.150" references="/0/InlineTxt/element"> - <details key="start" value="2322"/> - <details key="end" value="2339"/> - <details key="line" value="67"/> - </eAnnotations> - <eAnnotations source="positions.151" references="/0/staticTxt"> - <details key="start" value="2397"/> - <details key="end" value="2487"/> - <details key="line" value="72"/> - </eAnnotations> - <eAnnotations source="positions.152" references="/0/staticTxt/%"> - <details key="start" value="2448"/> - <details key="end" value="2475"/> - <details key="line" value="73"/> - </eAnnotations> - <eAnnotations source="positions.153" references="/0/staticTxt/%/%"> - <details key="start" value="2463"/> - <details key="end" value="2470"/> - <details key="line" value="73"/> - </eAnnotations> - <eAnnotations source="positions.154" references="/0/staticTxt/%/%.1"> - <details key="start" value="2452"/> - <details key="end" value="2462"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.155" references="/0/staticTxt/%/%.1/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.156" references="/0/staticTxt/operation"> - <details key="start" value="2424"/> - <details key="end" value="2445"/> - <details key="line" value="72"/> - </eAnnotations> - <eAnnotations source="positions.157" references="/0/CppOperationDeclaration"> - <details key="start" value="2489"/> - <details key="end" value="2751"/> - <details key="line" value="76"/> - </eAnnotations> - <eAnnotations source="positions.158" references="/0/CppOperationDeclaration/%"> - <details key="start" value="2555"/> - <details key="end" value="2572"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.159" references="/0/CppOperationDeclaration/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.160" references="/0/CppOperationDeclaration/%.1"> - <details key="start" value="2574"/> - <details key="end" value="2575"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.161" references="/0/CppOperationDeclaration/%.2"> - <details key="start" value="2576"/> - <details key="end" value="2587"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.162" references="/0/CppOperationDeclaration/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.163" references="/0/CppOperationDeclaration/%.3"> - <details key="start" value="2590"/> - <details key="end" value="2602"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.164" references="/0/CppOperationDeclaration/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.165" references="/0/CppOperationDeclaration/%.4"> - <details key="start" value="2605"/> - <details key="end" value="2616"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.166" references="/0/CppOperationDeclaration/%.4/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.167" references="/0/CppOperationDeclaration/%.5"> - <details key="start" value="2619"/> - <details key="end" value="2634"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.168" references="/0/CppOperationDeclaration/%.5/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.169" references="/0/CppOperationDeclaration/%.6"> - <details key="start" value="2637"/> - <details key="end" value="2649"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.170" references="/0/CppOperationDeclaration/%.6/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.171" references="/0/CppOperationDeclaration/%.7"> - <details key="start" value="2652"/> - <details key="end" value="2666"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.172" references="/0/CppOperationDeclaration/%.7/operation"> - <details key="start" value="2652"/> - <details key="end" value="2661"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.173" references="/0/CppOperationDeclaration/%.8"> - <details key="start" value="2668"/> - <details key="end" value="2669"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.174" references="/0/CppOperationDeclaration/%.9"> - <details key="start" value="2670"/> - <details key="end" value="2698"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.175" references="/0/CppOperationDeclaration/%.9/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.176" references="/0/CppOperationDeclaration/%.9/%"> - <details key="start" value="2693"/> - <details key="end" value="2697"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.177" references="/0/CppOperationDeclaration/%.10"> - <details key="start" value="2700"/> - <details key="end" value="2701"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.178" references="/0/CppOperationDeclaration/%.11"> - <details key="start" value="2702"/> - <details key="end" value="2718"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.179" references="/0/CppOperationDeclaration/%.11/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.180" references="/0/CppOperationDeclaration/%.12"> - <details key="start" value="2721"/> - <details key="end" value="2736"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.181" references="/0/CppOperationDeclaration/%.12/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.182" references="/0/CppOperationDeclaration/%.13"> - <details key="start" value="2738"/> - <details key="end" value="2739"/> - <details key="line" value="78"/> - </eAnnotations> - <eAnnotations source="positions.183" references="/0/CppOperationDeclaration/operation"> - <details key="start" value="2530"/> - <details key="end" value="2551"/> - <details key="line" value="76"/> - </eAnnotations> - <eAnnotations source="positions.184" references="/0/CppBehaviorDeclaration"> - <details key="start" value="2753"/> - <details key="end" value="2947"/> - <details key="line" value="81"/> - </eAnnotations> - <eAnnotations source="positions.185" references="/0/CppBehaviorDeclaration/%"> - <details key="start" value="2816"/> - <details key="end" value="2832"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.186" references="/0/CppBehaviorDeclaration/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.187" references="/0/CppBehaviorDeclaration/%.1"> - <details key="start" value="2834"/> - <details key="end" value="2835"/> - <details key="line" value="83"/> - </eAnnotations> - <eAnnotations source="positions.188" references="/0/CppBehaviorDeclaration/%.2"> - <details key="start" value="2836"/> - <details key="end" value="2847"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.189" references="/0/CppBehaviorDeclaration/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.190" references="/0/CppBehaviorDeclaration/%.3"> - <details key="start" value="2850"/> - <details key="end" value="2865"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.191" references="/0/CppBehaviorDeclaration/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.192" references="/0/CppBehaviorDeclaration/%.4"> - <details key="start" value="2868"/> - <details key="end" value="2881"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.193" references="/0/CppBehaviorDeclaration/%.4/behavior"> - <details key="start" value="2868"/> - <details key="end" value="2876"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.194" references="/0/CppBehaviorDeclaration/%.5"> - <details key="start" value="2883"/> - <details key="end" value="2884"/> - <details key="line" value="83"/> - </eAnnotations> - <eAnnotations source="positions.195" references="/0/CppBehaviorDeclaration/%.6"> - <details key="start" value="2885"/> - <details key="end" value="2912"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.196" references="/0/CppBehaviorDeclaration/%.6/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.197" references="/0/CppBehaviorDeclaration/%.6/%"> - <details key="start" value="2907"/> - <details key="end" value="2911"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.198" references="/0/CppBehaviorDeclaration/%.7"> - <details key="start" value="2914"/> - <details key="end" value="2915"/> - <details key="line" value="83"/> - </eAnnotations> - <eAnnotations source="positions.199" references="/0/CppBehaviorDeclaration/%.8"> - <details key="start" value="2916"/> - <details key="end" value="2932"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.200" references="/0/CppBehaviorDeclaration/%.8/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.201" references="/0/CppBehaviorDeclaration/%.9"> - <details key="start" value="2934"/> - <details key="end" value="2935"/> - <details key="line" value="83"/> - </eAnnotations> - <eAnnotations source="positions.202" references="/0/CppBehaviorDeclaration/behavior"> - <details key="start" value="2793"/> - <details key="end" value="2812"/> - <details key="line" value="81"/> - </eAnnotations> - <eAnnotations source="positions.203" references="/0/CppConstInit"> - <details key="start" value="2949"/> - <details key="end" value="3154"/> - <details key="line" value="86"/> - </eAnnotations> - <eAnnotations source="positions.204" references="/0/CppConstInit/%"> - <details key="start" value="3003"/> - <details key="end" value="3142"/> - <details key="line" value="87"/> - </eAnnotations> - <eAnnotations source="positions.205" references="/0/CppConstInit/%/%"> - <details key="start" value="3070"/> - <details key="end" value="3073"/> - <details key="line" value="87"/> - </eAnnotations> - <eAnnotations source="positions.206" references="/0/CppConstInit/%/%.1"> - <details key="start" value="3074"/> - <details key="end" value="3135"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.207" references="/0/CppConstInit/%/%.1/%"> - <details key="start" value="3074"/> - <details key="end" value="3120"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.208" references="/0/CppConstInit/%/%.1/%/%"> - <details key="start" value="3074"/> - <details key="end" value="3099"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.209" references="/0/CppConstInit/%/%.1/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.210" references="/0/CppConstInit/%/%.1/%/%/%"> - <details key="start" value="3089"/> - <details key="end" value="3098"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.211" references="/0/CppConstInit/%/%.1/%/%.1"> - <details key="start" value="3110"/> - <details key="end" value="3119"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.212" references="/0/CppConstInit/%/%.2"> - <details key="start" value="3007"/> - <details key="end" value="3069"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.213" references="/0/CppConstInit/%/%.2/%"> - <details key="start" value="3008"/> - <details key="end" value="3032"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.214" references="/0/CppConstInit/%/%.2/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.215" references="/0/CppConstInit/%/%.2/%/%"> - <details key="start" value="3022"/> - <details key="end" value="3031"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.216" references="/0/CppConstInit/%/%.2/%.1"> - <details key="start" value="3037"/> - <details key="end" value="3068"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.217" 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.218" references="/0/CppConstInit/%/%.2/%.1/%"> - <details key="start" value="3051"/> - <details key="end" value="3067"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.219" references="/0/CppConstInit/operation"> - <details key="start" value="2979"/> - <details key="end" value="3000"/> - <details key="line" value="86"/> - </eAnnotations> - <eAnnotations source="positions.220" references="/0/%.1"> - <details key="start" value="3157"/> - <details key="end" value="3237"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.221" references="/0/getBodyInTemplate"> - <details key="start" value="3238"/> - <details key="end" value="3355"/> - <details key="line" value="92"/> - </eAnnotations> - <eAnnotations source="positions.222" references="/0/getBodyInTemplate/%"> - <details key="start" value="3317"/> - <details key="end" value="3341"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.223" references="/0/getBodyInTemplate/%/%"> - <details key="start" value="3317"/> - <details key="end" value="3334"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.224" references="/0/getBodyInTemplate/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.225" references="/0/getBodyInTemplate/%/%/language"> - <details key="start" value="3325"/> - <details key="end" value="3333"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.226" references="/0/getBodyInTemplate/operation"> - <details key="start" value="3273"/> - <details key="end" value="3294"/> - <details key="line" value="92"/> - </eAnnotations> - <eAnnotations source="positions.227" references="/0/getBodyInTemplate/language"> - <details key="start" value="3296"/> - <details key="end" value="3313"/> - <details key="line" value="92"/> - </eAnnotations> - <eAnnotations source="positions.228" references="/0/throws"> - <details key="start" value="3358"/> - <details key="end" value="3526"/> - <details key="line" value="97"/> - </eAnnotations> - <eAnnotations source="positions.229" references="/0/throws/%"> - <details key="start" value="3405"/> - <details key="end" value="3514"/> - <details key="line" value="98"/> - </eAnnotations> - <eAnnotations source="positions.230" references="/0/throws/%/%"> - <details key="start" value="3450"/> - <details key="end" value="3457"/> - <details key="line" value="99"/> - </eAnnotations> - <eAnnotations source="positions.231" references="/0/throws/%/%.1"> - <details key="start" value="3457"/> - <details key="end" value="3508"/> - <details key="line" value="99"/> - </eAnnotations> - <eAnnotations source="positions.232" references="/0/throws/%/%.1/%"> - <details key="start" value="3496"/> - <details key="end" value="3500"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.233" references="/0/throws/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.234" references="/0/throws/%/%.1/%.1"> - <details key="start" value="3463"/> - <details key="end" value="3478"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.235" 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.236" references="/0/throws/%/%.1/%.2"> - <details key="start" value="3490"/> - <details key="end" value="3493"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.237" references="/0/throws/%/%.2"> - <details key="start" value="3508"/> - <details key="end" value="3509"/> - <details key="line" value="100"/> - </eAnnotations> - <eAnnotations source="positions.238" references="/0/throws/%/%.3"> - <details key="start" value="3409"/> - <details key="end" value="3448"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.239" references="/0/throws/%/%.3/%"> - <details key="start" value="3410"/> - <details key="end" value="3443"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.240" references="/0/throws/%/%.3/%/%"> - <details key="start" value="3410"/> - <details key="end" value="3435"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.241" references="/0/throws/%/%.3/%/%/operation"> - <details key="start" value="3410"/> - <details key="end" value="3419"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.242" references="/0/throws/%/%.3/%.1"> - <details key="start" value="3446"/> - <details key="end" value="3447"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.243" references="/0/throws/operation"> - <details key="start" value="3382"/> - <details key="end" value="3402"/> - <details key="line" value="97"/> - </eAnnotations> - <eAnnotations source="positions.244" references="/0/CppOperationImplementation"> - <details key="start" value="3529"/> - <details key="end" value="4037"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.245" references="/0/CppOperationImplementation/%"> - <details key="start" value="3598"/> - <details key="end" value="3615"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.246" references="/0/CppOperationImplementation/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.247" references="/0/CppOperationImplementation/%.1"> - <details key="start" value="3617"/> - <details key="end" value="3618"/> - <details key="line" value="106"/> - </eAnnotations> - <eAnnotations source="positions.248" references="/0/CppOperationImplementation/%.2"> - <details key="start" value="3618"/> - <details key="end" value="4025"/> - <details key="line" value="106"/> - </eAnnotations> - <eAnnotations source="positions.249" references="/0/CppOperationImplementation/%.2/%"> - <details key="start" value="3650"/> - <details key="end" value="3665"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.250" references="/0/CppOperationImplementation/%.2/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.251" references="/0/CppOperationImplementation/%.2/%.1"> - <details key="start" value="3668"/> - <details key="end" value="3682"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.252" references="/0/CppOperationImplementation/%.2/%.1/operation"> - <details key="start" value="3668"/> - <details key="end" value="3677"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.253" references="/0/CppOperationImplementation/%.2/%.2"> - <details key="start" value="3684"/> - <details key="end" value="3685"/> - <details key="line" value="107"/> - </eAnnotations> - <eAnnotations source="positions.254" references="/0/CppOperationImplementation/%.2/%.3"> - <details key="start" value="3686"/> - <details key="end" value="3715"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.255" 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.256" references="/0/CppOperationImplementation/%.2/%.3/%"> - <details key="start" value="3709"/> - <details key="end" value="3714"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.257" references="/0/CppOperationImplementation/%.2/%.4"> - <details key="start" value="3717"/> - <details key="end" value="3722"/> - <details key="line" value="107"/> - </eAnnotations> - <eAnnotations source="positions.258" references="/0/CppOperationImplementation/%.2/%.5"> - <details key="start" value="3723"/> - <details key="end" value="3739"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.259" 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.260" references="/0/CppOperationImplementation/%.2/%.5/%"> - <details key="start" value="3731"/> - <details key="end" value="3738"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.261" references="/0/CppOperationImplementation/%.2/%.6"> - <details key="start" value="3741"/> - <details key="end" value="3744"/> - <details key="line" value="109"/> - </eAnnotations> - <eAnnotations source="positions.262" references="/0/CppOperationImplementation/%.2/%.7"> - <details key="start" value="3622"/> - <details key="end" value="3647"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.263" references="/0/CppOperationImplementation/%.2/%.7/%"> - <details key="start" value="3623"/> - <details key="end" value="3637"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.264" references="/0/CppOperationImplementation/%.2/%.7/%/operation"> - <details key="start" value="3623"/> - <details key="end" value="3632"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.265" references="/0/CppOperationImplementation/%.2/%.7/%.1"> - <details key="start" value="3640"/> - <details key="end" value="3646"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.266" references="/0/CppOperationImplementation/%.2/%.8"> - <details key="start" value="3744"/> - <details key="end" value="4020"/> - <details key="line" value="110"/> - </eAnnotations> - <eAnnotations source="positions.267" references="/0/CppOperationImplementation/%.2/%.8/%"> - <details key="start" value="3752"/> - <details key="end" value="3771"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.268" 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.269" references="/0/CppOperationImplementation/%.2/%.8/%.1"> - <details key="start" value="3774"/> - <details key="end" value="3785"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.270" 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.271" references="/0/CppOperationImplementation/%.2/%.8/%.2"> - <details key="start" value="3788"/> - <details key="end" value="3803"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.272" 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.273" references="/0/CppOperationImplementation/%.2/%.8/collect"> - <details key="start" value="3806"/> - <details key="end" value="3840"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.274" references="/0/CppOperationImplementation/%.2/%.8/collect/%"> - <details key="start" value="3806"/> - <details key="end" value="3835"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.275" references="/0/CppOperationImplementation/%.2/%.8/collect/%/operation"> - <details key="start" value="3806"/> - <details key="end" value="3815"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.276" references="/0/CppOperationImplementation/%.2/%.8/collect/%.1"> - <details key="start" value="3836"/> - <details key="end" value="3840"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.277" references="/0/CppOperationImplementation/%.2/%.8/collect/%.1/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.278" references="/0/CppOperationImplementation/%.2/%.8/collect/temp4"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.279" references="/0/CppOperationImplementation/%.2/%.8/%.3"> - <details key="start" value="3843"/> - <details key="end" value="3867"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.280" references="/0/CppOperationImplementation/%.2/%.8/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.281" references="/0/CppOperationImplementation/%.2/%.8/%.4"> - <details key="start" value="3869"/> - <details key="end" value="3871"/> - <details key="line" value="111"/> - </eAnnotations> - <eAnnotations source="positions.282" references="/0/CppOperationImplementation/%.2/%.8/%.5"> - <details key="start" value="3872"/> - <details key="end" value="3884"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.283" references="/0/CppOperationImplementation/%.2/%.8/%.5/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.284" references="/0/CppOperationImplementation/%.2/%.8/%.6"> - <details key="start" value="3887"/> - <details key="end" value="3901"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.285" references="/0/CppOperationImplementation/%.2/%.8/%.6/operation"> - <details key="start" value="3887"/> - <details key="end" value="3896"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.286" references="/0/CppOperationImplementation/%.2/%.8/%.7"> - <details key="start" value="3903"/> - <details key="end" value="3904"/> - <details key="line" value="111"/> - </eAnnotations> - <eAnnotations source="positions.287" references="/0/CppOperationImplementation/%.2/%.8/%.8"> - <details key="start" value="3905"/> - <details key="end" value="3934"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.288" references="/0/CppOperationImplementation/%.2/%.8/%.8/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.289" references="/0/CppOperationImplementation/%.2/%.8/%.8/%"> - <details key="start" value="3928"/> - <details key="end" value="3933"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.290" references="/0/CppOperationImplementation/%.2/%.8/%.9"> - <details key="start" value="3936"/> - <details key="end" value="3937"/> - <details key="line" value="111"/> - </eAnnotations> - <eAnnotations source="positions.291" references="/0/CppOperationImplementation/%.2/%.8/%.10"> - <details key="start" value="3938"/> - <details key="end" value="3946"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.292" references="/0/CppOperationImplementation/%.2/%.8/%.10/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.293" references="/0/CppOperationImplementation/%.2/%.8/%.11"> - <details key="start" value="3949"/> - <details key="end" value="3965"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.294" 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.295" references="/0/CppOperationImplementation/%.2/%.8/%.12"> - <details key="start" value="3968"/> - <details key="end" value="3982"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.296" 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.297" references="/0/CppOperationImplementation/%.2/%.8/%.13"> - <details key="start" value="3984"/> - <details key="end" value="3988"/> - <details key="line" value="111"/> - </eAnnotations> - <eAnnotations source="positions.298" references="/0/CppOperationImplementation/%.2/%.8/%.14"> - <details key="start" value="3989"/> - <details key="end" value="4015"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.299" references="/0/CppOperationImplementation/%.2/%.8/%.14/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.300" references="/0/CppOperationImplementation/%.2/%.8/%.14/%"> - <details key="start" value="4007"/> - <details key="end" value="4014"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.301" references="/0/CppOperationImplementation/%.2/%.8/%.15"> - <details key="start" value="4017"/> - <details key="end" value="4020"/> - <details key="line" value="113"/> - </eAnnotations> - <eAnnotations source="positions.302" references="/0/CppOperationImplementation/operation"> - <details key="start" value="3573"/> - <details key="end" value="3594"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.303" references="/0/CppBehaviorImplementation"> - <details key="start" value="4040"/> - <details key="end" value="4287"/> - <details key="line" value="118"/> - </eAnnotations> - <eAnnotations source="positions.304" references="/0/CppBehaviorImplementation/%"> - <details key="start" value="4112"/> - <details key="end" value="4128"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.305" references="/0/CppBehaviorImplementation/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.306" references="/0/CppBehaviorImplementation/%.1"> - <details key="start" value="4130"/> - <details key="end" value="4131"/> - <details key="line" value="120"/> - </eAnnotations> - <eAnnotations source="positions.307" references="/0/CppBehaviorImplementation/%.2"> - <details key="start" value="4132"/> - <details key="end" value="4147"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.308" references="/0/CppBehaviorImplementation/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.309" references="/0/CppBehaviorImplementation/%.3"> - <details key="start" value="4150"/> - <details key="end" value="4172"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.310" references="/0/CppBehaviorImplementation/%.3/%"> - <details key="start" value="4150"/> - <details key="end" value="4167"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.311" references="/0/CppBehaviorImplementation/%.3/%/behavior"> - <details key="start" value="4150"/> - <details key="end" value="4158"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.312" references="/0/CppBehaviorImplementation/%.4"> - <details key="start" value="4174"/> - <details key="end" value="4176"/> - <details key="line" value="120"/> - </eAnnotations> - <eAnnotations source="positions.313" references="/0/CppBehaviorImplementation/%.5"> - <details key="start" value="4177"/> - <details key="end" value="4190"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.314" references="/0/CppBehaviorImplementation/%.5/behavior"> - <details key="start" value="4177"/> - <details key="end" value="4185"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.315" references="/0/CppBehaviorImplementation/%.6"> - <details key="start" value="4192"/> - <details key="end" value="4193"/> - <details key="line" value="120"/> - </eAnnotations> - <eAnnotations source="positions.316" references="/0/CppBehaviorImplementation/%.7"> - <details key="start" value="4194"/> - <details key="end" value="4222"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.317" references="/0/CppBehaviorImplementation/%.7/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.318" references="/0/CppBehaviorImplementation/%.7/%"> - <details key="start" value="4216"/> - <details key="end" value="4221"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.319" references="/0/CppBehaviorImplementation/%.8"> - <details key="start" value="4224"/> - <details key="end" value="4225"/> - <details key="line" value="120"/> - </eAnnotations> - <eAnnotations source="positions.320" references="/0/CppBehaviorImplementation/%.9"> - <details key="start" value="4226"/> - <details key="end" value="4242"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.321" references="/0/CppBehaviorImplementation/%.9/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.322" references="/0/CppBehaviorImplementation/%.10"> - <details key="start" value="4244"/> - <details key="end" value="4248"/> - <details key="line" value="120"/> - </eAnnotations> - <eAnnotations source="positions.323" references="/0/CppBehaviorImplementation/%.11"> - <details key="start" value="4249"/> - <details key="end" value="4271"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.324" references="/0/CppBehaviorImplementation/%.11/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.325" references="/0/CppBehaviorImplementation/%.11/%"> - <details key="start" value="4263"/> - <details key="end" value="4270"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.326" references="/0/CppBehaviorImplementation/%.12"> - <details key="start" value="4273"/> - <details key="end" value="4275"/> - <details key="line" value="122"/> - </eAnnotations> - <eAnnotations source="positions.327" references="/0/CppBehaviorImplementation/behavior"> - <details key="start" value="4083"/> - <details key="end" value="4108"/> - <details key="line" value="118"/> - </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 deleted file mode 100644 index 99720c6e618..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppOperations.mtl +++ /dev/null @@ -1,123 +0,0 @@ -[module CppOperations('http://www.eclipse.org/uml2/5.0.0/UML', 'http://www.eclipse.org/papyrus/C_Cpp/1', 'http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard')/] -[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/] -[import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates/] - - -[comment -return a list of owned operations, since this is not supported directly on a classifier/] -[query public getOwnedOperations(cl : Classifier) : Sequence(Operation) = - if (cl.oclIsKindOf(Class)) then - oclAsType(Class).ownedOperation - else - if (cl.oclIsKindOf(DataType)) then - oclAsType(DataType).ownedOperation - else - if (cl.oclIsKindOf(Interface)) then - oclAsType(Interface).ownedOperation - else - Sequence{} - endif - endif - endif -/] - -[template public virtualTxt(operation : Operation)] -[if((operation.interface <> null) or (operation.isAbstract) or (operation.hasStereotype(Virtual)))]virtual [/if] -[/template] - - -[template public virtualSuffix(operation : Operation)] -[if((operation.interface <> null) or (operation.isAbstract))] = 0[/if] -[/template] - - -[query public isConsOrDestructor(operation : Operation) : Boolean = -hasStereotype(standard::Create) or hasStereotype(standard::Destroy) -/] - -[query public ConsDestructorOrVoid(operation : Operation) : String = -if isConsOrDestructor() then - '' -else - 'void ' -endif/] - - -[query public destructor(operation : Operation) : String = -if hasStereotype(standard::Destroy) and not operation.name.startsWith('~') then - '~' -else - '' -endif/] - -[template public CppReturnSpec(operation : Operation)] -[if (type = null) or isConsOrDestructor()][ConsDestructorOrVoid()/][else][returnResult().modCVQualifier()/] [type.cppQualifiedName()/][returnResult().modPtr()/][returnResult().modRef()/] [/if] -[/template] - - -[template public CppReturnSpec(behavior : Behavior)] -[if (returnResult() = null)]void [else][returnResult().modCVQualifier()/] [returnResult().type.cppQualifiedName()/][returnResult().modPtr()/][returnResult().modRef()/] [/if] -[/template] - - -[template public InlineTxt(element : Element)] -[if (hasStereotype(Inline))]inline [/if] -[/template] - - -[template public staticTxt(operation : Operation)] -[if (isStatic)]static [/if] -[/template] - -[template public CppOperationDeclaration(operation : Operation)] -[CppOperationDoc()/] -[InlineTxt()/][virtualTxt()/][staticTxt()/][CppReturnSpec()/][destructor()/][operation.name/]([CppOperationParameters(true)/])[modCVQualifier()/][virtualSuffix()/]; -[/template] - -[template public CppBehaviorDeclaration(behavior : Behavior)] -[CppBehaviorDoc()/] -[InlineTxt()/][CppReturnSpec()/][behavior.name/]([CppBehaviorParameters(true)/])[modCVQualifier()/]; -[/template] - -[template public CppConstInit(operation : Operation)] -[if (hasStereotype(ConstInit) and hasStereotype(standard::Create))] : [getApplication(ConstInit).oclAsType(ConstInit).initialisation/][/if] -[/template] - - -[comment wrapper for native query (otherwise Acceleo does not indent properly)/] -[template public getBodyInTemplate(operation : Operation, language : String)] -[getBody(language).trim()/] -[/template] - - -[template public throws(operation: Operation)] -[if (operation.raisedException->size() > 0)] -throws [for (raisedException) separator(',')][name/][/for] -[/if] -[/template] - - -[template public CppOperationImplementation(operation : Operation)] -[CppOperationDoc()/] -[if (operation.name = 'main')] -[CppReturnSpec()/][operation.name/]([CppOperationParameters(false)/]) { - [getBody('C/C++')/] -} -[else] -[templateSignature()/][InlineTxt()/][CppReturnSpec()/][operation.featuringClassifier.name/][templateShortSignature()/]::[destructor()/][operation.name/]([CppOperationParameters(false)/])[throws()/][modCVQualifier()/][CppConstInit()/] { - [getBodyInTemplate('C/C++')/] -} -[/if] -[/template] - - -[template public CppBehaviorImplementation(behavior : OpaqueBehavior)] -[CppBehaviorDoc()/] -[CppReturnSpec()/][behavior._context.name/]::[behavior.name/]([CppBehaviorParameters(false)/])[modCVQualifier()/] { - [getBodyFromOB('C/C++')/] -} -[/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl deleted file mode 100644 index d02d03ec0ae..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.emtl +++ /dev/null @@ -1,880 +0,0 @@ -<?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/5.0.0/UML#/"/> - </input> - <input> - <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> - </input> - <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> - <imports href="../../../utils/CppGenUtils.emtl#/0"/> - <imports href="../../../utils/Modifier.emtl#/0"/> - <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/5.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/defaultValue"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.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:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/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"/> - </ifExpr> - </body> - <parameter name="parameter"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </parameter> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="430" endPosition="561" 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/modCVQualifier"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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="/14"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/15"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.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="/17"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/19"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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="/28"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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="/24/OrderedSet(Parameter)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/24/OrderedSet(Parameter)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/> - </source> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterDirectionKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.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/5.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/5.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> - <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1039" endPosition="1105" value=" signature for a given behavior (e.g. effect within state machine)"/> - </ownedModuleElement> - <ownedModuleElement xsi:type="mtl:Template" name="CppBehaviorParameters" visibility="Public"> - <body xsi:type="mtl:ForBlock"> - <body xsi:type="mtl:TemplateInvocation" definition="/0/CppParameter"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </argument> - <argument xsi:type="ocl.ecore:VariableExp" name="showDefault" referredVariable="/0/CppBehaviorParameters/showDefault"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </argument> - </body> - <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/24/OrderedSet(Parameter)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/24/OrderedSet(Parameter)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior/ownedParameter"/> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterDirectionKind"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/CppBehaviorParameters/%/select/temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter/direction"/> - </source> - <argument xsi:type="ocl.ecore:EnumLiteralExp"> - <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterDirectionKind"/> - <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterDirectionKind/return"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> - </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp2"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </iterator> - </iterSet> - <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </each> - </body> - <parameter name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </parameter> - <parameter name="showDefault"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </parameter> - </ownedModuleElement> - </mtl:Module> - <ecore:EPackage name="additions"> - <eClassifiers xsi:type="ecore:EClass" name="String_Class"> - <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/5.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/5.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/5.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="CppBehaviorParameters"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/CppBehaviorParameters"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <eParameters name="behavior"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eParameters> - <eParameters name="showDefault"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - </eParameters> - </eOperations> - <eOperations name="cppQualifiedName"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL"> - <references href="../../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> - </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/5.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/5.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/5.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/5.0.0/UML#//Element"/> - </eParameters> - </eOperations> - <eOperations name="modCVQualifier"> - <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/modCVQualifier"/> - </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/5.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/5.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/5.0.0/UML#//Operation"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="Class_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Package"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//PrimitiveType"/> - </eAnnotations> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <references href="http://www.eclipse.org/uml2/5.0.0/UML#//VisibilityKind"/> - </eAnnotations> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.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/5.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/5.0.0/UML#//Parameter"/> - </eClassifiers> - </ecore:EPackage> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="i"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/defaultValue"> - <details key="start" value="290"/> - <details key="end" value="420"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/defaultValue/%"> - <details key="start" value="344"/> - <details key="end" value="408"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/defaultValue/%/%"> - <details key="start" value="371"/> - <details key="end" value="374"/> - <details key="line" value="10"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/defaultValue/%/%.1"> - <details key="start" value="375"/> - <details key="end" value="401"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/defaultValue/%/%.1/%"> - <details key="start" value="375"/> - <details key="end" value="387"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/defaultValue/%/%.1/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/defaultValue/%/%.2"> - <details key="start" value="348"/> - <details key="end" value="370"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/defaultValue/%/%.2/%"> - <details key="start" value="349"/> - <details key="end" value="361"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/defaultValue/%/%.2/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/defaultValue/%/%.2/%.1"> - <details key="start" value="365"/> - <details key="end" value="369"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/defaultValue/parameter"> - <details key="start" value="320"/> - <details key="end" value="341"/> - <details key="line" value="9"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/%"> - <details key="start" value="422"/> - <details key="end" value="563"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/CppParameter"> - <details key="start" value="564"/> - <details key="end" value="801"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/CppParameter/%"> - <details key="start" value="642"/> - <details key="end" value="658"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/CppParameter/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/CppParameter/%.1"> - <details key="start" value="661"/> - <details key="end" value="694"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/CppParameter/%.1/%"> - <details key="start" value="661"/> - <details key="end" value="675"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/CppParameter/%.1/%/parameter"> - <details key="start" value="661"/> - <details key="end" value="670"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.18" references="/0/CppParameter/%.2"> - <details key="start" value="697"/> - <details key="end" value="705"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.19" references="/0/CppParameter/%.2/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.20" references="/0/CppParameter/%.3"> - <details key="start" value="708"/> - <details key="end" value="716"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.21" references="/0/CppParameter/%.3/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.22" references="/0/CppParameter/%.4"> - <details key="start" value="718"/> - <details key="end" value="719"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.23" references="/0/CppParameter/%.5"> - <details key="start" value="720"/> - <details key="end" value="734"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.24" references="/0/CppParameter/%.5/parameter"> - <details key="start" value="720"/> - <details key="end" value="729"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.25" references="/0/CppParameter/%.6"> - <details key="start" value="737"/> - <details key="end" value="747"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.26" references="/0/CppParameter/%.6/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.27" references="/0/CppParameter/%.7"> - <details key="start" value="749"/> - <details key="end" value="789"/> - <details key="line" value="16"/> - </eAnnotations> - <eAnnotations source="positions.28" references="/0/CppParameter/%.7/%"> - <details key="start" value="768"/> - <details key="end" value="782"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.29" references="/0/CppParameter/%.7/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.30" references="/0/CppParameter/%.7/showDefault"> - <details key="start" value="753"/> - <details key="end" value="766"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.31" references="/0/CppParameter/parameter"> - <details key="start" value="594"/> - <details key="end" value="615"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.32" references="/0/CppParameter/showDefault"> - <details key="start" value="617"/> - <details key="end" value="638"/> - <details key="line" value="15"/> - </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppOperationParameters"> - <details key="start" value="804"/> - <details key="end" value="1028"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppOperationParameters/%"> - <details key="start" value="891"/> - <details key="end" value="1016"/> - <details key="line" value="21"/> - </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppOperationParameters/%/%"> - <details key="start" value="983"/> - <details key="end" value="1008"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppOperationParameters/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppOperationParameters/%/%/showDefault"> - <details key="start" value="996"/> - <details key="end" value="1007"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppOperationParameters/%/select"> - <details key="start" value="897"/> - <details key="end" value="964"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppOperationParameters/%/select/%"> - <details key="start" value="897"/> - <details key="end" value="911"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppOperationParameters/%/select/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppOperationParameters/%/select/%.1"> - <details key="start" value="920"/> - <details key="end" value="963"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppOperationParameters/%/select/%.1/%"> - <details key="start" value="920"/> - <details key="end" value="929"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.43" 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.44" references="/0/CppOperationParameters/%/select/%.1/%.1"> - <details key="start" value="933"/> - <details key="end" value="963"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.45" references="/0/CppOperationParameters/%/select/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.46" references="/0/CppOperationParameters/%/%.1"> - <details key="start" value="976"/> - <details key="end" value="980"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.47" references="/0/CppOperationParameters/operation"> - <details key="start" value="844"/> - <details key="end" value="865"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.48" references="/0/CppOperationParameters/showDefault"> - <details key="start" value="867"/> - <details key="end" value="888"/> - <details key="line" value="20"/> - </eAnnotations> - <eAnnotations source="positions.49" references="/0/%.1"> - <details key="start" value="1031"/> - <details key="end" value="1107"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.50" references="/0/CppBehaviorParameters"> - <details key="start" value="1108"/> - <details key="end" value="1329"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.51" references="/0/CppBehaviorParameters/%"> - <details key="start" value="1192"/> - <details key="end" value="1317"/> - <details key="line" value="27"/> - </eAnnotations> - <eAnnotations source="positions.52" references="/0/CppBehaviorParameters/%/%"> - <details key="start" value="1284"/> - <details key="end" value="1309"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.53" references="/0/CppBehaviorParameters/%/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.54" references="/0/CppBehaviorParameters/%/%/showDefault"> - <details key="start" value="1297"/> - <details key="end" value="1308"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.55" references="/0/CppBehaviorParameters/%/select"> - <details key="start" value="1198"/> - <details key="end" value="1265"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.56" references="/0/CppBehaviorParameters/%/select/%"> - <details key="start" value="1198"/> - <details key="end" value="1212"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.57" references="/0/CppBehaviorParameters/%/select/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.58" references="/0/CppBehaviorParameters/%/select/%.1"> - <details key="start" value="1221"/> - <details key="end" value="1264"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppBehaviorParameters/%/select/%.1/%"> - <details key="start" value="1221"/> - <details key="end" value="1230"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppBehaviorParameters/%/select/%.1/%/temp1"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppBehaviorParameters/%/select/%.1/%.1"> - <details key="start" value="1234"/> - <details key="end" value="1264"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppBehaviorParameters/%/select/temp2"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppBehaviorParameters/%/%.1"> - <details key="start" value="1277"/> - <details key="end" value="1281"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppBehaviorParameters/behavior"> - <details key="start" value="1147"/> - <details key="end" value="1166"/> - <details key="line" value="26"/> - </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppBehaviorParameters/showDefault"> - <details key="start" value="1168"/> - <details key="end" value="1189"/> - <details key="line" value="26"/> - </eAnnotations> - </ecore:EAnnotation> -</xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl deleted file mode 100644 index 9f1a560d469..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/operation/CppParameter.mtl +++ /dev/null @@ -1,28 +0,0 @@ -[module CppParameter('http://www.eclipse.org/uml2/5.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/] - - - -[template public defaultValue(parameter : Parameter)] -[if (defaultValue <> null)] = [defaultValue.stringValue()/][/if] -[/template] - -[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)] -[modCVQualifier()/][parameter.type.cppQualifiedName()/][modPtr()/][modRef()/] [parameter.name/][modArray()/][if (showDefault)][defaultValue()/][/if] -[/template] - - -[template public CppOperationParameters(operation : Operation, showDefault : Boolean)] -[for (ownedParameter->select(direction <> ParameterDirectionKind::return)) separator(', ')][CppParameter(showDefault)/][/for] -[/template] - - -[comment signature for a given behavior (e.g. effect within state machine)/] -[template public CppBehaviorParameters(behavior : Behavior, showDefault : Boolean)] -[for (ownedParameter->select(direction <> ParameterDirectionKind::return)) separator(', ')][CppParameter(showDefault)/][/for] -[/template]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/preferences/CppCodeGenUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/preferences/CppCodeGenUtils.emtl deleted file mode 100644 index 6a3055dab7b..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/preferences/CppCodeGenUtils.emtl +++ /dev/null @@ -1,244 +0,0 @@ -<?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="CppCodeGenUtils" nsURI="org::eclipse::papyrus::cpp::codegen::preferences::CppCodeGenUtils" startHeaderPosition="29" endHeaderPosition="93"> - <input> - <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> - </input> - <ownedModuleElement xsi:type="mtl:Query" name="getHeaderSuffix" visibility="Public"> - <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="/4"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils"> - <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="getHeaderSuffix()"> - <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(OclVoid)" kind="Sequence"/> - </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="getBodySuffix" visibility="Public"> - <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/emf/2002/Ecore#//EObject"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils"> - <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="getBodySuffix()"> - <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(OclVoid)" kind="Sequence"/> - </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="getCommentHeader" visibility="Public"> - <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="/6"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> - </source> - <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils"> - <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="getCommentHeader()"> - <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(OclVoid)" kind="Sequence"/> - </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="getHeaderSuffix"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getHeaderSuffix"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> - <eOperations name="getBodySuffix"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getBodySuffix"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> - <eOperations name="getCommentHeader"> - <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> - <contents xsi:type="ocl.ecore:Constraint"/> - </eAnnotations> - <eAnnotations source="MTL" references="/0/getCommentHeader"/> - <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> - <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> - </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(OclVoid)" instanceClassName="java.util.List"> - <elementType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </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/emf/2002/Ecore#//EObject"/> - </ocl.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/emf/2002/Ecore#//EObject"/> - </ocl.ecore:Variable> - <ecore:EAnnotation source="positions"> - <eAnnotations source="positions.0" references="/0/getHeaderSuffix"> - <details key="start" value="97"/> - <details key="end" value="246"/> - <details key="line" value="4"/> - </eAnnotations> - <eAnnotations source="positions.1" references="/0/getHeaderSuffix/%"> - <details key="start" value="141"/> - <details key="end" value="243"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.2" references="/0/getHeaderSuffix/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.3" references="/0/getHeaderSuffix/%/%"> - <details key="start" value="148"/> - <details key="end" value="209"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.4" references="/0/getHeaderSuffix/%/%.1"> - <details key="start" value="211"/> - <details key="end" value="230"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.5" references="/0/getHeaderSuffix/%/%.2"> - <details key="start" value="232"/> - <details key="end" value="242"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.6" references="/0/getBodySuffix"> - <details key="start" value="249"/> - <details key="end" value="394"/> - <details key="line" value="8"/> - </eAnnotations> - <eAnnotations source="positions.7" references="/0/getBodySuffix/%"> - <details key="start" value="291"/> - <details key="end" value="391"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.8" references="/0/getBodySuffix/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.9" references="/0/getBodySuffix/%/%"> - <details key="start" value="298"/> - <details key="end" value="359"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.10" references="/0/getBodySuffix/%/%.1"> - <details key="start" value="361"/> - <details key="end" value="378"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.11" references="/0/getBodySuffix/%/%.2"> - <details key="start" value="380"/> - <details key="end" value="390"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.12" references="/0/getCommentHeader"> - <details key="start" value="396"/> - <details key="end" value="547"/> - <details key="line" value="11"/> - </eAnnotations> - <eAnnotations source="positions.13" references="/0/getCommentHeader/%"> - <details key="start" value="441"/> - <details key="end" value="544"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.14" references="/0/getCommentHeader/%/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.15" references="/0/getCommentHeader/%/%"> - <details key="start" value="448"/> - <details key="end" value="509"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.16" references="/0/getCommentHeader/%/%.1"> - <details key="start" value="511"/> - <details key="end" value="531"/> - <details key="line" value="0"/> - </eAnnotations> - <eAnnotations source="positions.17" references="/0/getCommentHeader/%/%.2"> - <details key="start" value="533"/> - <details key="end" value="543"/> - <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/preferences/CppCodeGenUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/preferences/CppCodeGenUtils.mtl deleted file mode 100644 index 79db6cdbb36..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/preferences/CppCodeGenUtils.mtl +++ /dev/null @@ -1,13 +0,0 @@ -[comment encoding = UTF-8 /] -[module CppCodeGenUtils('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[query public getHeaderSuffix() : String - = invoke('org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils', 'getHeaderSuffix()', Sequence{}) /] - - -[query public getBodySuffix() : String - = invoke('org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils', 'getBodySuffix()', Sequence{}) /] - -[query public getCommentHeader() : String - = invoke('org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils', 'getCommentHeader()', Sequence{}) /] - diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java index 9e71bad4d07..52a72afd31f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/transformation/CppModelElementsCreator.java @@ -26,54 +26,38 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.papyrus.C_Cpp.CppRoot;
import org.eclipse.papyrus.C_Cpp.ExternLibrary;
import org.eclipse.papyrus.C_Cpp.External;
-import org.eclipse.papyrus.C_Cpp.Include;
-import org.eclipse.papyrus.C_Cpp.ManualGeneration;
import org.eclipse.papyrus.C_Cpp.NoCodeGen;
-import org.eclipse.papyrus.C_Cpp.Template;
-import org.eclipse.papyrus.acceleo.AcceleoDriver;
-import org.eclipse.papyrus.acceleo.AcceleoException;
import org.eclipse.papyrus.acceleo.GenUtils;
import org.eclipse.papyrus.acceleo.ModelElementsCreator;
import org.eclipse.papyrus.cpp.codegen.Activator;
import org.eclipse.papyrus.cpp.codegen.Messages;
import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils;
+import org.eclipse.papyrus.cpp.codegen.xtend.CppClassifierGenerator;
+import org.eclipse.papyrus.cpp.codegen.xtend.CppPackageHeaderGenerator;
import org.eclipse.text.edits.MalformedTreeException;
import org.eclipse.text.edits.TextEdit;
-import org.eclipse.uml2.uml.Association;
-import org.eclipse.uml2.uml.Class;
import org.eclipse.uml2.uml.Classifier;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.util.UMLUtil;
/**
* Main class of code generator
+ *
+ * @author Önder GÜRCAN (onder.gurcan@cea.fr)
*/
public class CppModelElementsCreator extends ModelElementsCreator {
- public static final String ACCELEO_PREFIX = "org::eclipse::papyrus::cpp::codegen::acceleo::"; //$NON-NLS-1$
-
- public static final String CppClassBody = ACCELEO_PREFIX + "CppClassBody"; //$NON-NLS-1$
-
- public static final String CppClassHeader = ACCELEO_PREFIX + "CppClassHeader"; //$NON-NLS-1$
-
- public static final String CppBindBody = ACCELEO_PREFIX + "CppBindBody"; //$NON-NLS-1$
-
- public static final String CppBindHeader = ACCELEO_PREFIX + "CppBindHeader"; //$NON-NLS-1$
-
- public static final String CppPackageHeader = ACCELEO_PREFIX + "CppPackageHeader"; //$NON-NLS-1$
-
public static final String DOT = "."; //$NON-NLS-1$
-
+
/**
- *
+ *
* Constructor.
- *
+ *
* @param project
- * the project in which the generated code should be placed
+ * the project in which the generated code should be placed
*/
public CppModelElementsCreator(IProject project) {
super(project, CppCodeGenUtils.getCommentHeader());
@@ -82,13 +66,13 @@ public class CppModelElementsCreator extends ModelElementsCreator { }
/**
- *
+ *
* Constructor.
- *
+ *
* @param project
- * the project in which the generated code should be placed
+ * the project in which the generated code should be placed
* @param commentHeader
- * Custom prefix for each generated file
+ * Custom prefix for each generated file
*/
public CppModelElementsCreator(IProject project, String commentHeader) {
super(project, commentHeader);
@@ -107,64 +91,13 @@ public class CppModelElementsCreator extends ModelElementsCreator { * generates 2 headers (one for the privates concrete operations and one for
* the attributes, public operations and virtual / abstract operations and
* one body file.
- *
+ *
* @param folder
* @param classifier
* @throws CoreException
*/
- @Override
protected void createClassifierFiles(IContainer container, Classifier classifier) throws CoreException {
-
- // treat case of manual code generation
- if (GenUtils.hasStereotype(classifier, ManualGeneration.class)) {
- ManualGeneration mg = UMLUtil.getStereotypeApplication(classifier, ManualGeneration.class);
- Include cppInclude = UMLUtil.getStereotypeApplication(classifier, Include.class);
- try {
- String fileContent = commentHeader +
- AcceleoDriver.evaluate(cppInclude.getHeader(), classifier, null);
- createFile(container, classifier.getName() + DOT + hppExt, fileContent, true);
-
- // String manualURI = "TODO";
- // fileContent = AcceleoDriver.evaluateURI(new URI(CppPackageHeader)), classifier);
-
- fileContent = commentHeader +
- AcceleoDriver.evaluate(cppInclude.getPreBody(), classifier, null) + GenUtils.NL +
- AcceleoDriver.evaluate(cppInclude.getBody(), classifier, null) + GenUtils.NL;
- String ext = GenUtils.maskNull(mg.getExtensionBody());
- if (ext.length() == 0) {
- ext = cppExt;
- }
- createFile(container, classifier.getName() + DOT + ext, fileContent, true);
- } catch (AcceleoException e) {
- Activator.log.error(e);
- }
- }
-
- // Only generate when no CppNoCodeGen stereotype is applied to the class
- else if ((!noCodeGen(classifier)) &&
- (!GenUtils.hasStereotype(classifier, Template.class)) &&
- (!(classifier instanceof Association))) {
-
- // Template Bound Class
- if (GenUtils.isTemplateBoundElement(classifier)) {
- String fileContent = commentHeader + AcceleoDriver.evaluateURI(CppBindHeader, classifier);
- createFile(container, classifier.getName() + DOT + hppExt, fileContent, true);
-
- fileContent = commentHeader + AcceleoDriver.evaluateURI(CppBindBody, classifier);
- createFile(container, classifier.getName() + DOT + cppExt, fileContent, true);
- }
- else {
- // Header file generation
- String fileContent = commentHeader + AcceleoDriver.evaluateURI(CppClassHeader, classifier);
- createFile(container, classifier.getName() + DOT + hppExt, fileContent, true);
-
- // Create class body
- if (classifier instanceof Class) {
- fileContent = commentHeader + AcceleoDriver.evaluateURI(CppClassBody, classifier);
- createFile(container, classifier.getName() + DOT + cppExt, fileContent, true);
- }
- }
- }
+ CppClassifierGenerator.generate(container, classifier, commentHeader);
}
@Override
@@ -174,15 +107,14 @@ public class CppModelElementsCreator extends ModelElementsCreator { }
/**
- * Apply the user's currently selected formatting options to the input content. Return the
+ * Apply the user's currently selected formatting options to the input content. Return the
* input String in case of error.
*/
private static String format(String content) {
// do nothing if the CDT plugin is not loaded
- if (Platform.getBundle(CCorePlugin.PLUGIN_ID) == null) {
+ if (Platform.getBundle(CCorePlugin.PLUGIN_ID) == null)
return content;
- }
CodeFormatter codeFormatter = ToolFactory.createCodeFormatter(null);
IDocument doc = new Document(content);
@@ -208,21 +140,18 @@ public class CppModelElementsCreator extends ModelElementsCreator { @Override
protected void createPackageFiles(IContainer packageContainer, IProgressMonitor monitor, Package pkg) throws CoreException {
- // Creates the header for the package.
- String fileContent = commentHeader + AcceleoDriver.evaluateURI(CppPackageHeader, pkg);
- createFile(packageContainer, "Pkg_" + pkg.getName() + DOT + hppExt, fileContent, true); //$NON-NLS-1$
+ CppPackageHeaderGenerator.generate(packageContainer, pkg);
}
- @Override
protected boolean isRoot(Namespace ns) {
return GenUtils.hasStereotype(ns, CppRoot.class);
}
- @Override
protected boolean noCodeGen(Element element) {
- return GenUtils.hasStereotype(element, NoCodeGen.class) ||
- GenUtils.hasStereotype(element, External.class) ||
- GenUtils.hasStereotypeTree(element, ExternLibrary.class);
+ return
+ GenUtils.hasStereotype(element, NoCodeGen.class) ||
+ GenUtils.hasStereotype(element, External.class) ||
+ GenUtils.hasStereotypeTree(element, ExternLibrary.class);
}
}
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 deleted file mode 100644 index 1e5df902647..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.emtl +++ /dev/null @@ -1,164 +0,0 @@ -<?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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.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/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.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 5a1aaf25527..ce009fc9a29 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 @@ -16,6 +16,7 @@ import org.eclipse.emf.common.util.UniqueEList; import org.eclipse.papyrus.acceleo.GenUtils; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Classifier; +import org.eclipse.uml2.uml.Interface; /** * A set of utility functions related to classes. @@ -43,7 +44,8 @@ public class ClassUtils { // realized interface dependencies if (currentClass instanceof Class) { Class clazz = (Class) currentClass; - usedClasses.addAll(clazz.getImplementedInterfaces()); + EList<Interface> implementedInterfaces = clazz.getImplementedInterfaces(); + usedClasses.addAll(implementedInterfaces); } // dependencies and associations usedClasses.addAll(GenUtils.getTypesViaRelationshipsNoDeps(currentClass)); diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.mtl deleted file mode 100644 index 13fe22ce295..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/ClassUtils.mtl +++ /dev/null @@ -1,6 +0,0 @@ -[comment encoding = UTF-8 /] -[module ClassUtils('http://www.eclipse.org/uml2/5.0.0/UML')/] - -[query public includedClassifiers(cl : Classifier) : Sequence(Classifier) - = invoke('org.eclipse.papyrus.cpp.codegen.utils.ClassUtils', 'includedClassifiers(org.eclipse.uml2.uml.Classifier)', Sequence{cl}) /] - diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppAttribute.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppAttribute.xtend new file mode 100644 index 00000000000..2f7dd1c9e5b --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppAttribute.xtend @@ -0,0 +1,70 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.Class +import org.eclipse.uml2.uml.DataType +import org.eclipse.uml2.uml.Interface +import org.eclipse.uml2.uml.Signal +import org.eclipse.uml2.uml.Property +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.C_Cpp.Const +import org.eclipse.papyrus.cpp.codegen.utils.Modifier +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppAttribute { + + // Loop over attributes. Check that the attribute is not a static const. + // Constant static attributes are declared within the class declaration + static def CppStaticAttributes(Classifier classifier) { + var code = ''' + // static attributes (if any) + «FOR ownedAttribute : getOwnedAttributes(classifier)» + «IF (ownedAttribute.isStatic && !GenUtils.hasStereotype(ownedAttribute, Const))» + «CppStaticAttributeImplementation(ownedAttribute)» + «ENDIF» + «ENDFOR» + ''' + return code + } + + //return a list of owned attributes, since this is not supported directly on a classifier + static def getOwnedAttributes(Classifier cl) { + if (cl instanceof Class) { + (cl as Class).ownedAttributes + } else if (cl instanceof DataType) { + (cl as DataType).ownedAttributes + } else if (cl instanceof Interface) { + (cl as Interface).ownedAttributes + } else if (cl instanceof Signal) { + (cl as Signal).ownedAttributes + } else { + //Sequence{} + } + } + + static def CppStaticAttributeImplementation(Property attribute) ''' + «CppDocumentation.CppElementDoc(attribute)» + «CppGenUtils.cppQualifiedName(attribute.type)»«Modifier.modPtr(attribute)»«Modifier.modRef(attribute)» «attribute.class_.name»::«attribute.name»«Modifier.modArray(attribute)»«defaultValue(attribute)»; + ''' + + static def defaultValue(Property attribute) { + if ((attribute.defaultValue != null) && attribute.isStatic) { + "=" + attribute.defaultValue.stringValue() + } + } + + static def CppAttributeDeclaration(Property attribute) ''' + «CppDocumentation.CppElementDoc(attribute)» + «staticValue(attribute)» «Modifier.modCVQualifier(attribute)»«CppGenUtils.cppQualifiedName(attribute.type)»«Modifier. + modPtr(attribute)»«Modifier.modRef(attribute)» «attribute.name»«Modifier.modArray(attribute)»«IF GenUtils. + hasStereotype(attribute, Const)»«defaultValue(attribute)»«ENDIF»; + ''' + + static def staticValue(Property attribute) { + if (attribute.isStatic) 'static' + } + +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassAttributesDeclaration.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassAttributesDeclaration.xtend new file mode 100644 index 00000000000..d272163fb1f --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassAttributesDeclaration.xtend @@ -0,0 +1,15 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.VisibilityKind + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassAttributesDeclaration { + static def CppClassAttributesDeclaration(Classifier clazz, VisibilityKind visibilityFilter) ''' + «FOR oa : CppAttribute.getOwnedAttributes(clazz).filter[it.visibility == visibilityFilter]» + «CppAttribute.CppAttributeDeclaration(oa)» + «ENDFOR» + ''' +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassFriendDeclaration.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassFriendDeclaration.xtend new file mode 100644 index 00000000000..d754cf6f4d8 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassFriendDeclaration.xtend @@ -0,0 +1,24 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Classifier +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.C_Cpp.Friend +import org.eclipse.papyrus.C_Cpp.NoCodeGen + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassFriendDeclaration { + static def CppClassFriendDeclaration(Classifier friend) ''' + friend class «CppGenUtils.cppQualifiedName(friend)» + ''' + + static def CppClassIncludeFriendDeclaration(Classifier clazz) { + for (uc : GenUtils.getUsedClassifiers(clazz)) { + if (GenUtils.hasStereotype(uc, Friend) && (!GenUtils.hasStereotype(uc, NoCodeGen))) { + CppClassFriendDeclaration(uc) + } + } + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassIncludeClassDeclaration.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassIncludeClassDeclaration.xtend new file mode 100644 index 00000000000..1ec45f63da6 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassIncludeClassDeclaration.xtend @@ -0,0 +1,58 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.papyrus.C_Cpp.CppRoot +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.uml2.uml.Package +import org.eclipse.uml2.uml.Classifier +import org.eclipse.emf.common.util.EList +import org.eclipse.papyrus.C_Cpp.NoCodeGen +import org.eclipse.papyrus.C_Cpp.External +import org.eclipse.uml2.uml.Enumeration +import org.eclipse.uml2.uml.PrimitiveType +import java.util.List +import java.util.ArrayList +import org.eclipse.papyrus.cpp.codegen.utils.ClassUtils + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassIncludeClassDeclaration { + + static def cppOwnerPackageIncludePath(Package pkg) { + if ((pkg != null) && (!GenUtils.hasStereotype(pkg, CppRoot))) { + return GenUtils.getFullPath(pkg) + '/Pkg_' + pkg.name + '.h' + } else { + return null + } + } + + static def CppClassAllIncludesDeclarationBody(Classifier classifier) { + cppClassAllIncludes(classifier, GenUtils.getTypesViaDependencies(classifier)) + } + + static def cppClassAllIncludes(Classifier classifier, EList<Classifier> list) { + var List<String> newList = new ArrayList<String>() + for (cl : list) { + //var String str = null + if ((cl != classifier) && (!GenUtils.hasStereotype(cl, NoCodeGen)) || (GenUtils.hasStereotype(cl, External))) { + if ((cl instanceof Enumeration) || (cl instanceof PrimitiveType)) { + if ((cl.owner != null) && (cl.owner instanceof Package)) { + var includePath = (cl.owner as Package).cppOwnerPackageIncludePath + if (!newList.contains(includePath)) newList.add(includePath) + } else { + //str = null + } + } else { + newList.addAll(CppClassIncludeDeclaration.cppClassIncludes(cl)) + } + } else { + //str = null + } + } + return newList.filter[str | str != null] + } + + static def CppClassAllIncludes(Classifier clazz) { + cppClassAllIncludes(clazz, ClassUtils.includedClassifiers(clazz)) + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassIncludeDeclaration.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassIncludeDeclaration.xtend new file mode 100644 index 00000000000..a612b90f92a --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassIncludeDeclaration.xtend @@ -0,0 +1,40 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import java.util.ArrayList +import java.util.List +import org.eclipse.papyrus.C_Cpp.ExternLibrary +import org.eclipse.papyrus.C_Cpp.External +import org.eclipse.papyrus.C_Cpp.Template +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils +import org.eclipse.uml2.uml.NamedElement +import org.eclipse.uml2.uml.util.UMLUtil + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassIncludeDeclaration { + + static def cppClassIncludes(NamedElement ne) { + var List<String> result = new ArrayList<String>() + if (GenUtils.hasStereotypeTree(ne, ExternLibrary)) { + result = GenUtils.getApplicationTree(ne, ExternLibrary).includes + } else { + result.add(includeName(ne)) + } + return result + } + + static def includeName(NamedElement ne) { + if (GenUtils.hasStereotypeTree(ne, Template)) { + return UMLUtil.getStereotypeApplication(ne, Template).declaration + } else { + if (GenUtils.hasStereotypeTree(ne, External)) { + return UMLUtil.getStereotypeApplication(ne, External).name + } else { + // standard case (no stereotypes are applied) + return GenUtils.getFullPath(ne.nearestPackage) + '/' + ne.name + '.' + CppCodeGenUtils.getHeaderSuffix() + } + } + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassInheritedDeclarations.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassInheritedDeclarations.xtend new file mode 100644 index 00000000000..01cbd24bb6f --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassInheritedDeclarations.xtend @@ -0,0 +1,38 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.papyrus.C_Cpp.NoCodeGen +import org.eclipse.papyrus.C_Cpp.Visibility +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.Generalization +import org.eclipse.uml2.uml.InterfaceRealization +import org.eclipse.uml2.uml.Relationship +import org.eclipse.uml2.uml.util.UMLUtil +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassInheritedDeclarations { + + static def CppClassInheritedDeclarations(Classifier clazz) ''' + «IF (filteredRelationships(clazz).length > 0)» : «ENDIF» + «FOR fr: filteredRelationships(clazz) SEPARATOR ', \n'» + «getCppVisibility(fr)» «CppGenUtils.cppQualifiedName(fr.targets.get(0) as Classifier)»«ENDFOR» + ''' + + //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. + static def filteredRelationships(Classifier clazz) { + clazz.sourceDirectedRelationships.filter[((it instanceof Generalization) || (it instanceof InterfaceRealization)) && (!GenUtils.hasStereotype(it.targets.get(0), NoCodeGen))] + } + + static def getCppVisibility(Relationship relationship) { + if (GenUtils.hasStereotype(relationship, Visibility)) { + (UMLUtil.getStereotypeApplication(relationship, Visibility) as Visibility).value + } else { + 'public' + } + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.xtend new file mode 100644 index 00000000000..e986acbb236 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.xtend @@ -0,0 +1,25 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.OpaqueBehavior +import org.eclipse.uml2.uml.VisibilityKind + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassOperationsDeclaration { + + static def CppClassOperationsDeclaration(Classifier clazz, VisibilityKind visibilityFilter) ''' + «FOR op : CppOperations.getOwnedOperations(clazz).filter[it.visibility == visibilityFilter]» + + «CppOperations.CppOperationDeclaration(op)» + «ENDFOR» + «FOR b : clazz.eAllContents.toList.filter(OpaqueBehavior).filter[it.visibility == visibilityFilter]» + «IF b.specification == null» + + // opaque behavior without specification (typically from state machine) + «CppOperations.CppBehaviorDeclaration(b)» + «ENDIF» + «ENDFOR» + ''' +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsImplementation.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsImplementation.xtend new file mode 100644 index 00000000000..abb5ae392fa --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsImplementation.xtend @@ -0,0 +1,29 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Classifier +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.C_Cpp.NoCodeGen +import org.eclipse.uml2.uml.OpaqueBehavior +import org.eclipse.papyrus.C_Cpp.Inline + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassOperationsImplementation { + + // implementations of a classifier, parameter controls whether only inline (or only not inline) operations + //are produced + static def CppClassOperationsImplementation(Classifier clazz, boolean inline) ''' + «FOR ownedOperation : CppOperations.getOwnedOperations(clazz).filter[(!(GenUtils.hasStereotype(it, NoCodeGen) || it.isAbstract)) && (GenUtils.hasStereotype(it, org.eclipse.papyrus.C_Cpp.Inline) == inline)] SEPARATOR "\n"» + «CppOperations.CppOperationImplementation(ownedOperation)» + «ENDFOR» + + «FOR b : clazz.eAllContents.toIterable.filter[(it instanceof OpaqueBehavior) && GenUtils.hasStereotype((it as OpaqueBehavior), Inline)==inline]» + «IF (b as OpaqueBehavior).specification == null» + // opaque behavior without specification (typically from state machine) + «CppOperations.CppBehaviorImplementation(b as OpaqueBehavior)» + «ENDIF» + «ENDFOR» + ''' + +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassTypeAndEnum.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassTypeAndEnum.xtend new file mode 100644 index 00000000000..f3e1a8d3d5c --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassTypeAndEnum.xtend @@ -0,0 +1,52 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.papyrus.C_Cpp.NoCodeGen +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.Element +import org.eclipse.uml2.uml.Enumeration +import org.eclipse.uml2.uml.Namespace +import org.eclipse.uml2.uml.Package +import org.eclipse.uml2.uml.PrimitiveType +import org.eclipse.uml2.uml.VisibilityKind + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassTypeAndEnum { + + static def CppClassTypeAndEnum(Classifier clazz) ''' + «var publicStr = TypesAndEnumsForVisibility(clazz, VisibilityKind.PUBLIC_LITERAL).toString» + «CppGenUtils.getSection(VisibilityKind.PUBLIC_LITERAL, publicStr)» + «var protectedStr = TypesAndEnumsForVisibility(clazz, VisibilityKind.PROTECTED_LITERAL).toString» + «CppGenUtils.getSection(VisibilityKind.PROTECTED_LITERAL, protectedStr)» + «var privateStr = TypesAndEnumsForVisibility(clazz, VisibilityKind.PRIVATE_LITERAL).toString» + «CppGenUtils.getSection(VisibilityKind.PRIVATE_LITERAL, privateStr)» + ''' + + static def CppClassTypeAndEnumPackage(Package pkg) { + TypesAndEnumsForVisibility(pkg, VisibilityKind.get(VisibilityKind.PACKAGE)) + TypesAndEnumsForVisibility(pkg, VisibilityKind.get(VisibilityKind.PUBLIC)) + } + + static def TypesAndEnumsForVisibility(Namespace ne, VisibilityKind visibilityFilter) ''' + «FOR ownedElement : ne.ownedElements» + «TypeAndEnumForVisibility(ownedElement, visibilityFilter)» + «ENDFOR» + ''' + + static def TypeAndEnumForVisibility(Element element, VisibilityKind visibilityFilter) { + if ((!GenUtils.hasStereotype(element, NoCodeGen)) && (element instanceof Classifier)) { + var elementVisibility = (element as Classifier).visibility + var value = elementVisibility.value + if ((value == visibilityFilter.value)) { + if (element instanceof Enumeration) { + return CppEnumerations.CppEnumerationDefinition(element as Enumeration) + } else if (element instanceof PrimitiveType) { + return CppPrimitiveTypes.CppPrimitiveTypeDefinition(element as PrimitiveType) + } + } + } + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassifierGenerator.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassifierGenerator.xtend new file mode 100644 index 00000000000..281aff8a275 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppClassifierGenerator.xtend @@ -0,0 +1,329 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.core.resources.IContainer +import org.eclipse.papyrus.C_Cpp.ExternLibrary +import org.eclipse.papyrus.C_Cpp.External +import org.eclipse.papyrus.C_Cpp.Include +import org.eclipse.papyrus.C_Cpp.ManualGeneration +import org.eclipse.papyrus.C_Cpp.NoCodeGen +import org.eclipse.papyrus.C_Cpp.Template +import org.eclipse.papyrus.C_Cpp.Union +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.uml2.uml.Association +import org.eclipse.uml2.uml.Class +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.DataType +import org.eclipse.uml2.uml.Element +import org.eclipse.uml2.uml.NamedElement +import org.eclipse.uml2.uml.VisibilityKind +import org.eclipse.uml2.uml.profile.standard.Create +import org.eclipse.uml2.uml.util.UMLUtil +import org.eclipse.papyrus.acceleo.AcceleoDriver +import org.eclipse.papyrus.cpp.codegen.transformation.CppModelElementsCreator + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppClassifierGenerator extends CppFileGenerator { + + static def generate(IContainer container, Classifier classifier, String commentHeader) { + + // treat case of manual code generation + if (GenUtils.hasStereotype(classifier, ManualGeneration)) { + var ManualGeneration mg = UMLUtil.getStereotypeApplication(classifier, ManualGeneration); + var Include cppInclude = UMLUtil.getStereotypeApplication(classifier, Include); + var fileContentH = commentHeader + + AcceleoDriver.evaluate(cppInclude.getHeader(), classifier, null); + + // generate header code + val fileNameH = classifier.getName() + CppModelElementsCreator.DOT + CppCodeGenUtils.getHeaderSuffix() + generateFile(container, fileNameH, fileContentH, true); + + // generate body code + val fileContentB = commentHeader + + AcceleoDriver.evaluate(cppInclude.getPreBody(), classifier, null) + GenUtils.NL + + AcceleoDriver.evaluate(cppInclude.getBody(), classifier, null) + GenUtils.NL; + var ext = GenUtils.maskNull(mg.getExtensionBody()); + if (ext.length() == 0) { + ext = CppCodeGenUtils.getBodySuffix(); + } + val fileNameB = classifier.getName() + CppModelElementsCreator.DOT + ext; + generateFile(container, fileNameB, fileContentB, true); + } + + // Only generate when no CppNoCodeGen stereotype is applied to the class + else if ((!classifier.noCodeGen) && (!GenUtils.hasStereotype(classifier, Template)) && + (!(classifier instanceof Association))) { + + // Template Bound Class + if (GenUtils.isTemplateBoundElement(classifier)) { + val bindHeaderFileName = classifier.getName() + "." + CppCodeGenUtils.getHeaderSuffix() + generateFile(container, bindHeaderFileName, classifier.generateBindHeaderCode, true); + + var bindBodyFileName = classifier.getName() + "." + CppCodeGenUtils.getBodySuffix() + generateFile(container, bindBodyFileName, classifier.generateBindBodyCode, true); + } else { + + // Class Header file generation + val classHeaderFileName = classifier.getName() + "." + CppCodeGenUtils.getHeaderSuffix() + generateFile(container, classHeaderFileName, classifier.generateClassHeaderCode, true); + + // Class Body file generation + if (classifier instanceof Class) { + var classBodyFileName = classifier.getName() + "." + CppCodeGenUtils.getBodySuffix() + generateFile(container, classBodyFileName, classifier.generateClassBodyCode, true); + } + } + } + } + + static def noCodeGen(Element element) { + return GenUtils.hasStereotype(element, NoCodeGen) || GenUtils.hasStereotype(element, External) || + GenUtils.hasStereotypeTree(element, ExternLibrary); + } + + static def generateHeaderCode(Classifier classifier, String commentHeader) { + var code = ''' + «commentHeader» + AcceleoDriver.evaluate(cppInclude.getHeader(), classifier, null); + ''' + return code + } + + static def generateBindHeaderCode(Classifier classifier) { + var code = ''' + #ifndef «GenUtils.getFullNameUC(classifier)»_H + #define «GenUtils.getFullNameUC(classifier)»_H + + /************************************************************ + «classifier.name» template binding header + ************************************************************/ + + «FOR path : getSortedIncludePathList(classifier)» + «CppIncludeUtil.includeDirective(path)» + «ENDFOR» + + «CppIncludeUtil.CppIncludeHeader(classifier)» + + «var tb = classifier.templateBindings» + «var templateElement = tb.get(0)» + «CppIncludeUtil.includeDirective( + GenUtils.getFullPath(classifier.package) + '/' + (templateElement.owner as NamedElement).name + '.' + + CppCodeGenUtils.getHeaderSuffix())» + + «CppGenUtils.openNS(classifier)» + /************************************************************/ + typedef «(templateElement.owner as NamedElement).name»«FOR ps : templateElement.parameterSubstitutions»«CppTemplates. + CppTemplateBindingParameter(ps)»«ENDFOR» «classifier.name»; + + «CppGenUtils.closeNS(classifier)» + + /************************************************************ + End of «classifier.name» template binding header + ************************************************************/ + + #endif''' + return code + } + + static def getSortedIncludePathList(Classifier classifier) { + var includePathList = CppClassIncludeClassDeclaration.CppClassAllIncludes(classifier) + var includePath = CppClassIncludeClassDeclaration.cppOwnerPackageIncludePath(classifier.package) + var theList = includePathList.toList + theList.add(includePath) + theList.sort + return theList + } + + static def generateBindBodyCode(Classifier classifier) { + var code = ''' + #define «GenUtils.getFullNameUC(classifier)»_BODY + + /************************************************************ + «classifier.name» template binding body + ************************************************************/ + + «CppIncludeUtil.CppIncludePreBody(classifier)» + + // include associated header file + «CppIncludeUtil.includeDirective( + GenUtils.getFullPath(classifier.package) + '/' + classifier.name + '.' + CppCodeGenUtils.getHeaderSuffix())» + + «CppIncludeUtil.CppIncludeBody(classifier)» + + «CppGenUtils.openNS(classifier)» + + // Derived includes directives + «FOR path : CppClassIncludeClassDeclaration.CppClassAllIncludes(classifier).sort» + «CppIncludeUtil.includeDirective(path)» + «ENDFOR» + + /************************************************************/ + «var tb = GenUtils.getTemplateBindings(classifier as Class)» + «var templateElement = tb.targets.get(0)» + template class «(templateElement.owner as NamedElement).name»<«FOR ps : tb.parameterSubstitutions»«CppTemplates. + CppTemplateBindingParameter(ps)»«ENDFOR»; + + «CppGenUtils.closeNS(classifier)» + + /************************************************************ + End of «classifier.name» template binding body + ************************************************************/''' + return code + } + + static def generateClassHeaderCode(Classifier classifier) { + var code = ''' + #ifndef «GenUtils.getFullNameUC(classifier)»_H + #define «GenUtils.getFullNameUC(classifier)»_H + + /************************************************************ + «classifier.name» class header + ************************************************************/ + + «FOR path : getSortedIncludePathList(classifier)» + «CppIncludeUtil.includeDirective(path)» + «ENDFOR» + + «CppIncludeUtil.CppIncludeHeader(classifier)» + + «CppGenUtils.openNS(classifier)» + + /************************************************************/ + «CppDocumentation.CppElementDoc(classifier)» + «CppTemplates.templateSignature(classifier)»«classUnionOrStruct(classifier)» «classifier.name»«CppClassInheritedDeclarations. + CppClassInheritedDeclarations(classifier)» { + «CppClassFriendDeclaration.CppClassIncludeFriendDeclaration(classifier)»«CppClassTypeAndEnum. + CppClassTypeAndEnum(classifier)» + «var publicVisibility = VisibilityKind.PUBLIC_LITERAL» + «CppGenUtils.getSection(publicVisibility, defaultInitializer(classifier))» + «CppGenUtils.getSection(publicVisibility, + CppClassAttributesDeclaration.CppClassAttributesDeclaration(classifier, publicVisibility).toString)» + «CppGenUtils.getSection(publicVisibility, + CppClassOperationsDeclaration.CppClassOperationsDeclaration(classifier, publicVisibility).toString)» + + «var protectedVisibility = VisibilityKind.PROTECTED_LITERAL» + «CppGenUtils.getSection(protectedVisibility, + CppClassAttributesDeclaration.CppClassAttributesDeclaration(classifier, protectedVisibility).toString)» + «CppGenUtils.getSection(protectedVisibility, + CppClassOperationsDeclaration.CppClassOperationsDeclaration(classifier, protectedVisibility).toString)» + + «var privateVisibility = VisibilityKind.PRIVATE_LITERAL» + «CppGenUtils.getSection(privateVisibility, + CppClassAttributesDeclaration.CppClassAttributesDeclaration(classifier, privateVisibility).toString)» + «CppGenUtils.getSection(privateVisibility, + CppClassOperationsDeclaration.CppClassOperationsDeclaration(classifier, privateVisibility).toString)» + }; + /************************************************************/ + /* External declarations (package visibility) */ + «var packageVisibility = VisibilityKind.PACKAGE_LITERAL» + «CppClassAttributesDeclaration.CppClassAttributesDeclaration(classifier, packageVisibility)» + «CppClassOperationsDeclaration.CppClassOperationsDeclaration(classifier, packageVisibility)» + /************************************************************/ + + «IF CppTemplates.isTemplate(classifier)» + /************************************************************/ + /* Template functions */ + «CppClassOperationsImplementation.CppClassOperationsImplementation(classifier, false)» + «ENDIF» + + /* Inline functions */ + «CppClassOperationsImplementation.CppClassOperationsImplementation(classifier, true)» + «CppGenUtils.closeNS(classifier)» + + /************************************************************ + End of «classifier.name» class header + ************************************************************/ + + #endif''' + return code + } + + static def classUnionOrStruct(Classifier classifier) { + if (GenUtils.hasStereotype(classifier, Union)) { + return 'union' + } else { + if (classifier instanceof DataType) { + CppGenUtils.resetVisibility(VisibilityKind.PUBLIC_LITERAL) + return 'struct' + } else { + CppGenUtils.resetVisibility(VisibilityKind.PRIVATE_LITERAL) + return 'class' + } + } + } + + /** + * 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 + */ + static def defaultInitializer(Classifier classifier) { + + /* Bug 422373: The default initializer should not be generated if there are any user-defined + constructors. In plain C++ code, the existence of a constructor with parameters + means that the compiler will not synthesize a default one. + + E.g., this would be invalid in plain C++ code: + class T1 { }; + class T2 { public: T(int); }; + T1 * t1 = new T1; // OK, sythesized default constructor used + T2 * t2a = new T2(5); // OK, user-defined constructor used + T2 * t2b = new T2; // ERROR, default constructor was not synthesized + + Also, if the user has provided a default constructor in the code, we don't need + to generate a second copy here. A default constructor should only be generated + here if the compiler would have synthesized one anyhow. Otherwise the default + property values should be set in the constructors that are generated by + CppClassOperationsDeclaration. + */ + var code = ''' + «IF CppOperations.getOwnedOperations(classifier).filter[GenUtils.hasStereotype(it, Create)] == null» + «var attributeList = classifier.attributes.filter[ + (it.isStatic == false) && (it.defaultValue != null) && (it.defaultValue.stringValue != null)]» + «IF !attributeList.empty» + «classifier.name» : «FOR a : attributeList SEPARATOR ', '»«a.name»(«a.defaultValue.stringValue»)«ENDFOR» {} + «ENDIF» + «ENDIF»''' + return code.trim + } + + static def generateClassBodyCode(Classifier classifier) { + var code = ''' + #define «GenUtils.getFullName(classifier)»_BODY + + /************************************************************ + «classifier.name» class body + ************************************************************/ + + «CppIncludeUtil.CppIncludePreBody(classifier)» + + // include associated header file + «CppIncludeUtil.includeDirective( + GenUtils.getFullPath(classifier.nearestPackage) + '/' + classifier.name + '.' + + CppCodeGenUtils.getHeaderSuffix())» + + // Derived includes directives + «FOR path : CppClassIncludeClassDeclaration.CppClassAllIncludesDeclarationBody(classifier).sort» + «CppIncludeUtil.includeDirective(path)» + «ENDFOR» + + «CppIncludeUtil.CppIncludeBody(classifier)» + + «CppGenUtils.openNS(classifier)» + + «CppAttribute.CppStaticAttributes(classifier)» + + «IF !classifier.isTemplate» + «CppClassOperationsImplementation.CppClassOperationsImplementation(classifier, false)» + «ENDIF» + + «CppGenUtils.closeNS(classifier)» + + /************************************************************ + End of «classifier.name» class body + ************************************************************/''' + return code + } + +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppCodeGenerator.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppCodeGenerator.xtend new file mode 100644 index 00000000000..b20f551a366 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppCodeGenerator.xtend @@ -0,0 +1,66 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.core.resources.IResource +import org.eclipse.core.runtime.CoreException +import org.eclipse.emf.common.util.EList +import org.eclipse.papyrus.cpp.codegen.Activator +import org.eclipse.papyrus.cpp.codegen.utils.ClassUtils +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.Package +import org.eclipse.uml2.uml.PackageableElement +import org.eclipse.papyrus.cpp.codegen.transformation.CppModelElementsCreator + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +public class CppCodeGenerator { + + /** + * Generate code for a passed packageable element and the elements required by it (in the sense of #included statements) + * + * @param mec model elements creator + * @param pe the element that should be generated + * @param alreadyHandled list of packageable elements for which code has already been generated. + * @param recurse if the passed packageableElement is a package, generate code for its contents (recursively). + */ + static def generate(CppModelElementsCreator mec, PackageableElement pe, EList<PackageableElement> alreadyHandled, + boolean recurse) { + val srcPkg = mec.getContainer(pe); + try { + alreadyHandled.add(pe); + mec.createPackageableElement(srcPkg, null, pe, false); + } catch (CoreException coreException) { + Activator.log.error(coreException); + } finally { + // Refresh the container for the newly created files. This needs to be done even + // during error because of the possibility for partial results. + try { + srcPkg.refreshLocal(IResource.DEPTH_INFINITE, null); + } catch(CoreException e) { + Activator.log.error(e); + } + } + + if (pe instanceof Classifier) { + var EList<Classifier> requiredClassifiers = ClassUtils.includedClassifiers((pe as Classifier)); + for (Classifier requiredClassifier : requiredClassifiers) { + if (!alreadyHandled.contains(requiredClassifier)) { + generate(mec, requiredClassifier, alreadyHandled, false); + } + } + } + // owning package is required by generated code. + var Package owningPackage = pe.getNearestPackage(); + if ((owningPackage != null) && (owningPackage != pe)) { + if (!alreadyHandled.contains(owningPackage)) { + generate(mec, owningPackage, alreadyHandled, false); + } + } + if ((pe instanceof Package) && recurse) { + // Continue generation parsing package contents + for(PackageableElement currentElement : (pe as Package).getPackagedElements()) { + generate(mec, currentElement, alreadyHandled, recurse); + } + } + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppDocumentation.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppDocumentation.xtend new file mode 100644 index 00000000000..d196d3cddd3 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppDocumentation.xtend @@ -0,0 +1,37 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Element +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.uml2.uml.Operation +import org.eclipse.uml2.uml.Parameter +import org.eclipse.uml2.uml.Behavior +import org.eclipse.uml2.uml.ParameterDirectionKind + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppDocumentation { + static def CppElementDoc(Element argument) ''' + /** + * «GenUtils.getComments(argument).replaceAll('\n', '\n * ')» + */ + ''' + + static def CppOperationDoc(Operation operation) ''' + /** + * «GenUtils.getComments(operation).replaceAll('\n', '\n * ')» + «FOR op: operation.ownedParameters.filter[it.direction != ParameterDirectionKind.RETURN_LITERAL]»«CppParamDoc(op)»«ENDFOR» + */ + ''' + + static def CppParamDoc(Parameter parameter) ''' + * @param «parameter.name» «GenUtils.getComments(parameter).replaceAll('\n', '\n * ')» + ''' + + static def CppBehaviorDoc(Behavior behavior) ''' + /** + * «GenUtils.getComments(behavior).replaceAll('\n', '\n * ')» + * «FOR op : behavior.ownedParameters»«CppParamDoc(op)»«ENDFOR» + */ + ''' +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppEnumerations.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppEnumerations.xtend new file mode 100644 index 00000000000..909bae5b37b --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppEnumerations.xtend @@ -0,0 +1,22 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Enumeration +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.C_Cpp.CppInit +import org.eclipse.uml2.uml.util.UMLUtil + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppEnumerations { + static def CppEnumerationDefinition(Enumeration enume) ''' + «CppDocumentation.CppElementDoc(enume)» + enum «enume.name» { + «FOR ownedLiteral : enume.ownedLiterals» + «CppDocumentation.CppElementDoc(ownedLiteral)» + «ownedLiteral.name»«IF GenUtils.hasStereotype(ownedLiteral, CppInit)»«UMLUtil. + getStereotypeApplication(ownedLiteral, CppInit).value»«ENDIF», + «ENDFOR» + }; + ''' +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppFileGenerator.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppFileGenerator.xtend new file mode 100644 index 00000000000..ddf38c16473 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppFileGenerator.xtend @@ -0,0 +1,100 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import java.io.ByteArrayInputStream +import java.io.IOException +import java.io.OutputStream +import org.eclipse.core.filesystem.EFS +import org.eclipse.core.filesystem.IFileStore +import org.eclipse.core.resources.IContainer +import org.eclipse.core.resources.IFile +import org.eclipse.core.resources.IFolder +import org.eclipse.core.resources.IProject +import org.eclipse.core.runtime.CoreException +import org.eclipse.core.runtime.Platform +import org.eclipse.cdt.core.CCorePlugin +import org.eclipse.cdt.core.formatter.CodeFormatter +import org.eclipse.cdt.core.ToolFactory +import org.eclipse.jface.text.IDocument +import org.eclipse.jface.text.Document +import org.eclipse.text.edits.TextEdit +import org.eclipse.papyrus.cpp.codegen.Activator +import org.eclipse.papyrus.cpp.codegen.Messages +import org.eclipse.text.edits.MalformedTreeException +import org.eclipse.jface.text.BadLocationException + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +abstract class CppFileGenerator { + + static def generateFile(IContainer owner, String filename, String content, boolean force) { + var IFile file = null; + if (owner instanceof IProject) { + file = (owner as IProject).getFile(filename) + } else if(owner instanceof IFolder) { + file = (owner as IFolder).getFile(filename) + } else { + // undefined + } + + if(file != null) { + createFile(file, format(content), force); + } + } + + static def void createFile(IFile file, String content, boolean force) throws CoreException { + if (file.exists() && force) { + // file.delete(true,true,null); + // YT - deleting files produce inconsistency in SVN working copies + var locationURI = file.getLocationURI(); + if(locationURI != null) { + var IFileStore store = EFS.getStore(locationURI); + var OutputStream os = store.openOutputStream(0, null); + try { + os.write(content.getBytes()); + } catch (IOException e) { + throw new RuntimeException ("C++ code generation: " + e.getMessage()); //$NON-NLS-1$ + } + } + // file.setContents(new ByteArrayInputStream(content.getBytes()), + // true, true, null); + } else if(file.exists() && !(force)) { + // the file is not updated + } else { + // the file does not exists + file.create(new ByteArrayInputStream(content.getBytes()), true, null); + } + } + + /** + * Apply the user's currently selected formatting options to the input content. Return the + * input String in case of error. + */ + static def String format(String content) { + + // do nothing if the CDT plugin is not loaded + if (Platform.getBundle(CCorePlugin.PLUGIN_ID) == null) + return content; + + var CodeFormatter codeFormatter = ToolFactory.createCodeFormatter(null); + var IDocument doc = new Document(content); + + var TextEdit edit = codeFormatter.format(CodeFormatter.K_TRANSLATION_UNIT, doc.get(), 0, doc.get().length(), 0, null); + + if (edit == null) { + Activator.log.debug(Messages.CppModelElementsCreator_CannotFormatContent); + return content; + } + + try { + edit.apply(doc); + return doc.get(); + } catch (MalformedTreeException e) { + Activator.log.error(e); + } catch (BadLocationException e) { + Activator.log.error(e); + } + + return content; + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppIncludeUtil.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppIncludeUtil.xtend new file mode 100644 index 00000000000..e9e8d003351 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppIncludeUtil.xtend @@ -0,0 +1,72 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.NamedElement +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.C_Cpp.Include +import org.eclipse.uml2.uml.util.UMLUtil + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppIncludeUtil { + static def includeDirective(String path) { + if ((path != null) && (path.length > 0)) + return '''#include ''' + '"' + path + '"' + } + + static def CppIncludeHeader(NamedElement ne) { + if (GenUtils.hasStereotype(ne, Include)) { + UMLUtil.getStereotypeApplication(ne, Include) + var header = UMLUtil.getStereotypeApplication(ne, Include).header + if ((header != null) && (header.length > 0)) { + var includeHeader = constIncludeHeaderStart + GenUtils.cleanCR(header) + constIncludeHeaderEnd + return includeHeader + } + } + } + + static def constIncludeHeaderStart() ''' + // Include from Include stereotype (header) + ''' + + static def constIncludeHeaderEnd() ''' + // End of Include stereotype (header) + ''' + + static def CppIncludePreBody(NamedElement ne) { + if (GenUtils.hasStereotype(ne, Include)) { + var String preBody = UMLUtil.getStereotypeApplication(ne, Include).preBody + if ((preBody != null) && (preBody.length > 0)) { + var includePreBody = constIncludePreBodyStart + GenUtils.cleanCR(preBody) + constIncludePreBodyEnd + return includePreBody + } + } + } + + static def constIncludePreBodyStart() ''' + // Include from Include stereotype (pre-body) + ''' + + static def constIncludePreBodyEnd() ''' + // End of Include stereotype (pre-body) + ''' + + static def CppIncludeBody(NamedElement ne) { + if (GenUtils.hasStereotype(ne, Include)) { + var String body = UMLUtil.getStereotypeApplication(ne, Include).body + if ((body != null) && (body.length > 0)) { + var includeBody = constIncludeBodyStart + GenUtils.cleanCR(body) + '\n' + constIncludeBodyEnd + return includeBody + } + } + } + + static def constIncludeBodyStart() ''' + // Include from Include declaration (body) + ''' + + static def constIncludeBodyEnd() ''' + // End of Include declaration (body) + ''' + +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppOperations.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppOperations.xtend new file mode 100644 index 00000000000..53b4625212e --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppOperations.xtend @@ -0,0 +1,128 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.papyrus.C_Cpp.Inline +import org.eclipse.papyrus.C_Cpp.Virtual +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.uml2.uml.Behavior +import org.eclipse.uml2.uml.Class +import org.eclipse.uml2.uml.Classifier +import org.eclipse.uml2.uml.DataType +import org.eclipse.uml2.uml.Element +import org.eclipse.uml2.uml.Interface +import org.eclipse.uml2.uml.OpaqueBehavior +import org.eclipse.uml2.uml.Operation +import org.eclipse.uml2.uml.profile.standard.Create +import org.eclipse.uml2.uml.profile.standard.Destroy +import org.eclipse.papyrus.C_Cpp.ConstInit +import org.eclipse.uml2.uml.util.UMLUtil + +class CppOperations { + static def CppOperationImplementation(Operation operation) ''' + «CppDocumentation.CppOperationDoc(operation)» + «IF (operation.name == 'main')» + «CppReturnSpec(operation)»«operation.name»(«CppParameter.CppOperationParameters(operation,false)») { + «GenUtils.getBody(operation, 'C/C++')» + } + «ELSE» + «CppTemplates.templateSignature(operation)»«InlineTxt(operation)»«CppReturnSpec(operation)»«operation.featuringClassifiers.get(0).name»«CppTemplates.templateShortSignature(operation)»::«destructor(operation)»«operation.name»(«CppParameter.CppOperationParameters(operation, false)»)«throwss(operation)»«Modifier.modCVQualifier(operation)»«CppConstInit(operation)» { + «GenUtils.getBody(operation, 'C/C++')» + } + «ENDIF» + ''' + + static def CppReturnSpec(Operation operation) { + if ((operation.type == null) || isConsOrDestructor(operation)) { + ConsDestructorOrVoid(operation) + } else { + Modifier.modCVQualifier(operation.getReturnResult())+' '+CppGenUtils.cppQualifiedName(operation.type)+Modifier.modPtr(operation.getReturnResult())+Modifier.modRef(operation.getReturnResult())+' ' + } + } + + static def CppReturnSpec(Behavior behavior) ''' + «IF (GenUtils.returnResult(behavior) == null)»void «ELSE»«Modifier.modCVQualifier(GenUtils.returnResult(behavior))» «CppGenUtils.cppQualifiedName(GenUtils.returnResult(behavior).type)»«Modifier.modPtr(GenUtils.returnResult(behavior))»«Modifier.modRef(GenUtils.returnResult(behavior))» «ENDIF» + ''' + + static def throwss(Operation operation) ''' + «IF operation.raisedExceptions.length > 0» + throws «FOR re : operation.raisedExceptions SEPARATOR ','»«re.name»«ENDFOR» + «ENDIF» + ''' + + static def ConsDestructorOrVoid(Operation operation) { + if (isConsOrDestructor(operation)) { + + } else { + 'void ' + } + } + + static def isConsOrDestructor(Operation operation) { + GenUtils.hasStereotype(operation, Create) || GenUtils.hasStereotype(operation, Destroy) + } + + static def CppConstInit(Operation operation) { + if (GenUtils.hasStereotype(operation, ConstInit) && GenUtils.hasStereotype(operation, Create)) { + (UMLUtil.getStereotypeApplication(operation, ConstInit) as ConstInit).initialisation + } + } + + // return a list of owned operations, since this is not supported directly on a classifier/] + static def getOwnedOperations(Classifier cl) { + if (cl instanceof Class) { + (cl as Class).ownedOperations + } else { + if (cl instanceof DataType) { + (cl as DataType).ownedOperations + } else { + if (cl instanceof Interface) { + (cl as Interface).ownedOperations + } else { + // Sequence{} + } + } + } + } + + static def CppBehaviorImplementation(OpaqueBehavior behavior) ''' + «CppDocumentation.CppBehaviorDoc(behavior)» + «CppReturnSpec(behavior)»«behavior.context.name»::«behavior.name»(«CppParameter.CppBehaviorParameters(behavior, false)»)«Modifier.modCVQualifier(behavior)» { + «GenUtils.getBodyFromOB(behavior, 'C/C++')» + } + ''' + + static def CppOperationDeclaration(Operation operation) ''' + «CppDocumentation.CppOperationDoc(operation)» + «InlineTxt(operation)»«virtualTxt(operation)»«staticTxt(operation)»«CppReturnSpec(operation)»«destructor(operation)»«operation.name»(«CppParameter.CppOperationParameters(operation,true)»)«Modifier.modCVQualifier(operation)»«virtualSuffix(operation)»; + ''' + + static def InlineTxt(Element element) { + if (GenUtils.hasStereotype(element, Inline)) 'inline ' + } + + static def virtualTxt(Operation operation) { + if ((operation.interface != null) || (operation.isAbstract) || (GenUtils.hasStereotype(operation, Virtual))) 'virtual ' + } + + static def staticTxt(Operation operation) { + if (operation.isStatic) 'static ' + } + + static def destructor(Operation operation) { + if (GenUtils.hasStereotype(operation, Destroy) && (!operation.name.startsWith('~'))) { + '~' + } else { + '' + } + } + + static def public virtualSuffix(Operation operation) { + if ((operation.interface != null) || (operation.isAbstract)) ' = 0' + } + + static def CppBehaviorDeclaration(Behavior behavior) ''' + «CppDocumentation.CppBehaviorDoc(behavior)» + «InlineTxt(behavior)»«CppReturnSpec(behavior)»«behavior.name»(«CppParameter.CppBehaviorParameters(behavior, true)»)«Modifier.modCVQualifier(behavior)»; + ''' +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppPackageHeaderGenerator.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppPackageHeaderGenerator.xtend new file mode 100644 index 00000000000..126706c5a03 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppPackageHeaderGenerator.xtend @@ -0,0 +1,63 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.core.resources.IContainer +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.uml2.uml.Package + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppPackageHeaderGenerator extends CppFileGenerator { + static def generate(IContainer packageContainer, Package pkg) { + val fileName = "Pkg_" + pkg.name + "." + CppCodeGenUtils.getHeaderSuffix() + generateFile(packageContainer, fileName, pkg.generateCode, true) + } + + static def generateCode(Package pkg) { + val code = ''' + #ifndef PKG_«GenUtils.getFullNameUC(pkg)» + #define PKG_«GenUtils.getFullNameUC(pkg)» + + /************************************************************ + Pkg_«pkg.name» package header + ************************************************************/ + + «CppIncludeUtil.includeDirective(CppClassIncludeClassDeclaration.cppOwnerPackageIncludePath(pkg.nestingPackage))» + + #ifndef _IN_ + #define _IN_ + #endif + #ifndef _OUT_ + #define _OUT_ + #endif + #ifndef _INOUT_ + #define _INOUT_ + #endif + + + /* Package dependency header include */ + «FOR p: GenUtils.getUsedPackages(pkg)» + «var path = GenUtils.getFullPath(p) + "/Pkg_"+ p.name + "." + CppCodeGenUtils.getHeaderSuffix» + «CppIncludeUtil.includeDirective(path)» + «ENDFOR» + + «CppIncludeUtil.CppIncludeHeader(pkg)» + «CppGenUtils.openNS(pkg)» + + // Types defined within the package + «IF pkg.name == "root"» + «var x = 0» + «ENDIF» + «CppClassTypeAndEnum.CppClassTypeAndEnumPackage(pkg)» + «CppGenUtils.closeNS(pkg)» + + /************************************************************ + End of Pkg_«pkg.name» package header + ************************************************************/ + + #endif''' + return code + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppParameter.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppParameter.xtend new file mode 100644 index 00000000000..7b8f496c978 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppParameter.xtend @@ -0,0 +1,35 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Operation +import org.eclipse.uml2.uml.Parameter +import org.eclipse.papyrus.cpp.codegen.utils.Modifier +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.uml2.uml.ParameterDirectionKind +import org.eclipse.uml2.uml.Behavior + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppParameter { + + static def CppOperationParameters(Operation operation, boolean showDefault) ''' + «FOR ownedParameter : operation.ownedParameters.filter[it.direction != ParameterDirectionKind.RETURN_LITERAL] SEPARATOR ', '»«CppParameter(ownedParameter, showDefault)»«ENDFOR»''' + + /** + * comment signature for a given behavior (e.g. effect within state machine) + */ + static def CppBehaviorParameters(Behavior behavior, boolean showDefault) ''' + «FOR ownedParameter : behavior.ownedParameters.filter[it.direction != ParameterDirectionKind.RETURN_LITERAL] SEPARATOR ', '»«CppParameter(ownedParameter, showDefault)»«ENDFOR» + ''' + + /** + * C++ parameter. Default values are added, if parameter showDefault is true (implementation signature + */ + static def CppParameter(Parameter parameter, boolean showDefault) { + Modifier.modCVQualifier(parameter)+CppGenUtils.cppQualifiedName(parameter.type)+Modifier.modPtr(parameter)+Modifier.modRef(parameter)+" "+parameter.name + Modifier.modArray(parameter) + {if (showDefault) defaultValue(parameter) else ""} + } + + static def defaultValue(Parameter parameter) { + if (parameter.defaultValue != null) " = " + parameter.defaultValue.stringValue() else "" + } +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppPrimitiveTypes.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppPrimitiveTypes.xtend new file mode 100644 index 00000000000..3757e8dd098 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppPrimitiveTypes.xtend @@ -0,0 +1,38 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.PrimitiveType +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.C_Cpp.Typedef +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.uml2.uml.util.UMLUtil + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppPrimitiveTypes { + + /** 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 + */ + static def CppPrimitiveTypeDefinition(PrimitiveType primitiveType) ''' + «CppDocumentation.CppElementDoc(primitiveType)» + «IF GenUtils.hasStereotype(primitiveType, Typedef)» + typedef «UMLUtil.getStereotypeApplication(primitiveType, Typedef).definition.replaceAll('typeName', primitiveType.name)» + «IF !UMLUtil.getStereotypeApplication(primitiveType, Typedef).definition.contains('typeName')»«primitiveType.name»«ENDIF»; + + «ELSE» + «CppGenUtils.getStdtypes(primitiveType)» + + «ENDIF» + ''' +}
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppTemplates.xtend b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppTemplates.xtend new file mode 100644 index 00000000000..7ae148b2044 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/xtend/CppTemplates.xtend @@ -0,0 +1,47 @@ +package org.eclipse.papyrus.cpp.codegen.xtend + +import org.eclipse.uml2.uml.Operation +import org.eclipse.uml2.uml.Classifier +import org.eclipse.papyrus.acceleo.GenUtils +import org.eclipse.papyrus.cpp.codegen.utils.CppGenUtils +import org.eclipse.uml2.uml.TemplateParameterSubstitution +import org.eclipse.uml2.uml.NamedElement +import org.eclipse.uml2.uml.LiteralInteger + +/** + * @author Önder GÜRCAN (onder.gurcan@cea.fr) + */ +class CppTemplates { + + static def templateSignature(Operation operation) { + templateSignature(operation.owner as Classifier) + } + + static def templateSignature(Classifier clazz)''' + «IF (isTemplate(clazz))» + template<«FOR templateParam : GenUtils.getTemplateParameters(clazz) SEPARATOR ', '»«CppGenUtils.getTemplateTypeName(templateParam)»«ENDFOR»> + «ENDIF» + ''' + + static def templateShortSignature(Operation operation) { + templateShortSignature(operation.owner as Classifier) + } + + static def templateShortSignature(Classifier clazz)''' + «IF (isTemplate(clazz))» + <«FOR templateParam : GenUtils.getTemplateParameters(clazz) SEPARATOR ', '»«GenUtils.getTemplateName(templateParam)»«ENDFOR»> + «ENDIF» + ''' + + static def isTemplate(Classifier clazz) { + GenUtils.getTemplateParameters(clazz).size() > 0 + } + + static def CppTemplateBindingParameter(TemplateParameterSubstitution tps) { + if (tps.actual instanceof LiteralInteger) { + (tps.actual as LiteralInteger).value + } else { + (tps.actual as NamedElement).name + } + } +}
\ No newline at end of file |