internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitCommandExpression(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Expression.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { foreach (RedirectionAst ast in base.Redirections) { if (action == AstVisitAction.Continue) { action = ast.InternalVisit(visitor); } } } return(action); }
public void Visit(AstVisitor astVisitor) { Queue <Ast> queue = new Queue <Ast>(); queue.Enqueue(this); while (queue.Any()) { var nextItem = queue.Dequeue(); AstVisitAction astVisitAction = DispatchVisitor(astVisitor, nextItem); switch (astVisitAction) { case AstVisitAction.Continue: foreach (var item in nextItem.Children) { queue.Enqueue(item); } break; case AstVisitAction.SkipChildren: break; case AstVisitAction.StopVisit: return; default: throw new InvalidOperationException(astVisitAction.ToString()); } } }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitTryStatement(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Body.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { foreach (CatchClauseAst ast in this.CatchClauses) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } if ((action == AstVisitAction.Continue) && (this.Finally != null)) { action = this.Finally.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitInvokeMemberExpression(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = base.Expression.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { action = base.Member.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.Arguments != null)) { foreach (ExpressionAst ast in this.Arguments) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return(action); } } } return(action); }
public void Visit(AstVisitor astVisitor) { Queue <Ast> queue = new Queue <Ast>(); queue.Enqueue(this); while (queue.Any()) { var nextAst = queue.Dequeue(); AstVisitAction astVisitAction = astVisitor.Visit(nextAst); switch (astVisitAction) { case AstVisitAction.Continue: queue.EnqueueAll(nextAst.Children); break; case AstVisitAction.SkipChildren: break; case AstVisitAction.StopVisit: return; default: throw new InvalidOperationException(astVisitAction.ToString()); } } }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitParamBlock(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: foreach (AttributeAst ast in this.Attributes) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } break; } if (action == AstVisitAction.Continue) { foreach (ParameterAst ast2 in this.Parameters) { action = ast2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return(action); } } } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitFunctionDefinition(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: if (this.Parameters != null) { foreach (ParameterAst ast in this.Parameters) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } if (action == AstVisitAction.Continue) { action = this.Body.InternalVisit(visitor); } break; } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitForStatement(this); if (action == AstVisitAction.SkipChildren) { return(AstVisitAction.Continue); } if ((action == AstVisitAction.Continue) && (this.Initializer != null)) { action = this.Initializer.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (base.Condition != null)) { action = base.Condition.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.Iterator != null)) { action = this.Iterator.InternalVisit(visitor); } if (action == AstVisitAction.Continue) { action = base.Body.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitCommand(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: foreach (CommandElementAst ast in this.CommandElements) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } break; } if (action == AstVisitAction.Continue) { foreach (RedirectionAst ast2 in base.Redirections) { if (action == AstVisitAction.Continue) { action = ast2.InternalVisit(visitor); } } } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitSwitchStatement(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = base.Condition.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { foreach (Tuple <ExpressionAst, StatementBlockAst> tuple in this.Clauses) { action = tuple.Item1.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } action = tuple.Item2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } if ((action == AstVisitAction.Continue) && (this.Default != null)) { action = this.Default.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitAttribute(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: foreach (ExpressionAst ast in this.PositionalArguments) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } break; } if (action == AstVisitAction.Continue) { foreach (NamedAttributeArgumentAst ast2 in this.NamedArguments) { action = ast2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return(action); } } } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitIfStatement(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: foreach (Tuple <PipelineBaseAst, StatementBlockAst> tuple in this.Clauses) { action = tuple.Item1.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } action = tuple.Item2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } break; } if ((action == AstVisitAction.Continue) && (this.ElseClause != null)) { action = this.ElseClause.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitParameter(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: foreach (AttributeBaseAst ast in this.Attributes) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } break; } if (action == AstVisitAction.Continue) { action = this.Name.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.DefaultValue != null)) { action = this.DefaultValue.InternalVisit(visitor); } return(action); }
internal static AstVisitAction InternalVisit(AstVisitor visitor, ReadOnlyCollection<TrapStatementAst> traps, ReadOnlyCollection<StatementAst> statements, AstVisitAction action) { if (action == AstVisitAction.SkipChildren) { return AstVisitAction.Continue; } if ((action == AstVisitAction.Continue) && (traps != null)) { foreach (TrapStatementAst ast in traps) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } if ((action == AstVisitAction.Continue) && (statements != null)) { foreach (StatementAst ast2 in statements) { action = ast2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return action; } } } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitScriptBlock(this); if (action == AstVisitAction.SkipChildren) { return(AstVisitAction.Continue); } if ((action == AstVisitAction.Continue) && (this.ParamBlock != null)) { action = this.ParamBlock.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.DynamicParamBlock != null)) { action = this.DynamicParamBlock.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.BeginBlock != null)) { action = this.BeginBlock.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.ProcessBlock != null)) { action = this.ProcessBlock.InternalVisit(visitor); } if ((action == AstVisitAction.Continue) && (this.EndBlock != null)) { action = this.EndBlock.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitHashtable(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: foreach (Tuple <ExpressionAst, StatementAst> tuple in this.KeyValuePairs) { action = tuple.Item1.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return(action); } action = tuple.Item2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return(action); } } break; } return(action); }
internal AstVisitAction CheckForPostAction(Ast ast, AstVisitAction action) { var postActionHandler = this as IAstPostVisitHandler; if (postActionHandler != null) { postActionHandler.PostVisit(ast); } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitErrorStatement(this); if (action == AstVisitAction.SkipChildren) { return(AstVisitAction.Continue); } if ((action == AstVisitAction.Continue) && (this.NestedAst != null)) { foreach (Ast ast in this.NestedAst) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } if ((action == AstVisitAction.Continue) && (this.Flags != null)) { foreach (Tuple <Token, Ast> tuple in this.Flags.Values) { if (tuple.Item2 != null) { action = tuple.Item2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } } if ((action == AstVisitAction.Continue) && (this.Conditions != null)) { foreach (Ast ast2 in this.Conditions) { action = ast2.InternalVisit(visitor); if (action != AstVisitAction.Continue) { break; } } } if ((action == AstVisitAction.Continue) && (this.Bodies != null)) { foreach (Ast ast3 in this.Bodies) { action = ast3.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return(action); } } } return(action); }
internal AstVisitAction CheckForPostAction(Ast ast, AstVisitAction action) { var postActionHandler = this as IAstPostVisitHandler; if (postActionHandler != null) { postActionHandler.PostVisit(ast); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitTypeExpression(this); if (action != AstVisitAction.SkipChildren) { return(action); } return(AstVisitAction.Continue); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitMergingRedirection(this); if (action != AstVisitAction.SkipChildren) { return(action); } return(AstVisitAction.Continue); }
protected AstVisitAction CheckScriptBlock(Ast ast) { AstVisitAction skipChildren = this.Check(ast); if ((skipChildren == AstVisitAction.Continue) && !this._searchNestedScriptBlocks) { skipChildren = AstVisitAction.SkipChildren; } return(skipChildren); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitScriptBlockExpression(this); switch (action) { case AstVisitAction.SkipChildren: return AstVisitAction.Continue; case AstVisitAction.Continue: action = this.ScriptBlock.InternalVisit(visitor); break; } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitReturnStatement(this); if (action == AstVisitAction.SkipChildren) { return(AstVisitAction.Continue); } if ((action == AstVisitAction.Continue) && (this.Pipeline != null)) { action = this.Pipeline.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitCommandParameter(this); if (action == AstVisitAction.SkipChildren) { return(AstVisitAction.Continue); } if ((this.Argument != null) && (action == AstVisitAction.Continue)) { action = this.Argument.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitNamedAttributeArgument(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Argument.InternalVisit(visitor); break; } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitDataStatement(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Body.InternalVisit(visitor); break; } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitUnaryExpression(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Child.InternalVisit(visitor); break; } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitFileRedirection(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Location.InternalVisit(visitor); break; } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitNamedBlock(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = StatementBlockAst.InternalVisit(visitor, this.Traps, this.Statements, action); break; } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitTrap(this); if (action == AstVisitAction.SkipChildren) { return(AstVisitAction.Continue); } if ((action == AstVisitAction.Continue) && (this.TrapType != null)) { action = this.TrapType.InternalVisit(visitor); } if (action == AstVisitAction.Continue) { action = this.Body.InternalVisit(visitor); } return(action); }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitAssignmentStatement(this); switch (action) { case AstVisitAction.SkipChildren: return(AstVisitAction.Continue); case AstVisitAction.Continue: action = this.Left.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { action = this.Right.InternalVisit(visitor); } return(action); }