Community
Participate
Working Groups
Created attachment 196040 [details] buggy model The attached model has a transition point at the boarder of the top level state. The generated code is clean but but doesn´t run correctly. Execution stops after receiving the message that triggers the transition point transition. I assume a problem with history handling.
fixed with 49616f380ac30c1e9ef2ca67f9be1e4f548fc63b @Thomas Jung: please verify!
(In reply to comment #1) > fixed with > 49616f380ac30c1e9ef2ca67f9be1e4f548fc63b > > @Thomas Jung: please verify! still not working correctly: assumed fault: private int enterHistory(int state, boolean handler) { while (true) { switch (state) { «FOREACH this.stateMachine.getBaseStateList() AS state-» case «state.getStateId()»: «IF state.hasEntryCode()»if (!handler) «state.getEntryCodeOperationName()»();«ENDIF-» «IF state.isLeaf()-» return «state.getStateId()»; «ELSE-» «IF !state.subgraph.hasInitTransition()-» state = history[«state.getStateId()»]; >>>>>>return state;<<<<<<< «ELSE-» if (history[«state.getStateId()»]==NO_STATE) { «LET state.subgraph.getInitTransition() AS initt-» «IF initt!=null-» int chain = «this.getChain(initt).getChainId()-»; int next = executeTransitionChain(chain, null, null); state = enterHistory(next, false); «ENDIF-» «ENDLET-» state = «state.subgraph.getInitState().getStateId()»; >>>>>>>>>return state;<<<<<<<<<<< } else { state = history[«state.getStateId()»]; } break; «ENDIF-» «ENDIF-» «ENDFOREACH-» case STATE_TOP: state = history[STATE_TOP]; break; }
closed resolved bug