Parcourir la source

Merge pull request #2010 from Yakindu/issue_2009

Fix #2009: Remove init code for out events
Axel Terfloth il y a 7 ans
Parent
commit
fe59a22d9c

+ 2 - 1
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/eventdriven/StatechartEventsSource.xtend

@@ -11,6 +11,7 @@
 package org.yakindu.sct.generator.c.eventdriven
 
 import com.google.inject.Inject
+import org.yakindu.base.types.Direction
 import org.yakindu.sct.generator.c.extensions.EventNaming
 import org.yakindu.sct.generator.c.extensions.Navigation
 import org.yakindu.sct.generator.core.types.ICodegenTypeSystemAccess
@@ -47,7 +48,7 @@ class StatechartEventsSource {
 			
 			switch(name)
 			{
-				«FOR e : getAllEvents.filter[hasValue]»
+				«FOR e : getAllEvents.filter[hasValue && direction != Direction::OUT
 				case «e.eventEnumMemberName»:
 					ev->value.«e.eventEnumMemberName»_value = *((«e.typeSpecifier.targetLanguageName»*)value);
 					break;

+ 1 - 1
test-plugins/org.yakindu.sct.test.models/testmodels/SCTUnit/eventdriven/EventDrivenInternalEvent.sct

@@ -1,6 +1,6 @@
 <?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:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0">
-  <sgraph:Statechart xmi:id="_wSGvUHOOEee07dEgYYRu0Q" specification="namespace eventdriven&#xA;&#xA;@EventDriven&#xA;&#xA;interface:&#xA;&#xA;in event start&#xA;in event reset&#xA;&#xA;var x : integer = 0&#xA;var i1_sequence : integer&#xA;var i2_sequence : integer&#xA;&#xA;internal: &#xA;&#xA;event i1&#xA;event i2&#xA;&#xA;&#xA;always / x += 1&#xA;" namespace="eventdriven" name="EventDrivenInternalEvent">
+  <sgraph:Statechart xmi:id="_wSGvUHOOEee07dEgYYRu0Q" specification="namespace eventdriven&#xA;&#xA;@EventDriven&#xA;&#xA;interface:&#xA;&#xA;in event start&#xA;in event reset&#xA;out event e: integer&#xA;&#xA;var x : integer = 0&#xA;var i1_sequence : integer&#xA;var i2_sequence : integer&#xA;&#xA;internal: &#xA;&#xA;event i1&#xA;event i2&#xA;&#xA;&#xA;always / x += 1&#xA;" namespace="eventdriven" name="EventDrivenInternalEvent">
     <regions xmi:id="_wSGvVXOOEee07dEgYYRu0Q" name="r1">
       <vertices xsi:type="sgraph:Entry" xmi:id="_wSHWaXOOEee07dEgYYRu0Q">
         <outgoingTransitions xmi:id="_wSH9hHOOEee07dEgYYRu0Q" target="_wSH9dHOOEee07dEgYYRu0Q"/>