diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend')
-rw-r--r-- | plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend index 2c09bd179..3d77819e6 100644 --- a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend +++ b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend @@ -405,10 +405,14 @@ abstract class AbstractStateMachineGenerator { «IF generateImplementation» «publicIf»void «opScope»executeInitTransition(«selfOnly») { «var initt = gc.graph.initialTransition» - int chain__et = «chainIDScope»«initt.genChainId»; - «stateType» next__et = «opScopePriv»executeTransitionChain(«langExt.selfPointer(true)»chain__et«IF handleEvents», «langExt.nullPointer», «langExt.nullPointer»«ENDIF»); - next__et = «opScopePriv»enterHistory(«langExt.selfPointer(true)»next__et«IF usesHdlr», «langExt.booleanConstant(false)»«ENDIF»); - setState(«langExt.selfPointer(true)»next__et); + «IF initt===null» + /* no initial transition allowed for abstract actor class */ + «ELSE» + int chain__et = «chainIDScope»«initt.genChainId»; + «stateType» next__et = «opScopePriv»executeTransitionChain(«langExt.selfPointer(true)»chain__et«IF handleEvents», «langExt.nullPointer», «langExt.nullPointer»«ENDIF»); + next__et = «opScopePriv»enterHistory(«langExt.selfPointer(true)»next__et«IF usesHdlr», «langExt.booleanConstant(false)»«ENDIF»); + setState(«langExt.selfPointer(true)»next__et); + «ENDIF» } «ELSE» void «opScope»executeInitTransition(«selfOnly»); |