| Summary: | A transition point at the top level state generates code that not runs | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] eTrice | Reporter: | Thomas Jung <tj> | ||||
| Component: | Generators | Assignee: | Project Inbox <etrice.generators-inbox> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | hrr | ||||
| Version: | 0.1.0 | Flags: | hrr:
indigo+
|
||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | 0.1.0 | ||||||
| Attachments: |
|
||||||
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 |
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.