private void BindRedirectionPipes(Command command, RedirectionNode redirectionNode) { if (command == null) { throw ParseTreeNode.tracer.NewArgumentNullException(nameof(command)); } if (redirectionNode == null) { return; } if (redirectionNode.Appending || !redirectionNode.Merging || redirectionNode.Location != null) { throw new ScriptBlockToPowerShellNotSupportedException("CanConvertOneOutputErrorRedir", (Exception)null, "AutomationExceptions", "CanConvertOneOutputErrorRedir", new object[0]); } PipelineResultTypes myResult; PipelineResultTypes toResult; if (redirectionNode.IsError) { myResult = PipelineResultTypes.Error; toResult = PipelineResultTypes.Output; } else { myResult = PipelineResultTypes.Output; toResult = PipelineResultTypes.Error; } command.MergeMyResults(myResult, toResult); }
internal void AddRedirection(Parser parser, RedirectionNode redirection) { if (redirection == null) { return; } if (redirection.IsError) { if (this._errorRedirection != null) { parser.ReportException((object)null, typeof(ParseException), redirection.Token, "ErrorAlreadyRedirected"); } this._errorRedirection = redirection; } else { if (this._outputRedirection != null) { parser.ReportException((object)null, typeof(ParseException), redirection.Token, "OutputAlreadyRedirected"); } this._outputRedirection = redirection; } }
internal override void Visit(RedirectionNode node) => this.preOrderNodes.Add((ParseTreeNode)node);
internal override void Visit(RedirectionNode node) => this.ReportError((ParseTreeNode)node, "RedirectionNotSupportedInDataSection");