- private final MachineProcess process;
-
- public MachineDebugTarget(MachineProcess process)
- {
- this.process = process;
-
- DebugPlugin.getDefault().addDebugEventListener(es -> Arrays.stream(es).filter(e -> e.getSource() == process).forEach(e ->
- {
- switch (e.getKind())
- {
- case DebugEvent.RESUME:
- fireResumeEvent(e.getDetail());
- break;
- case DebugEvent.SUSPEND:
- fireSuspendEvent(e.getDetail());
- break;
- case DebugEvent.TERMINATE:
- fireTerminateEvent();
- break;
- default:
- // ignore
- }
- }));
+ private final ILaunch launch;
+ private final Machine machine;
+ private final LogicExecuter exec;
+
+ private boolean running;
+
+ public MachineDebugTarget(ILaunch launch, MachineDefinition machineDefinition)
+ {
+ this.launch = launch;
+ this.machine = machineDefinition.createNew();
+ this.exec = new LogicExecuter(machine.getTimeline());
+
+ exec.startLiveExecution();
+ running = true;