| Index: pkg/analyzer/lib/dart/ast/visitor.dart
|
| diff --git a/pkg/analyzer/lib/dart/ast/visitor.dart b/pkg/analyzer/lib/dart/ast/visitor.dart
|
| index 0cdb170b99d4278b137edb5ed5c9339b3ae3153b..f76fb1dc0b2ed36800711bec541633aa97858ad1 100644
|
| --- a/pkg/analyzer/lib/dart/ast/visitor.dart
|
| +++ b/pkg/analyzer/lib/dart/ast/visitor.dart
|
| @@ -93,6 +93,809 @@ class BreadthFirstVisitor<R> extends GeneralizingAstVisitor<R> {
|
|
|
| /**
|
| * An AST visitor that will recursively visit all of the nodes in an AST
|
| + * structure. For each node that is visited, the corresponding visit method on
|
| + * one or more other visitors (the 'delegates') will be invoked.
|
| + *
|
| + * For example, if an instance of this class is created with two delegates V1
|
| + * and V2, and that instance is used to visit the expression 'x + 1', then the
|
| + * following visit methods will be invoked:
|
| + * 1. V1.visitBinaryExpression
|
| + * 2. V2.visitBinaryExpression
|
| + * 3. V1.visitSimpleIdentifier
|
| + * 4. V2.visitSimpleIdentifier
|
| + * 5. V1.visitIntegerLiteral
|
| + * 6. V2.visitIntegerLiteral
|
| + *
|
| + * Clients may not extend, implement or mix-in this class.
|
| + */
|
| +class DelegatingAstVisitor<T> implements AstVisitor<T> {
|
| + /**
|
| + * The delegates whose visit methods will be invoked.
|
| + */
|
| + final Iterable<AstVisitor<T>> _delegates;
|
| +
|
| + /**
|
| + * Initialize a newly created visitor to use each of the given delegate
|
| + * visitors to visit the nodes of an AST structure.
|
| + */
|
| + DelegatingAstVisitor(this._delegates);
|
| +
|
| + @override
|
| + T visitAdjacentStrings(AdjacentStrings node) {
|
| + _delegates.forEach((delegate) => delegate.visitAdjacentStrings(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitAnnotation(Annotation node) {
|
| + _delegates.forEach((delegate) => delegate.visitAnnotation(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitArgumentList(ArgumentList node) {
|
| + _delegates.forEach((delegate) => delegate.visitArgumentList(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitAsExpression(AsExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitAsExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitAssertStatement(AssertStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitAssertStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitAssignmentExpression(AssignmentExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitAssignmentExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitAwaitExpression(AwaitExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitAwaitExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitBinaryExpression(BinaryExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitBinaryExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitBlock(Block node) {
|
| + _delegates.forEach((delegate) => delegate.visitBlock(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitBlockFunctionBody(BlockFunctionBody node) {
|
| + _delegates.forEach((delegate) => delegate.visitBlockFunctionBody(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitBooleanLiteral(BooleanLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitBooleanLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitBreakStatement(BreakStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitBreakStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitCascadeExpression(CascadeExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitCascadeExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitCatchClause(CatchClause node) {
|
| + _delegates.forEach((delegate) => delegate.visitCatchClause(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitClassDeclaration(ClassDeclaration node) {
|
| + _delegates.forEach((delegate) => delegate.visitClassDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitClassTypeAlias(ClassTypeAlias node) {
|
| + _delegates.forEach((delegate) => delegate.visitClassTypeAlias(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitComment(Comment node) {
|
| + _delegates.forEach((delegate) => delegate.visitComment(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitCommentReference(CommentReference node) {
|
| + _delegates.forEach((delegate) => delegate.visitCommentReference(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitCompilationUnit(CompilationUnit node) {
|
| + _delegates.forEach((delegate) => delegate.visitCompilationUnit(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitConditionalExpression(ConditionalExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitConditionalExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitConfiguration(Configuration node) {
|
| + _delegates.forEach((delegate) => delegate.visitConfiguration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitConstructorDeclaration(ConstructorDeclaration node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitConstructorDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitConstructorFieldInitializer(ConstructorFieldInitializer node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitConstructorFieldInitializer(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitConstructorName(ConstructorName node) {
|
| + _delegates.forEach((delegate) => delegate.visitConstructorName(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitContinueStatement(ContinueStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitContinueStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitDeclaredIdentifier(DeclaredIdentifier node) {
|
| + _delegates.forEach((delegate) => delegate.visitDeclaredIdentifier(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitDefaultFormalParameter(DefaultFormalParameter node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitDefaultFormalParameter(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitDoStatement(DoStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitDoStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitDottedName(DottedName node) {
|
| + _delegates.forEach((delegate) => delegate.visitDottedName(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitDoubleLiteral(DoubleLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitDoubleLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitEmptyFunctionBody(EmptyFunctionBody node) {
|
| + _delegates.forEach((delegate) => delegate.visitEmptyFunctionBody(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitEmptyStatement(EmptyStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitEmptyStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitEnumConstantDeclaration(EnumConstantDeclaration node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitEnumConstantDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitEnumDeclaration(EnumDeclaration node) {
|
| + _delegates.forEach((delegate) => delegate.visitEnumDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitExportDirective(ExportDirective node) {
|
| + _delegates.forEach((delegate) => delegate.visitExportDirective(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitExpressionFunctionBody(ExpressionFunctionBody node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitExpressionFunctionBody(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitExpressionStatement(ExpressionStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitExpressionStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitExtendsClause(ExtendsClause node) {
|
| + _delegates.forEach((delegate) => delegate.visitExtendsClause(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFieldDeclaration(FieldDeclaration node) {
|
| + _delegates.forEach((delegate) => delegate.visitFieldDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFieldFormalParameter(FieldFormalParameter node) {
|
| + _delegates.forEach((delegate) => delegate.visitFieldFormalParameter(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitForEachStatement(ForEachStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitForEachStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFormalParameterList(FormalParameterList node) {
|
| + _delegates.forEach((delegate) => delegate.visitFormalParameterList(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitForStatement(ForStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitForStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFunctionDeclaration(FunctionDeclaration node) {
|
| + _delegates.forEach((delegate) => delegate.visitFunctionDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFunctionDeclarationStatement(FunctionDeclarationStatement node) {
|
| + _delegates.forEach(
|
| + (delegate) => delegate.visitFunctionDeclarationStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFunctionExpression(FunctionExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitFunctionExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
|
| + _delegates.forEach(
|
| + (delegate) => delegate.visitFunctionExpressionInvocation(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFunctionTypeAlias(FunctionTypeAlias node) {
|
| + _delegates.forEach((delegate) => delegate.visitFunctionTypeAlias(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
|
| + _delegates.forEach(
|
| + (delegate) => delegate.visitFunctionTypedFormalParameter(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitHideCombinator(HideCombinator node) {
|
| + _delegates.forEach((delegate) => delegate.visitHideCombinator(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitIfStatement(IfStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitIfStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitImplementsClause(ImplementsClause node) {
|
| + _delegates.forEach((delegate) => delegate.visitImplementsClause(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitImportDirective(ImportDirective node) {
|
| + _delegates.forEach((delegate) => delegate.visitImportDirective(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitIndexExpression(IndexExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitIndexExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitInstanceCreationExpression(InstanceCreationExpression node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitInstanceCreationExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitIntegerLiteral(IntegerLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitIntegerLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitInterpolationExpression(InterpolationExpression node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitInterpolationExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitInterpolationString(InterpolationString node) {
|
| + _delegates.forEach((delegate) => delegate.visitInterpolationString(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitIsExpression(IsExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitIsExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitLabel(Label node) {
|
| + _delegates.forEach((delegate) => delegate.visitLabel(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitLabeledStatement(LabeledStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitLabeledStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitLibraryDirective(LibraryDirective node) {
|
| + _delegates.forEach((delegate) => delegate.visitLibraryDirective(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitLibraryIdentifier(LibraryIdentifier node) {
|
| + _delegates.forEach((delegate) => delegate.visitLibraryIdentifier(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitListLiteral(ListLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitListLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitMapLiteral(MapLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitMapLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitMapLiteralEntry(MapLiteralEntry node) {
|
| + _delegates.forEach((delegate) => delegate.visitMapLiteralEntry(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitMethodDeclaration(MethodDeclaration node) {
|
| + _delegates.forEach((delegate) => delegate.visitMethodDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitMethodInvocation(MethodInvocation node) {
|
| + _delegates.forEach((delegate) => delegate.visitMethodInvocation(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitNamedExpression(NamedExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitNamedExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitNativeClause(NativeClause node) {
|
| + _delegates.forEach((delegate) => delegate.visitNativeClause(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitNativeFunctionBody(NativeFunctionBody node) {
|
| + _delegates.forEach((delegate) => delegate.visitNativeFunctionBody(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitNullLiteral(NullLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitNullLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitParenthesizedExpression(ParenthesizedExpression node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitParenthesizedExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitPartDirective(PartDirective node) {
|
| + _delegates.forEach((delegate) => delegate.visitPartDirective(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitPartOfDirective(PartOfDirective node) {
|
| + _delegates.forEach((delegate) => delegate.visitPartOfDirective(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitPostfixExpression(PostfixExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitPostfixExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitPrefixedIdentifier(PrefixedIdentifier node) {
|
| + _delegates.forEach((delegate) => delegate.visitPrefixedIdentifier(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitPrefixExpression(PrefixExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitPrefixExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitPropertyAccess(PropertyAccess node) {
|
| + _delegates.forEach((delegate) => delegate.visitPropertyAccess(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitRedirectingConstructorInvocation(
|
| + RedirectingConstructorInvocation node) {
|
| + _delegates.forEach(
|
| + (delegate) => delegate.visitRedirectingConstructorInvocation(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitRethrowExpression(RethrowExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitRethrowExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitReturnStatement(ReturnStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitReturnStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitScriptTag(ScriptTag node) {
|
| + _delegates.forEach((delegate) => delegate.visitScriptTag(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitShowCombinator(ShowCombinator node) {
|
| + _delegates.forEach((delegate) => delegate.visitShowCombinator(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSimpleFormalParameter(SimpleFormalParameter node) {
|
| + _delegates.forEach((delegate) => delegate.visitSimpleFormalParameter(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSimpleIdentifier(SimpleIdentifier node) {
|
| + _delegates.forEach((delegate) => delegate.visitSimpleIdentifier(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSimpleStringLiteral(SimpleStringLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitSimpleStringLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitStringInterpolation(StringInterpolation node) {
|
| + _delegates.forEach((delegate) => delegate.visitStringInterpolation(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSuperConstructorInvocation(SuperConstructorInvocation node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitSuperConstructorInvocation(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSuperExpression(SuperExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitSuperExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSwitchCase(SwitchCase node) {
|
| + _delegates.forEach((delegate) => delegate.visitSwitchCase(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSwitchDefault(SwitchDefault node) {
|
| + _delegates.forEach((delegate) => delegate.visitSwitchDefault(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSwitchStatement(SwitchStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitSwitchStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitSymbolLiteral(SymbolLiteral node) {
|
| + _delegates.forEach((delegate) => delegate.visitSymbolLiteral(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitThisExpression(ThisExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitThisExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitThrowExpression(ThrowExpression node) {
|
| + _delegates.forEach((delegate) => delegate.visitThrowExpression(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitTopLevelVariableDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitTryStatement(TryStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitTryStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitTypeArgumentList(TypeArgumentList node) {
|
| + _delegates.forEach((delegate) => delegate.visitTypeArgumentList(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitTypeName(TypeName node) {
|
| + _delegates.forEach((delegate) => delegate.visitTypeName(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitTypeParameter(TypeParameter node) {
|
| + _delegates.forEach((delegate) => delegate.visitTypeParameter(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitTypeParameterList(TypeParameterList node) {
|
| + _delegates.forEach((delegate) => delegate.visitTypeParameterList(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitVariableDeclaration(VariableDeclaration node) {
|
| + _delegates.forEach((delegate) => delegate.visitVariableDeclaration(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitVariableDeclarationList(VariableDeclarationList node) {
|
| + _delegates
|
| + .forEach((delegate) => delegate.visitVariableDeclarationList(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitVariableDeclarationStatement(VariableDeclarationStatement node) {
|
| + _delegates.forEach(
|
| + (delegate) => delegate.visitVariableDeclarationStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitWhileStatement(WhileStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitWhileStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitWithClause(WithClause node) {
|
| + _delegates.forEach((delegate) => delegate.visitWithClause(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + T visitYieldStatement(YieldStatement node) {
|
| + _delegates.forEach((delegate) => delegate.visitYieldStatement(node));
|
| + node.visitChildren(this);
|
| + return null;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * An AST visitor that will recursively visit all of the nodes in an AST
|
| * structure (like instances of the class [RecursiveAstVisitor]). In addition,
|
| * when a node of a specific type is visited not only will the visit method for
|
| * that specific type of node be invoked, but additional methods for the
|
|
|