public RedirectionAst _VisitRedirection(RedirectionAst redirectionAst) { var @switch = new Dictionary <Type, Func <RedirectionAst, RedirectionAst> > { { typeof(FileRedirectionAst), (r) => { return((RedirectionAst)VisitFileRedirection(r as FileRedirectionAst)); } }, { typeof(MergingRedirectionAst), (r) => { return((RedirectionAst)VisitMergingRedirection(r as MergingRedirectionAst)); } } }; return(@switch[redirectionAst.GetType()](redirectionAst)); }
private static CommandRedirection GetCommandRedirection(RedirectionAst redirectionAst, System.Management.Automation.ExecutionContext context) { FileRedirectionAst ast = redirectionAst as FileRedirectionAst; if (ast != null) { object obj2 = Compiler.GetExpressionValue(ast.Location, context, (IList)null); return(new FileRedirection(ast.FromStream, ast.Append, obj2.ToString())); } MergingRedirectionAst ast2 = (MergingRedirectionAst)redirectionAst; return(new MergingRedirection(ast2.FromStream, ast2.ToStream)); }