public override ILValue Execute(DebuggerRuntime debuggerRuntime, ILVMExecuteState state) { if (debuggerRuntime == null) { throw new ArgumentNullException(nameof(debuggerRuntime)); } var stateImpl = state as ILVMExecuteStateImpl; if (stateImpl == null) { throw new ArgumentException(); } return(debuggerILInterpreter.Execute(debuggerRuntime, stateImpl)); }
/// <summary> /// Interprets the IL instructions in the method body. All calls are handled by <paramref name="debuggerRuntime"/> /// </summary> /// <param name="debuggerRuntime">Debugger class that can call methods in the debugged process</param> /// <param name="state">State created by <see cref="CreateExecuteState(DmdMethodBase)"/></param> /// <returns></returns> public abstract ILValue Execute(DebuggerRuntime debuggerRuntime, ILVMExecuteState state);