bug 479131: [codegen] Protocol message parameter must be possible to be
left untyped to cover for * case
Change-Id: I11dbaeb8b25e2ee06eb1434ca89bc4f584f432bc
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=479131
diff --git a/models/tests/codepattern/structure/UntypedProtocolMessage/model.notation b/models/tests/codepattern/structure/UntypedProtocolMessage/model.notation
index 50fc10f..577e43a 100755
--- a/models/tests/codepattern/structure/UntypedProtocolMessage/model.notation
+++ b/models/tests/codepattern/structure/UntypedProtocolMessage/model.notation
@@ -135,12 +135,14 @@
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_g32MQ99bEeamOv7wiASnRg" source="PapyrusCSSForceValue">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_g32MRN9bEeamOv7wiASnRg" key="mutable" value="true"/>
</eAnnotations>
- <children xmi:type="notation:DecorationNode" xmi:id="_gvpSgt9bEeamOv7wiASnRg" type="State_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_gvpSgt9bEeamOv7wiASnRg" type="State_NameLabel">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y20AOG4Eea54eCao7u9vA" width="40"/>
+ </children>
<children xmi:type="notation:DecorationNode" xmi:id="_gvpSg99bEeamOv7wiASnRg" type="State_FloatingNameLabel">
<layoutConstraint xmi:type="notation:Location" xmi:id="_gvpShN9bEeamOv7wiASnRg" x="40"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_gvp5kN9bEeamOv7wiASnRg" type="State_RegionCompartment">
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gvp5kd9bEeamOv7wiASnRg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gvp5kd9bEeamOv7wiASnRg" y="-1" width="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_gv6YQN9bEeamOv7wiASnRg" type="StereotypeLabel">
<styles xmi:type="notation:StringValueStyle" xmi:id="_gv6YQd9bEeamOv7wiASnRg" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
@@ -153,9 +155,11 @@
<element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gv6_Ut9bEeamOv7wiASnRg"/>
</children>
- <children xmi:type="notation:Compartment" xmi:id="_gv9bkN9bEeamOv7wiASnRg" type="InternalTransitions"/>
+ <children xmi:type="notation:Compartment" xmi:id="_gv9bkN9bEeamOv7wiASnRg" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y20AeG4Eea54eCao7u9vA"/>
+ </children>
<element xmi:type="uml:State" href="model.uml#_f32u4N9bEeamOv7wiASnRg"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gvpSgd9bEeamOv7wiASnRg" x="104" y="78" width="40" height="40"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gvpSgd9bEeamOv7wiASnRg" x="104" y="78" width="40" height="59"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_gv0RoN9bEeamOv7wiASnRg" type="StereotypeComment">
<styles xmi:type="notation:TitleStyle" xmi:id="_gv0Rod9bEeamOv7wiASnRg"/>
@@ -174,12 +178,14 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gv-ptd9bEeamOv7wiASnRg" x="200"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_iCCugN9bEeamOv7wiASnRg" type="State_Shape">
- <children xmi:type="notation:DecorationNode" xmi:id="_iCDVkN9bEeamOv7wiASnRg" type="State_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_iCDVkN9bEeamOv7wiASnRg" type="State_NameLabel">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZFdgOG4Eea54eCao7u9vA"/>
+ </children>
<children xmi:type="notation:DecorationNode" xmi:id="_iCDVkd9bEeamOv7wiASnRg" type="State_FloatingNameLabel">
<layoutConstraint xmi:type="notation:Location" xmi:id="_iCDVkt9bEeamOv7wiASnRg" x="40"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_iCDVk99bEeamOv7wiASnRg" type="State_RegionCompartment">
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iCDVlN9bEeamOv7wiASnRg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iCDVlN9bEeamOv7wiASnRg" y="-1"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_iCJcMN9bEeamOv7wiASnRg" type="StereotypeLabel">
<styles xmi:type="notation:StringValueStyle" xmi:id="_iCJcMd9bEeamOv7wiASnRg" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
@@ -192,9 +198,11 @@
<element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_iCKDQ99bEeamOv7wiASnRg"/>
</children>
- <children xmi:type="notation:Compartment" xmi:id="_iCKDRN9bEeamOv7wiASnRg" type="InternalTransitions"/>
+ <children xmi:type="notation:Compartment" xmi:id="_iCKDRN9bEeamOv7wiASnRg" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZGEkOG4Eea54eCao7u9vA"/>
+ </children>
<element xmi:type="uml:State" href="model.uml#_iB2hQN9bEeamOv7wiASnRg"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iCCugd9bEeamOv7wiASnRg" x="309" y="78"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iCCugd9bEeamOv7wiASnRg" x="309" y="78" height="59"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_iCKqU99bEeamOv7wiASnRg" type="StereotypeComment">
<styles xmi:type="notation:TitleStyle" xmi:id="_iCKqVN9bEeamOv7wiASnRg"/>
@@ -311,19 +319,41 @@
</edges>
<edges xmi:type="notation:Connector" xmi:id="_j1zLIN9bEeamOv7wiASnRg" type="Transition_Edge" source="_gvpSgN9bEeamOv7wiASnRg" target="_iCCugN9bEeamOv7wiASnRg">
<children xmi:type="notation:DecorationNode" xmi:id="_j1zyMN9bEeamOv7wiASnRg" type="Transition_NameLabel">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_j1zyMd9bEeamOv7wiASnRg" x="-4" y="-9"/>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_VfztEOG4Eea54eCao7u9vA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j1zyMd9bEeamOv7wiASnRg" x="-9" y="-9"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_j1zyMt9bEeamOv7wiASnRg" type="Transition_GuardLabel">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_j1zyM99bEeamOv7wiASnRg" x="-7" y="12"/>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_VgHPEOG4Eea54eCao7u9vA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j1zyM99bEeamOv7wiASnRg" x="-6" y="11"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_j1zyNN9bEeamOv7wiASnRg" type="Transition_StereotypeLabel">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_j1zyNd9bEeamOv7wiASnRg" y="60"/>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_VgZi8OG4Eea54eCao7u9vA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_j1zyNd9bEeamOv7wiASnRg" y="59"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_j1zLId9bEeamOv7wiASnRg"/>
<element xmi:type="uml:Transition" href="model.uml#_j1iscN9bEeamOv7wiASnRg"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j1zLIt9bEeamOv7wiASnRg" points="[175, 148, -643984, -643984]$[340, 147, -643984, -643984]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_j2UIgN9bEeamOv7wiASnRg" id="(1.0,0.475)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_j2UIgd9bEeamOv7wiASnRg" id="(0.0,0.475)"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_j1zLIt9bEeamOv7wiASnRg" points="[173, 128, -643984, -643984]$[340, 140, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_j2UIgN9bEeamOv7wiASnRg" id="(1.0,0.3389830508474576)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_j2UIgd9bEeamOv7wiASnRg" id="(0.0,0.3389830508474576)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YOT6sOG4Eea54eCao7u9vA" type="Transition_Edge" source="_gvpSgN9bEeamOv7wiASnRg" target="_iCCugN9bEeamOv7wiASnRg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YOW-AOG4Eea54eCao7u9vA" type="Transition_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZdQaEOG4Eea54eCao7u9vA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YOW-AeG4Eea54eCao7u9vA" x="-9" y="-9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YOW-AuG4Eea54eCao7u9vA" type="Transition_GuardLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZdecgOG4Eea54eCao7u9vA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YOW-A-G4Eea54eCao7u9vA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YOW-BOG4Eea54eCao7u9vA" type="Transition_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZdwJUOG4Eea54eCao7u9vA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YOW-BeG4Eea54eCao7u9vA" x="-1" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_YOT6seG4Eea54eCao7u9vA"/>
+ <element xmi:type="uml:Transition" href="model.uml#_YN7gMOG4Eea54eCao7u9vA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YOT6suG4Eea54eCao7u9vA" points="[175, 164, -643984, -643984]$[340, 144, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YPDhkOG4Eea54eCao7u9vA" id="(1.0,0.6779661016949152)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YPEIoOG4Eea54eCao7u9vA" id="(0.0,0.6779661016949152)"/>
</edges>
</notation:Diagram>
</xmi:XMI>
diff --git a/models/tests/codepattern/structure/UntypedProtocolMessage/model.uml b/models/tests/codepattern/structure/UntypedProtocolMessage/model.uml
index 517d6cc..75e6619 100755
--- a/models/tests/codepattern/structure/UntypedProtocolMessage/model.uml
+++ b/models/tests/codepattern/structure/UntypedProtocolMessage/model.uml
@@ -1,22 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:UMLRTStateMachines="http://www.eclipse.org/papyrus/umlrt/statemachine" xmlns:UMLRealTime="http://www.eclipse.org/papyrus/umlrt" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
<uml:Model xmi:id="_-U0l4HMNEeWC_-37zEZQHQ" name="RootElement">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dBtBIN9bEeamOv7wiASnRg" source="http://www.eclipse.org/papyrus-rt/language/1.0.0">
- <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dBtoMN9bEeamOv7wiASnRg" key="language" value="umlrt-cpp"/>
+ <eAnnotations xmi:id="_dBtBIN9bEeamOv7wiASnRg" source="http://www.eclipse.org/papyrus-rt/language/1.0.0">
+ <details xmi:id="_dBtoMN9bEeamOv7wiASnRg" key="language" value="umlrt-cpp"/>
</eAnnotations>
<packagedElement xmi:type="uml:Package" xmi:id="_B7xecHMOEeWC_-37zEZQHQ" name="Protocol">
<packagedElement xmi:type="uml:Collaboration" xmi:id="_B398gHMOEeWC_-37zEZQHQ" name="Protocol">
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_B8EZYHMOEeWC_-37zEZQHQ" client="_B398gHMOEeWC_-37zEZQHQ" supplier="_B7-50HMOEeWC_-37zEZQHQ" contract="_B7-50HMOEeWC_-37zEZQHQ">
+ <interfaceRealization xmi:id="_B8EZYHMOEeWC_-37zEZQHQ" client="_B398gHMOEeWC_-37zEZQHQ" supplier="_B7-50HMOEeWC_-37zEZQHQ" contract="_B7-50HMOEeWC_-37zEZQHQ">
<name xsi:nil="true"/>
</interfaceRealization>
- <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_B8LuIHMOEeWC_-37zEZQHQ" client="_B398gHMOEeWC_-37zEZQHQ" supplier="_B8J48HMOEeWC_-37zEZQHQ" contract="_B8J48HMOEeWC_-37zEZQHQ">
+ <interfaceRealization xmi:id="_B8LuIHMOEeWC_-37zEZQHQ" client="_B398gHMOEeWC_-37zEZQHQ" supplier="_B8J48HMOEeWC_-37zEZQHQ" contract="_B8J48HMOEeWC_-37zEZQHQ">
<name xsi:nil="true"/>
</interfaceRealization>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_B7-50HMOEeWC_-37zEZQHQ">
<name xsi:nil="true"/>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_Ej5-UHMOEeWC_-37zEZQHQ" name="request">
- <ownedParameter xmi:type="uml:Parameter" xmi:id="_Ej5-UXMOEeWC_-37zEZQHQ" name="data"/>
+ <ownedOperation xmi:id="_Ej5-UHMOEeWC_-37zEZQHQ" name="request">
+ <ownedParameter xmi:id="_Ej5-UXMOEeWC_-37zEZQHQ" name="x"/>
+ </ownedOperation>
+ <ownedOperation xmi:id="_dN-5sOG4Eea54eCao7u9vA" name="anotherRequest">
+ <ownedParameter xmi:id="_fsZc4OG4Eea54eCao7u9vA" name="y">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+ </ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_B8GOkHMOEeWC_-37zEZQHQ">
@@ -33,14 +38,30 @@
<name xsi:nil="true"/>
</packagedElement>
<packagedElement xmi:type="uml:CallEvent" xmi:id="_Ej7zgHMOEeWC_-37zEZQHQ" operation="_Ej5-UHMOEeWC_-37zEZQHQ"/>
+ <packagedElement xmi:type="uml:CallEvent" xmi:id="_dOczwOG4Eea54eCao7u9vA" operation="_dN-5sOG4Eea54eCao7u9vA"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_T1rfQHMOEeWC_-37zEZQHQ" name="Top" classifierBehavior="_f2gEAN9bEeamOv7wiASnRg" isActive="true">
<ownedAttribute xmi:type="uml:Port" xmi:id="_WTEuwHMOEeWC_-37zEZQHQ" name="port" visibility="public" type="_B398gHMOEeWC_-37zEZQHQ" aggregation="composite" isBehavior="true"/>
<ownedBehavior xmi:type="uml:StateMachine" xmi:id="_f2gEAN9bEeamOv7wiASnRg" name="StateMachine" isReentrant="false">
- <region xmi:type="uml:Region" xmi:id="_f3IWIN9bEeamOv7wiASnRg" name="Region">
- <transition xmi:type="uml:Transition" xmi:id="_f38OcN9bEeamOv7wiASnRg" name="Initial" source="_f3UjYN9bEeamOv7wiASnRg" target="_f32u4N9bEeamOv7wiASnRg"/>
- <transition xmi:type="uml:Transition" xmi:id="_j1iscN9bEeamOv7wiASnRg" name="t1" source="_f32u4N9bEeamOv7wiASnRg" target="_iB2hQN9bEeamOv7wiASnRg">
- <trigger xmi:type="uml:Trigger" xmi:id="_ILLzUN9dEeamOv7wiASnRg" name="Trigger1" event="_Ej7zgHMOEeWC_-37zEZQHQ" port="_WTEuwHMOEeWC_-37zEZQHQ"/>
+ <region xmi:id="_f3IWIN9bEeamOv7wiASnRg" name="Region">
+ <transition xmi:id="_f38OcN9bEeamOv7wiASnRg" name="Initial" source="_f3UjYN9bEeamOv7wiASnRg" target="_f32u4N9bEeamOv7wiASnRg"/>
+ <transition xmi:id="_j1iscN9bEeamOv7wiASnRg" name="t1" source="_f32u4N9bEeamOv7wiASnRg" target="_iB2hQN9bEeamOv7wiASnRg">
+ <effect xmi:type="uml:OpaqueBehavior" xmi:id="_1gFBEOG3Eea54eCao7u9vA">
+ <language>C++</language>
+ <body> void * p = rtdata;
+ const UMLRTObject_class * t = msg->getType(); // we can obtain the type descriptor
+</body>
+ </effect>
+ <trigger xmi:id="_ILLzUN9dEeamOv7wiASnRg" name="Trigger1" event="_Ej7zgHMOEeWC_-37zEZQHQ" port="_WTEuwHMOEeWC_-37zEZQHQ"/>
+ </transition>
+ <transition xmi:id="_YN7gMOG4Eea54eCao7u9vA" name="t2" source="_f32u4N9bEeamOv7wiASnRg" target="_iB2hQN9bEeamOv7wiASnRg">
+ <effect xmi:type="uml:OpaqueBehavior" xmi:id="_hlyK8OG5Eea54eCao7u9vA">
+ <language>C++</language>
+ <body> int i = *rtdata;
+ int d = y;
+</body>
+ </effect>
+ <trigger xmi:id="_I4B3wOG5Eea54eCao7u9vA" event="_dOczwOG4Eea54eCao7u9vA" port="_WTEuwHMOEeWC_-37zEZQHQ"/>
</transition>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_f3UjYN9bEeamOv7wiASnRg">
<name xsi:nil="true"/>
@@ -50,23 +71,23 @@
</region>
</ownedBehavior>
</packagedElement>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_-dTMcHMNEeWC_-37zEZQHQ">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-dWPwHMNEeWC_-37zEZQHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_-dTMcHMNEeWC_-37zEZQHQ">
+ <eAnnotations xmi:id="_-dWPwHMNEeWC_-37zEZQHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/umlrt#/"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_RT_PROFILE/uml-rt.profile.uml#_1h74oEeVEeO0lv5O1DTHOQ"/>
+ <appliedProfile href="pathmap://UML_RT_PROFILE/uml-rt.profile.uml#_1h74oEeVEeO0lv5O1DTHOQ"/>
</profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_dB7DkN9bEeamOv7wiASnRg">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dB9f0N9bEeamOv7wiASnRg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_dB7DkN9bEeamOv7wiASnRg">
+ <eAnnotations xmi:id="_dB9f0N9bEeamOv7wiASnRg" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/umlrt/cppproperties#/"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://UMLRT_CPP/RTCppProperties.profile.uml#_vl5LALs8EeSTjNEQkASznQ"/>
+ <appliedProfile href="pathmap://UMLRT_CPP/RTCppProperties.profile.uml#_vl5LALs8EeSTjNEQkASznQ"/>
</profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eb4gIN9bEeamOv7wiASnRg">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eb5HMN9bEeamOv7wiASnRg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:id="_eb4gIN9bEeamOv7wiASnRg">
+ <eAnnotations xmi:id="_eb5HMN9bEeamOv7wiASnRg" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/umlrt/statemachine#/"/>
</eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KLcn0FDtEeOA4ecmvfqvaw"/>
+ <appliedProfile href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KLcn0FDtEeOA4ecmvfqvaw"/>
</profileApplication>
</uml:Model>
<UMLRealTime:ProtocolContainer xmi:id="_B72W8HMOEeWC_-37zEZQHQ" base_Package="_B7xecHMOEeWC_-37zEZQHQ"/>
diff --git a/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/SerializationManager.java b/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/SerializationManager.java
index d43f4f6..841506e 100644
--- a/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/SerializationManager.java
+++ b/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/SerializationManager.java
@@ -171,7 +171,9 @@
createDefinition(
func,
msg,
- TypesUtil.createCppType(cpp, param, param.getType()),
+ param.getType() != null
+ ? TypesUtil.createCppType(cpp, param, param.getType())
+ : PrimitiveType.VOID,
paramName,
index));
}
diff --git a/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/TypesUtil.java b/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/TypesUtil.java
index 1eff02d..dd55991 100644
--- a/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/TypesUtil.java
+++ b/plugins/umlrt/codegen/org.eclipse.papyrusrt.codegen.cpp/src/org/eclipse/papyrusrt/codegen/cpp/TypesUtil.java
@@ -59,6 +59,8 @@
if (modelType != null) {
type = createType(cpp, modelType);
+ } else if (element == null) {
+ type = PrimitiveType.VOID;
}
if (element instanceof org.eclipse.papyrusrt.xtumlrt.common.Attribute) {
org.eclipse.papyrusrt.xtumlrt.common.Attribute attr = (org.eclipse.papyrusrt.xtumlrt.common.Attribute) element;