super.generateModeTransitionCode(code);
ptolemy.domains.fsm.kernel.FSMActor controller = ((ptolemy.domains.fsm.kernel.FSMDirector) getComponent())
.getController();
FSMActor controllerHelper = (FSMActor) _getHelper(controller);
ptolemy.domains.hdf.kernel.HDFFSMDirector director = (ptolemy.domains.hdf.kernel.HDFFSMDirector) getComponent();
CompositeActor container = (CompositeActor) director.getContainer();
ptolemy.codegen.c.actor.TypedCompositeActor containerHelper = (ptolemy.codegen.c.actor.TypedCompositeActor) _getHelper(container);
code.append(containerHelper.processCode("if ($actorSymbol(fired)) {"
+ _eol));
// generate code for non-preemptive transition
code.append(_eol + "/* Nonpreemptive Transition */" + _eol + _eol);
controllerHelper.generateTransitionCode(code,
new TransitionRetriever() {
public Iterator retrieveTransitions(State state) {
return state.nonpreemptiveTransitionList().iterator();
}
});