Quellcode durchsuchen

Fixed bug YAKHMI-581 java code generation failed

markus.muehlbrandt@itemis.de vor 13 Jahren
Ursprung
Commit
442c8ed10a

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomCycleBasedStatemachine.xpt

@@ -328,7 +328,7 @@ import 
 «ELSE-»
 	import «entry.getBasePackageName()».IStatemachine;
 «ENDIF-»
-«IF !getInternalScopeValuedEvents().isEmpty || !getDefaultInterfaceValuedEvents().isEmpty
+«IF !getInternalScopeValuedEvents().isEmpty  || hasDefaultInterfaceValuedEvents()
 	import «entry.getBasePackageName()».ValuedEvent;
 «ENDIF-»
 «IF getStatemachineExtension(entry) != null-»

+ 5 - 4
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ExecutionModelExtensions.ext

@@ -30,12 +30,13 @@ getInternalScopeVoidEvents(ExecutionFlow this) :getInternalScopeEvents().select(
 getInternalScopeValuedEvents(ExecutionFlow this) : getInternalScopeEvents().select(e|!e.type.isVoid());
 
 getDefaultInterface(ExecutionFlow this) :
-	getInterfaceScope().select(interface|interface.name == null);
+	getInterfaceScope().select(interface|interface.name == null || interface.name == "");
 
-List getDefaultInterfaceValuedEvents(ExecutionFlow this):
+boolean hasDefaultInterfaceValuedEvents(ExecutionFlow this):
 	if (!getDefaultInterface().isEmpty) then
-		getDefaultInterface().get(0).declarations.typeSelect(EventDefinition).select(e|!e.type.isVoid());
-
+		!getDefaultInterface().get(0).declarations.typeSelect(EventDefinition).select(e|!e.type.isVoid()).isEmpty
+		else false;
+		
 getTimeEvents(ExecutionFlow this) : scopes.typeSelect(Scope).declarations.typeSelect(TimeEvent);
 
 boolean isTimedStatemachine(ExecutionFlow this) :