/// <summary> /// Create a new <see cref="PromptNestFrame" /> and set it as the current frame. /// </summary> /// <param name="frameType">The frame type.</param> internal void PushPromptContext(PromptNestFrameType frameType) { if (_isDisposed) { return; } _frameStack.Push( new PromptNestFrame( frameType.HasFlag(PromptNestFrameType.Remote) ? PowerShell.Create() : PowerShell.Create(RunspaceMode.CurrentRunspace), NewHandleQueue(), frameType)); }
internal PromptNestFrame( PowerShell powerShell, AsyncQueue <RunspaceHandle> handleQueue, PromptNestFrameType frameType) { PowerShell = powerShell; Queue = handleQueue; FrameType = frameType; IsThreadController = (frameType & (PromptNestFrameType.Debug | PromptNestFrameType.NestedPrompt)) != 0; if (!IsThreadController) { return; } ThreadController = new ThreadController(this); }