blob: 46e2a4172548e9353a7020bef8e7c31324c5ef4d [file] [log] [blame]
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library analyzer.src.generated.visitors;
import 'package:analyzer/src/generated/ast.dart';
/// An [AstVisitor] that delegates calls to visit methods to all [delegates]
/// before calling [visitChildren].
class DelegatingAstVisitor<T> implements AstVisitor<T> {
Iterable<AstVisitor<T>> _delegates;
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;
}
}