Microsoft.R.Debugger.AD7Engine.Session_AfterRequest C# (CSharp) Method

Session_AfterRequest() private method

private Session_AfterRequest ( object sender, RAfterRequestEventArgs e ) : void
sender object
e Microsoft.R.Host.Client.RAfterRequestEventArgs
return void
        private void Session_AfterRequest(object sender, RAfterRequestEventArgs e) {
            bool? sentContinue;
            lock (_browseLock) {
                var browseEventArgs = _currentBrowseEventArgs;
                if (browseEventArgs == null || browseEventArgs.Context.Contexts != e.Contexts) {
                    // This AfterRequest does not correspond to a Browse prompt, or at least not one
                    // that we have seen before (and paused on), so there's nothing to do.
                    return;
                }

                _currentBrowseEventArgs = null;
                sentContinue = _sentContinue;
                _sentContinue = true;
            }

            if (sentContinue == false) {
                // User has explicitly typed something at the Browse prompt, so tell the debugger that
                // we're moving on by issuing a dummy Continue request to switch it to the running state.
                var vsShell = (IVsUIShell)Package.GetGlobalService(typeof(SVsUIShell));
                Guid group = VSConstants.GUID_VSStandardCommandSet97;
                object arg = null;
                var ex = Marshal.GetExceptionForHR(vsShell.PostExecCommand(ref group, (uint)VSConstants.VSStd97CmdID.Start, 0, ref arg));
                Trace.Assert(ex == null);
            }
        }