Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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;
     }
 }
Esempio n. 3
0
 internal override void Visit(RedirectionNode node) => this.preOrderNodes.Add((ParseTreeNode)node);
 internal override void Visit(RedirectionNode node) => this.ReportError((ParseTreeNode)node, "RedirectionNotSupportedInDataSection");