public void Execute() { State &= ~VMState.BREAK; while (!State.HasFlag(VMState.HALT) && !State.HasFlag(VMState.FAULT) && !State.HasFlag(VMState.BREAK)) { StepInto(); } }
public void StepOut() { State &= ~VMState.BREAK; int c = InvocationStack.Count; while (!State.HasFlag(VMState.HALT) && !State.HasFlag(VMState.FAULT) && !State.HasFlag(VMState.BREAK) && InvocationStack.Count >= c) { StepInto(); } }
public void Execute(Action <ExecutionEngine> onStep = null) { State &= ~VMState.BREAK; while (!State.HasFlag(VMState.HALT) && !State.HasFlag(VMState.FAULT) && !State.HasFlag(VMState.BREAK)) { if (onStep != null) { onStep(this); } StepInto(); } }
public void StepOver() { if (State.HasFlag(VMState.HALT) || State.HasFlag(VMState.FAULT)) { return; } State &= ~VMState.BREAK; int c = InvocationStack.Count; do { StepInto(); } while (!State.HasFlag(VMState.HALT) && !State.HasFlag(VMState.FAULT) && !State.HasFlag(VMState.BREAK) && InvocationStack.Count > c); }
public bool GetRunningState() { return(!State.HasFlag(VMState.HALT) && !State.HasFlag(VMState.FAULT) && !State.HasFlag(VMState.BREAK)); }