private DebugFrame GetFrame(int index) { DebugFrame frame = null; if (index >= 0) { frame = _frames[index].Frame; if (frame == null) { IDebugRuntimeVariables runtimeVariables = _frames[index].RuntimeVariables as IDebugRuntimeVariables; Debug.Assert(runtimeVariables != null); frame = new DebugFrame(this, runtimeVariables.FunctionInfo, runtimeVariables, index); _frames[index] = new FrameRuntimeVariablesPair(null, frame); } } if (index == _frames.Count - 1) { frame.IsInTraceback = IsInTraceback; frame.ThrownException = ThrownException; } return(frame); }
private DebugFrame GetFrame(int index) { DebugFrame frame = null; if (index >= 0) { frame = _frames[index].Frame; if (frame == null) { IDebugRuntimeVariables runtimeVariables = _frames[index].RuntimeVariables as IDebugRuntimeVariables; Debug.Assert(runtimeVariables != null); frame = new DebugFrame(this, runtimeVariables.FunctionInfo, runtimeVariables, index); _frames[index] = new FrameRuntimeVariablesPair(null, frame); } } if (index == _frames.Count - 1) { frame.IsInTraceback = IsInTraceback; frame.ThrownException = ThrownException; } return frame; }