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.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; }
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.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.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 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.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.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.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 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.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 override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitConstantExpression(this); if (action != AstVisitAction.SkipChildren) { return action; } return AstVisitAction.Continue; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitTypeConstraint(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; }
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 override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitContinueStatement(this); if (action == AstVisitAction.SkipChildren) { return AstVisitAction.Continue; } if ((action == AstVisitAction.Continue) && (this.Label != null)) { action = this.Label.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.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.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.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.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.VisitBlockStatement(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.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.VisitBinaryExpression(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; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitAttributedExpression(this); switch (action) { case AstVisitAction.SkipChildren: return AstVisitAction.Continue; case AstVisitAction.Continue: action = this.Attribute.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { action = this.Child.InternalVisit(visitor); } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitDoUntilStatement(this); switch (action) { case AstVisitAction.SkipChildren: return AstVisitAction.Continue; case AstVisitAction.Continue: action = base.Condition.InternalVisit(visitor); break; } if (action == AstVisitAction.Continue) { action = base.Body.InternalVisit(visitor); } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitErrorExpression(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) { return action; } } } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitCatchClause(this); if (action == AstVisitAction.SkipChildren) { return AstVisitAction.Continue; } foreach (TypeConstraintAst ast in this.CatchTypes) { if (action != AstVisitAction.Continue) { break; } action = ast.InternalVisit(visitor); } if (action == AstVisitAction.Continue) { action = this.Body.InternalVisit(visitor); } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitPipeline(this); switch (action) { case AstVisitAction.SkipChildren: return AstVisitAction.Continue; case AstVisitAction.Continue: foreach (CommandBaseAst ast in this.PipelineElements) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return action; } } break; } return action; }
internal override AstVisitAction InternalVisit(AstVisitor visitor) { AstVisitAction action = visitor.VisitArrayLiteral(this); switch (action) { case AstVisitAction.SkipChildren: return AstVisitAction.Continue; case AstVisitAction.Continue: foreach (ExpressionAst ast in this.Elements) { action = ast.InternalVisit(visitor); if (action != AstVisitAction.Continue) { return action; } } break; } return action; }
static AstVisitAction DispatchVisitor(AstVisitor astVisitor, Ast nextItem) { if (nextItem is ArrayExpressionAst) { return(astVisitor.VisitArrayExpression((ArrayExpressionAst)nextItem)); } if (nextItem is ArrayLiteralAst) { return(astVisitor.VisitArrayLiteral((ArrayLiteralAst)nextItem)); } if (nextItem is AssignmentStatementAst) { return(astVisitor.VisitAssignmentStatement((AssignmentStatementAst)nextItem)); } if (nextItem is AttributeAst) { return(astVisitor.VisitAttribute((AttributeAst)nextItem)); } if (nextItem is AttributedExpressionAst) { return(astVisitor.VisitAttributedExpression((AttributedExpressionAst)nextItem)); } if (nextItem is BinaryExpressionAst) { return(astVisitor.VisitBinaryExpression((BinaryExpressionAst)nextItem)); } if (nextItem is BreakStatementAst) { return(astVisitor.VisitBreakStatement((BreakStatementAst)nextItem)); } if (nextItem is CatchClauseAst) { return(astVisitor.VisitCatchClause((CatchClauseAst)nextItem)); } if (nextItem is CommandAst) { return(astVisitor.VisitCommand((CommandAst)nextItem)); } if (nextItem is CommandExpressionAst) { return(astVisitor.VisitCommandExpression((CommandExpressionAst)nextItem)); } if (nextItem is CommandParameterAst) { return(astVisitor.VisitCommandParameter((CommandParameterAst)nextItem)); } if (nextItem is ConstantExpressionAst) { return(astVisitor.VisitConstantExpression((ConstantExpressionAst)nextItem)); } if (nextItem is ContinueStatementAst) { return(astVisitor.VisitContinueStatement((ContinueStatementAst)nextItem)); } if (nextItem is ConvertExpressionAst) { return(astVisitor.VisitConvertExpression((ConvertExpressionAst)nextItem)); } if (nextItem is DataStatementAst) { return(astVisitor.VisitDataStatement((DataStatementAst)nextItem)); } if (nextItem is DoUntilStatementAst) { return(astVisitor.VisitDoUntilStatement((DoUntilStatementAst)nextItem)); } if (nextItem is DoWhileStatementAst) { return(astVisitor.VisitDoWhileStatement((DoWhileStatementAst)nextItem)); } if (nextItem is ExitStatementAst) { return(astVisitor.VisitExitStatement((ExitStatementAst)nextItem)); } if (nextItem is ExpandableStringExpressionAst) { return(astVisitor.VisitExpandableStringExpression((ExpandableStringExpressionAst)nextItem)); } if (nextItem is FileRedirectionAst) { return(astVisitor.VisitFileRedirection((FileRedirectionAst)nextItem)); } if (nextItem is ForEachStatementAst) { return(astVisitor.VisitForEachStatement((ForEachStatementAst)nextItem)); } if (nextItem is ForStatementAst) { return(astVisitor.VisitForStatement((ForStatementAst)nextItem)); } if (nextItem is FunctionDefinitionAst) { return(astVisitor.VisitFunctionDefinition((FunctionDefinitionAst)nextItem)); } if (nextItem is HashtableAst) { return(astVisitor.VisitHashtable((HashtableAst)nextItem)); } if (nextItem is IfStatementAst) { return(astVisitor.VisitIfStatement((IfStatementAst)nextItem)); } if (nextItem is IndexExpressionAst) { return(astVisitor.VisitIndexExpression((IndexExpressionAst)nextItem)); } if (nextItem is InvokeMemberExpressionAst) { return(astVisitor.VisitInvokeMemberExpression((InvokeMemberExpressionAst)nextItem)); } if (nextItem is MemberExpressionAst) { return(astVisitor.VisitMemberExpression((MemberExpressionAst)nextItem)); } if (nextItem is MergingRedirectionAst) { return(astVisitor.VisitMergingRedirection((MergingRedirectionAst)nextItem)); } if (nextItem is NamedAttributeArgumentAst) { return(astVisitor.VisitNamedAttributeArgument((NamedAttributeArgumentAst)nextItem)); } if (nextItem is NamedBlockAst) { return(astVisitor.VisitNamedBlock((NamedBlockAst)nextItem)); } if (nextItem is ParamBlockAst) { return(astVisitor.VisitParamBlock((ParamBlockAst)nextItem)); } if (nextItem is ParameterAst) { return(astVisitor.VisitParameter((ParameterAst)nextItem)); } if (nextItem is ParenExpressionAst) { return(astVisitor.VisitParenExpression((ParenExpressionAst)nextItem)); } if (nextItem is PipelineAst) { return(astVisitor.VisitPipeline((PipelineAst)nextItem)); } if (nextItem is ReturnStatementAst) { return(astVisitor.VisitReturnStatement((ReturnStatementAst)nextItem)); } if (nextItem is ScriptBlockAst) { return(astVisitor.VisitScriptBlock((ScriptBlockAst)nextItem)); } if (nextItem is ScriptBlockExpressionAst) { return(astVisitor.VisitScriptBlockExpression((ScriptBlockExpressionAst)nextItem)); } if (nextItem is StatementBlockAst) { return(astVisitor.VisitStatementBlock((StatementBlockAst)nextItem)); } if (nextItem is StringConstantExpressionAst) { return(astVisitor.VisitStringConstantExpression((StringConstantExpressionAst)nextItem)); } if (nextItem is SubExpressionAst) { return(astVisitor.VisitSubExpression((SubExpressionAst)nextItem)); } if (nextItem is SwitchStatementAst) { return(astVisitor.VisitSwitchStatement((SwitchStatementAst)nextItem)); } if (nextItem is ThrowStatementAst) { return(astVisitor.VisitThrowStatement((ThrowStatementAst)nextItem)); } if (nextItem is TrapStatementAst) { return(astVisitor.VisitTrap((TrapStatementAst)nextItem)); } if (nextItem is TryStatementAst) { return(astVisitor.VisitTryStatement((TryStatementAst)nextItem)); } if (nextItem is TypeConstraintAst) { return(astVisitor.VisitTypeConstraint((TypeConstraintAst)nextItem)); } if (nextItem is TypeExpressionAst) { return(astVisitor.VisitTypeExpression((TypeExpressionAst)nextItem)); } if (nextItem is UnaryExpressionAst) { return(astVisitor.VisitUnaryExpression((UnaryExpressionAst)nextItem)); } if (nextItem is UsingExpressionAst) { return(astVisitor.VisitUsingExpression((UsingExpressionAst)nextItem)); } if (nextItem is VariableExpressionAst) { return(astVisitor.VisitVariableExpression((VariableExpressionAst)nextItem)); } if (nextItem is WhileStatementAst) { return(astVisitor.VisitWhileStatement((WhileStatementAst)nextItem)); } else { throw new InvalidOperationException(nextItem.ToString()); // did I miss one? } }