Files
sdk/pkg/kernel/lib/src/coverage.dart
T
Johnni Winther f17cf33c6d [kernel] Move Pattern nodes to package:kernel
These AST nodes were so far internal to the CFE, but since we need to
move the pattern lowering to the constant evaluator we need to support them in the AST defined in package:kernel.

TEST=existing

Change-Id: Ie6c5f0f8ad75a866c5d965fdf506bc869ffaf654
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/288241
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2023-03-13 08:43:07 +00:00

1475 lines
34 KiB
Dart

// Copyright (c) 2021, 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.
// NOTE: THIS FILE IS GENERATED. DO NOT EDIT.
//
// Run 'dart pkg/front_end/tool/generate_ast_coverage.dart' to update.
import 'package:kernel/ast.dart';
/// Recursive visitor that collects kinds for all visited nodes.
///
/// This can be used to verify that tests have the intended coverage.
class CoverageVisitor implements Visitor<void> {
Set<Object> visited = {};
@override
void defaultNode(Node node) {}
@override
void defaultTreeNode(TreeNode node) {}
@override
void visitLibrary(Library node) {
visited.add(NodeKind.Library);
node.visitChildren(this);
}
@override
void visitTypedef(Typedef node) {
visited.add(NodeKind.Typedef);
node.visitChildren(this);
}
@override
void visitClass(Class node) {
visited.add(NodeKind.Class);
node.visitChildren(this);
}
@override
void visitExtension(Extension node) {
visited.add(NodeKind.Extension);
node.visitChildren(this);
}
@override
void visitInlineClass(InlineClass node) {
visited.add(NodeKind.InlineClass);
node.visitChildren(this);
}
@override
void defaultMember(Member node) {}
@override
void visitField(Field node) {
visited.add(MemberKind.Field);
node.visitChildren(this);
}
@override
void visitConstructor(Constructor node) {
visited.add(MemberKind.Constructor);
node.visitChildren(this);
}
@override
void visitRedirectingFactory(RedirectingFactory node) {
visited.add(MemberKind.RedirectingFactory);
node.visitChildren(this);
}
@override
void visitProcedure(Procedure node) {
visited.add(MemberKind.Procedure);
node.visitChildren(this);
}
@override
void visitLibraryDependency(LibraryDependency node) {
visited.add(NodeKind.LibraryDependency);
node.visitChildren(this);
}
@override
void visitLibraryPart(LibraryPart node) {
visited.add(NodeKind.LibraryPart);
node.visitChildren(this);
}
@override
void visitCombinator(Combinator node) {
visited.add(NodeKind.Combinator);
node.visitChildren(this);
}
@override
void defaultInitializer(Initializer node) {}
@override
void visitInvalidInitializer(InvalidInitializer node) {
visited.add(InitializerKind.InvalidInitializer);
node.visitChildren(this);
}
@override
void visitFieldInitializer(FieldInitializer node) {
visited.add(InitializerKind.FieldInitializer);
node.visitChildren(this);
}
@override
void visitSuperInitializer(SuperInitializer node) {
visited.add(InitializerKind.SuperInitializer);
node.visitChildren(this);
}
@override
void visitRedirectingInitializer(RedirectingInitializer node) {
visited.add(InitializerKind.RedirectingInitializer);
node.visitChildren(this);
}
@override
void visitLocalInitializer(LocalInitializer node) {
visited.add(InitializerKind.LocalInitializer);
node.visitChildren(this);
}
@override
void visitAssertInitializer(AssertInitializer node) {
visited.add(InitializerKind.AssertInitializer);
node.visitChildren(this);
}
@override
void visitFunctionNode(FunctionNode node) {
visited.add(NodeKind.FunctionNode);
node.visitChildren(this);
}
@override
void defaultExpression(Expression node) {}
@override
void visitInvalidExpression(InvalidExpression node) {
visited.add(ExpressionKind.InvalidExpression);
node.visitChildren(this);
}
@override
void visitVariableGet(VariableGet node) {
visited.add(ExpressionKind.VariableGet);
node.visitChildren(this);
}
@override
void visitVariableSet(VariableSet node) {
visited.add(ExpressionKind.VariableSet);
node.visitChildren(this);
}
@override
void visitRecordIndexGet(RecordIndexGet node) {
visited.add(ExpressionKind.RecordIndexGet);
node.visitChildren(this);
}
@override
void visitRecordNameGet(RecordNameGet node) {
visited.add(ExpressionKind.RecordNameGet);
node.visitChildren(this);
}
@override
void visitDynamicGet(DynamicGet node) {
visited.add(ExpressionKind.DynamicGet);
node.visitChildren(this);
}
@override
void visitInstanceGet(InstanceGet node) {
visited.add(ExpressionKind.InstanceGet);
node.visitChildren(this);
}
@override
void visitFunctionTearOff(FunctionTearOff node) {
visited.add(ExpressionKind.FunctionTearOff);
node.visitChildren(this);
}
@override
void visitInstanceTearOff(InstanceTearOff node) {
visited.add(ExpressionKind.InstanceTearOff);
node.visitChildren(this);
}
@override
void visitDynamicSet(DynamicSet node) {
visited.add(ExpressionKind.DynamicSet);
node.visitChildren(this);
}
@override
void visitInstanceSet(InstanceSet node) {
visited.add(ExpressionKind.InstanceSet);
node.visitChildren(this);
}
@override
void visitAbstractSuperPropertyGet(AbstractSuperPropertyGet node) {
visited.add(ExpressionKind.AbstractSuperPropertyGet);
node.visitChildren(this);
}
@override
void visitSuperPropertyGet(SuperPropertyGet node) {
visited.add(ExpressionKind.SuperPropertyGet);
node.visitChildren(this);
}
@override
void visitAbstractSuperPropertySet(AbstractSuperPropertySet node) {
visited.add(ExpressionKind.AbstractSuperPropertySet);
node.visitChildren(this);
}
@override
void visitSuperPropertySet(SuperPropertySet node) {
visited.add(ExpressionKind.SuperPropertySet);
node.visitChildren(this);
}
@override
void visitStaticGet(StaticGet node) {
visited.add(ExpressionKind.StaticGet);
node.visitChildren(this);
}
@override
void visitStaticTearOff(StaticTearOff node) {
visited.add(ExpressionKind.StaticTearOff);
node.visitChildren(this);
}
@override
void visitStaticSet(StaticSet node) {
visited.add(ExpressionKind.StaticSet);
node.visitChildren(this);
}
@override
void visitDynamicInvocation(DynamicInvocation node) {
visited.add(ExpressionKind.DynamicInvocation);
node.visitChildren(this);
}
@override
void visitInstanceInvocation(InstanceInvocation node) {
visited.add(ExpressionKind.InstanceInvocation);
node.visitChildren(this);
}
@override
void visitInstanceGetterInvocation(InstanceGetterInvocation node) {
visited.add(ExpressionKind.InstanceGetterInvocation);
node.visitChildren(this);
}
@override
void visitFunctionInvocation(FunctionInvocation node) {
visited.add(ExpressionKind.FunctionInvocation);
node.visitChildren(this);
}
@override
void visitLocalFunctionInvocation(LocalFunctionInvocation node) {
visited.add(ExpressionKind.LocalFunctionInvocation);
node.visitChildren(this);
}
@override
void visitAbstractSuperMethodInvocation(AbstractSuperMethodInvocation node) {
visited.add(ExpressionKind.AbstractSuperMethodInvocation);
node.visitChildren(this);
}
@override
void visitSuperMethodInvocation(SuperMethodInvocation node) {
visited.add(ExpressionKind.SuperMethodInvocation);
node.visitChildren(this);
}
@override
void visitStaticInvocation(StaticInvocation node) {
visited.add(ExpressionKind.StaticInvocation);
node.visitChildren(this);
}
@override
void visitConstructorInvocation(ConstructorInvocation node) {
visited.add(ExpressionKind.ConstructorInvocation);
node.visitChildren(this);
}
@override
void visitEqualsNull(EqualsNull node) {
visited.add(ExpressionKind.EqualsNull);
node.visitChildren(this);
}
@override
void visitEqualsCall(EqualsCall node) {
visited.add(ExpressionKind.EqualsCall);
node.visitChildren(this);
}
@override
void visitInstantiation(Instantiation node) {
visited.add(ExpressionKind.Instantiation);
node.visitChildren(this);
}
@override
void visitNot(Not node) {
visited.add(ExpressionKind.Not);
node.visitChildren(this);
}
@override
void visitLogicalExpression(LogicalExpression node) {
visited.add(ExpressionKind.LogicalExpression);
node.visitChildren(this);
}
@override
void visitConditionalExpression(ConditionalExpression node) {
visited.add(ExpressionKind.ConditionalExpression);
node.visitChildren(this);
}
@override
void visitStringConcatenation(StringConcatenation node) {
visited.add(ExpressionKind.StringConcatenation);
node.visitChildren(this);
}
@override
void visitListConcatenation(ListConcatenation node) {
visited.add(ExpressionKind.ListConcatenation);
node.visitChildren(this);
}
@override
void visitSetConcatenation(SetConcatenation node) {
visited.add(ExpressionKind.SetConcatenation);
node.visitChildren(this);
}
@override
void visitMapConcatenation(MapConcatenation node) {
visited.add(ExpressionKind.MapConcatenation);
node.visitChildren(this);
}
@override
void visitInstanceCreation(InstanceCreation node) {
visited.add(ExpressionKind.InstanceCreation);
node.visitChildren(this);
}
@override
void visitFileUriExpression(FileUriExpression node) {
visited.add(ExpressionKind.FileUriExpression);
node.visitChildren(this);
}
@override
void visitIsExpression(IsExpression node) {
visited.add(ExpressionKind.IsExpression);
node.visitChildren(this);
}
@override
void visitAsExpression(AsExpression node) {
visited.add(ExpressionKind.AsExpression);
node.visitChildren(this);
}
@override
void visitNullCheck(NullCheck node) {
visited.add(ExpressionKind.NullCheck);
node.visitChildren(this);
}
@override
void defaultBasicLiteral(BasicLiteral node) {}
@override
void visitStringLiteral(StringLiteral node) {
visited.add(ExpressionKind.StringLiteral);
node.visitChildren(this);
}
@override
void visitIntLiteral(IntLiteral node) {
visited.add(ExpressionKind.IntLiteral);
node.visitChildren(this);
}
@override
void visitDoubleLiteral(DoubleLiteral node) {
visited.add(ExpressionKind.DoubleLiteral);
node.visitChildren(this);
}
@override
void visitBoolLiteral(BoolLiteral node) {
visited.add(ExpressionKind.BoolLiteral);
node.visitChildren(this);
}
@override
void visitNullLiteral(NullLiteral node) {
visited.add(ExpressionKind.NullLiteral);
node.visitChildren(this);
}
@override
void visitSymbolLiteral(SymbolLiteral node) {
visited.add(ExpressionKind.SymbolLiteral);
node.visitChildren(this);
}
@override
void visitTypeLiteral(TypeLiteral node) {
visited.add(ExpressionKind.TypeLiteral);
node.visitChildren(this);
}
@override
void visitThisExpression(ThisExpression node) {
visited.add(ExpressionKind.ThisExpression);
node.visitChildren(this);
}
@override
void visitRethrow(Rethrow node) {
visited.add(ExpressionKind.Rethrow);
node.visitChildren(this);
}
@override
void visitThrow(Throw node) {
visited.add(ExpressionKind.Throw);
node.visitChildren(this);
}
@override
void visitListLiteral(ListLiteral node) {
visited.add(ExpressionKind.ListLiteral);
node.visitChildren(this);
}
@override
void visitSetLiteral(SetLiteral node) {
visited.add(ExpressionKind.SetLiteral);
node.visitChildren(this);
}
@override
void visitMapLiteral(MapLiteral node) {
visited.add(ExpressionKind.MapLiteral);
node.visitChildren(this);
}
@override
void visitRecordLiteral(RecordLiteral node) {
visited.add(ExpressionKind.RecordLiteral);
node.visitChildren(this);
}
@override
void visitAwaitExpression(AwaitExpression node) {
visited.add(ExpressionKind.AwaitExpression);
node.visitChildren(this);
}
@override
void visitFunctionExpression(FunctionExpression node) {
visited.add(ExpressionKind.FunctionExpression);
node.visitChildren(this);
}
@override
void visitConstantExpression(ConstantExpression node) {
visited.add(ExpressionKind.ConstantExpression);
node.visitChildren(this);
}
@override
void visitLet(Let node) {
visited.add(ExpressionKind.Let);
node.visitChildren(this);
}
@override
void visitBlockExpression(BlockExpression node) {
visited.add(ExpressionKind.BlockExpression);
node.visitChildren(this);
}
@override
void visitLoadLibrary(LoadLibrary node) {
visited.add(ExpressionKind.LoadLibrary);
node.visitChildren(this);
}
@override
void visitCheckLibraryIsLoaded(CheckLibraryIsLoaded node) {
visited.add(ExpressionKind.CheckLibraryIsLoaded);
node.visitChildren(this);
}
@override
void visitConstructorTearOff(ConstructorTearOff node) {
visited.add(ExpressionKind.ConstructorTearOff);
node.visitChildren(this);
}
@override
void visitRedirectingFactoryTearOff(RedirectingFactoryTearOff node) {
visited.add(ExpressionKind.RedirectingFactoryTearOff);
node.visitChildren(this);
}
@override
void visitTypedefTearOff(TypedefTearOff node) {
visited.add(ExpressionKind.TypedefTearOff);
node.visitChildren(this);
}
@override
void visitSwitchExpression(SwitchExpression node) {
visited.add(ExpressionKind.SwitchExpression);
node.visitChildren(this);
}
@override
void visitPatternAssignment(PatternAssignment node) {
visited.add(ExpressionKind.PatternAssignment);
node.visitChildren(this);
}
@override
void visitArguments(Arguments node) {
visited.add(NodeKind.Arguments);
node.visitChildren(this);
}
@override
void visitNamedExpression(NamedExpression node) {
visited.add(NodeKind.NamedExpression);
node.visitChildren(this);
}
@override
void visitMapLiteralEntry(MapLiteralEntry node) {
visited.add(NodeKind.MapLiteralEntry);
node.visitChildren(this);
}
@override
void defaultStatement(Statement node) {}
@override
void visitExpressionStatement(ExpressionStatement node) {
visited.add(StatementKind.ExpressionStatement);
node.visitChildren(this);
}
@override
void visitBlock(Block node) {
visited.add(StatementKind.Block);
node.visitChildren(this);
}
@override
void visitAssertBlock(AssertBlock node) {
visited.add(StatementKind.AssertBlock);
node.visitChildren(this);
}
@override
void visitEmptyStatement(EmptyStatement node) {
visited.add(StatementKind.EmptyStatement);
node.visitChildren(this);
}
@override
void visitAssertStatement(AssertStatement node) {
visited.add(StatementKind.AssertStatement);
node.visitChildren(this);
}
@override
void visitLabeledStatement(LabeledStatement node) {
visited.add(StatementKind.LabeledStatement);
node.visitChildren(this);
}
@override
void visitBreakStatement(BreakStatement node) {
visited.add(StatementKind.BreakStatement);
node.visitChildren(this);
}
@override
void visitWhileStatement(WhileStatement node) {
visited.add(StatementKind.WhileStatement);
node.visitChildren(this);
}
@override
void visitDoStatement(DoStatement node) {
visited.add(StatementKind.DoStatement);
node.visitChildren(this);
}
@override
void visitForStatement(ForStatement node) {
visited.add(StatementKind.ForStatement);
node.visitChildren(this);
}
@override
void visitForInStatement(ForInStatement node) {
visited.add(StatementKind.ForInStatement);
node.visitChildren(this);
}
@override
void visitSwitchStatement(SwitchStatement node) {
visited.add(StatementKind.SwitchStatement);
node.visitChildren(this);
}
@override
void visitContinueSwitchStatement(ContinueSwitchStatement node) {
visited.add(StatementKind.ContinueSwitchStatement);
node.visitChildren(this);
}
@override
void visitIfStatement(IfStatement node) {
visited.add(StatementKind.IfStatement);
node.visitChildren(this);
}
@override
void visitReturnStatement(ReturnStatement node) {
visited.add(StatementKind.ReturnStatement);
node.visitChildren(this);
}
@override
void visitTryCatch(TryCatch node) {
visited.add(StatementKind.TryCatch);
node.visitChildren(this);
}
@override
void visitTryFinally(TryFinally node) {
visited.add(StatementKind.TryFinally);
node.visitChildren(this);
}
@override
void visitYieldStatement(YieldStatement node) {
visited.add(StatementKind.YieldStatement);
node.visitChildren(this);
}
@override
void visitVariableDeclaration(VariableDeclaration node) {
visited.add(StatementKind.VariableDeclaration);
node.visitChildren(this);
}
@override
void visitFunctionDeclaration(FunctionDeclaration node) {
visited.add(StatementKind.FunctionDeclaration);
node.visitChildren(this);
}
@override
void visitPatternSwitchStatement(PatternSwitchStatement node) {
visited.add(StatementKind.PatternSwitchStatement);
node.visitChildren(this);
}
@override
void visitPatternVariableDeclaration(PatternVariableDeclaration node) {
visited.add(StatementKind.PatternVariableDeclaration);
node.visitChildren(this);
}
@override
void visitIfCaseStatement(IfCaseStatement node) {
visited.add(StatementKind.IfCaseStatement);
node.visitChildren(this);
}
@override
void visitSwitchCase(SwitchCase node) {
visited.add(NodeKind.SwitchCase);
node.visitChildren(this);
}
@override
void visitCatch(Catch node) {
visited.add(NodeKind.Catch);
node.visitChildren(this);
}
@override
void visitTypeParameter(TypeParameter node) {
visited.add(NodeKind.TypeParameter);
node.visitChildren(this);
}
@override
void visitComponent(Component node) {
visited.add(NodeKind.Component);
node.visitChildren(this);
}
@override
void defaultPattern(Pattern node) {}
@override
void visitConstantPattern(ConstantPattern node) {
visited.add(PatternKind.ConstantPattern);
node.visitChildren(this);
}
@override
void visitAndPattern(AndPattern node) {
visited.add(PatternKind.AndPattern);
node.visitChildren(this);
}
@override
void visitOrPattern(OrPattern node) {
visited.add(PatternKind.OrPattern);
node.visitChildren(this);
}
@override
void visitCastPattern(CastPattern node) {
visited.add(PatternKind.CastPattern);
node.visitChildren(this);
}
@override
void visitNullAssertPattern(NullAssertPattern node) {
visited.add(PatternKind.NullAssertPattern);
node.visitChildren(this);
}
@override
void visitNullCheckPattern(NullCheckPattern node) {
visited.add(PatternKind.NullCheckPattern);
node.visitChildren(this);
}
@override
void visitListPattern(ListPattern node) {
visited.add(PatternKind.ListPattern);
node.visitChildren(this);
}
@override
void visitObjectPattern(ObjectPattern node) {
visited.add(PatternKind.ObjectPattern);
node.visitChildren(this);
}
@override
void visitRelationalPattern(RelationalPattern node) {
visited.add(PatternKind.RelationalPattern);
node.visitChildren(this);
}
@override
void visitWildcardPattern(WildcardPattern node) {
visited.add(PatternKind.WildcardPattern);
node.visitChildren(this);
}
@override
void visitAssignedVariablePattern(AssignedVariablePattern node) {
visited.add(PatternKind.AssignedVariablePattern);
node.visitChildren(this);
}
@override
void visitMapPattern(MapPattern node) {
visited.add(PatternKind.MapPattern);
node.visitChildren(this);
}
@override
void visitNamedPattern(NamedPattern node) {
visited.add(PatternKind.NamedPattern);
node.visitChildren(this);
}
@override
void visitRecordPattern(RecordPattern node) {
visited.add(PatternKind.RecordPattern);
node.visitChildren(this);
}
@override
void visitVariablePattern(VariablePattern node) {
visited.add(PatternKind.VariablePattern);
node.visitChildren(this);
}
@override
void visitRestPattern(RestPattern node) {
visited.add(PatternKind.RestPattern);
node.visitChildren(this);
}
@override
void visitInvalidPattern(InvalidPattern node) {
visited.add(PatternKind.InvalidPattern);
node.visitChildren(this);
}
@override
void visitMapPatternEntry(MapPatternEntry node) {
visited.add(NodeKind.MapPatternEntry);
node.visitChildren(this);
}
@override
void visitMapPatternRestEntry(MapPatternRestEntry node) {
visited.add(NodeKind.MapPatternRestEntry);
node.visitChildren(this);
}
@override
void visitPatternGuard(PatternGuard node) {
visited.add(NodeKind.PatternGuard);
node.visitChildren(this);
}
@override
void visitPatternSwitchCase(PatternSwitchCase node) {
visited.add(NodeKind.PatternSwitchCase);
node.visitChildren(this);
}
@override
void visitSwitchExpressionCase(SwitchExpressionCase node) {
visited.add(NodeKind.SwitchExpressionCase);
node.visitChildren(this);
}
@override
void visitName(Name node) {
visited.add(NodeKind.Name);
node.visitChildren(this);
}
@override
void defaultDartType(DartType node) {}
@override
void visitInvalidType(InvalidType node) {
visited.add(DartTypeKind.InvalidType);
node.visitChildren(this);
}
@override
void visitDynamicType(DynamicType node) {
visited.add(DartTypeKind.DynamicType);
node.visitChildren(this);
}
@override
void visitVoidType(VoidType node) {
visited.add(DartTypeKind.VoidType);
node.visitChildren(this);
}
@override
void visitNeverType(NeverType node) {
visited.add(DartTypeKind.NeverType);
node.visitChildren(this);
}
@override
void visitNullType(NullType node) {
visited.add(DartTypeKind.NullType);
node.visitChildren(this);
}
@override
void visitInterfaceType(InterfaceType node) {
visited.add(DartTypeKind.InterfaceType);
node.visitChildren(this);
}
@override
void visitFunctionType(FunctionType node) {
visited.add(DartTypeKind.FunctionType);
node.visitChildren(this);
}
@override
void visitTypedefType(TypedefType node) {
visited.add(DartTypeKind.TypedefType);
node.visitChildren(this);
}
@override
void visitFutureOrType(FutureOrType node) {
visited.add(DartTypeKind.FutureOrType);
node.visitChildren(this);
}
@override
void visitExtensionType(ExtensionType node) {
visited.add(DartTypeKind.ExtensionType);
node.visitChildren(this);
}
@override
void visitInlineType(InlineType node) {
visited.add(DartTypeKind.InlineType);
node.visitChildren(this);
}
@override
void visitIntersectionType(IntersectionType node) {
visited.add(DartTypeKind.IntersectionType);
node.visitChildren(this);
}
@override
void visitTypeParameterType(TypeParameterType node) {
visited.add(DartTypeKind.TypeParameterType);
node.visitChildren(this);
}
@override
void visitRecordType(RecordType node) {
visited.add(DartTypeKind.RecordType);
node.visitChildren(this);
}
@override
void visitNamedType(NamedType node) {
visited.add(NodeKind.NamedType);
node.visitChildren(this);
}
@override
void visitSupertype(Supertype node) {
visited.add(NodeKind.Supertype);
node.visitChildren(this);
}
@override
void defaultConstant(Constant node) {}
@override
void visitNullConstant(NullConstant node) {
visited.add(ConstantKind.NullConstant);
node.visitChildren(this);
}
@override
void visitBoolConstant(BoolConstant node) {
visited.add(ConstantKind.BoolConstant);
node.visitChildren(this);
}
@override
void visitIntConstant(IntConstant node) {
visited.add(ConstantKind.IntConstant);
node.visitChildren(this);
}
@override
void visitDoubleConstant(DoubleConstant node) {
visited.add(ConstantKind.DoubleConstant);
node.visitChildren(this);
}
@override
void visitStringConstant(StringConstant node) {
visited.add(ConstantKind.StringConstant);
node.visitChildren(this);
}
@override
void visitSymbolConstant(SymbolConstant node) {
visited.add(ConstantKind.SymbolConstant);
node.visitChildren(this);
}
@override
void visitMapConstant(MapConstant node) {
visited.add(ConstantKind.MapConstant);
node.visitChildren(this);
}
@override
void visitListConstant(ListConstant node) {
visited.add(ConstantKind.ListConstant);
node.visitChildren(this);
}
@override
void visitSetConstant(SetConstant node) {
visited.add(ConstantKind.SetConstant);
node.visitChildren(this);
}
@override
void visitRecordConstant(RecordConstant node) {
visited.add(ConstantKind.RecordConstant);
node.visitChildren(this);
}
@override
void visitInstanceConstant(InstanceConstant node) {
visited.add(ConstantKind.InstanceConstant);
node.visitChildren(this);
}
@override
void visitInstantiationConstant(InstantiationConstant node) {
visited.add(ConstantKind.InstantiationConstant);
node.visitChildren(this);
}
@override
void visitStaticTearOffConstant(StaticTearOffConstant node) {
visited.add(ConstantKind.StaticTearOffConstant);
node.visitChildren(this);
}
@override
void visitConstructorTearOffConstant(ConstructorTearOffConstant node) {
visited.add(ConstantKind.ConstructorTearOffConstant);
node.visitChildren(this);
}
@override
void visitRedirectingFactoryTearOffConstant(
RedirectingFactoryTearOffConstant node) {
visited.add(ConstantKind.RedirectingFactoryTearOffConstant);
node.visitChildren(this);
}
@override
void visitTypedefTearOffConstant(TypedefTearOffConstant node) {
visited.add(ConstantKind.TypedefTearOffConstant);
node.visitChildren(this);
}
@override
void visitTypeLiteralConstant(TypeLiteralConstant node) {
visited.add(ConstantKind.TypeLiteralConstant);
node.visitChildren(this);
}
@override
void visitUnevaluatedConstant(UnevaluatedConstant node) {
visited.add(ConstantKind.UnevaluatedConstant);
node.visitChildren(this);
}
@override
void visitTypedefReference(Typedef node) {}
@override
void visitClassReference(Class node) {}
@override
void visitExtensionReference(Extension node) {}
@override
void visitInlineClassReference(InlineClass node) {}
@override
void defaultMemberReference(Member node) {}
@override
void visitFieldReference(Field node) {}
@override
void visitConstructorReference(Constructor node) {}
@override
void visitRedirectingFactoryReference(RedirectingFactory node) {}
@override
void visitProcedureReference(Procedure node) {}
@override
void defaultConstantReference(Constant node) {}
@override
void visitNullConstantReference(NullConstant node) {
visited.add(ConstantKind.NullConstant);
node.visitChildren(this);
}
@override
void visitBoolConstantReference(BoolConstant node) {
visited.add(ConstantKind.BoolConstant);
node.visitChildren(this);
}
@override
void visitIntConstantReference(IntConstant node) {
visited.add(ConstantKind.IntConstant);
node.visitChildren(this);
}
@override
void visitDoubleConstantReference(DoubleConstant node) {
visited.add(ConstantKind.DoubleConstant);
node.visitChildren(this);
}
@override
void visitStringConstantReference(StringConstant node) {
visited.add(ConstantKind.StringConstant);
node.visitChildren(this);
}
@override
void visitSymbolConstantReference(SymbolConstant node) {
visited.add(ConstantKind.SymbolConstant);
node.visitChildren(this);
}
@override
void visitMapConstantReference(MapConstant node) {
visited.add(ConstantKind.MapConstant);
node.visitChildren(this);
}
@override
void visitListConstantReference(ListConstant node) {
visited.add(ConstantKind.ListConstant);
node.visitChildren(this);
}
@override
void visitSetConstantReference(SetConstant node) {
visited.add(ConstantKind.SetConstant);
node.visitChildren(this);
}
@override
void visitRecordConstantReference(RecordConstant node) {
visited.add(ConstantKind.RecordConstant);
node.visitChildren(this);
}
@override
void visitInstanceConstantReference(InstanceConstant node) {
visited.add(ConstantKind.InstanceConstant);
node.visitChildren(this);
}
@override
void visitInstantiationConstantReference(InstantiationConstant node) {
visited.add(ConstantKind.InstantiationConstant);
node.visitChildren(this);
}
@override
void visitStaticTearOffConstantReference(StaticTearOffConstant node) {
visited.add(ConstantKind.StaticTearOffConstant);
node.visitChildren(this);
}
@override
void visitConstructorTearOffConstantReference(
ConstructorTearOffConstant node) {
visited.add(ConstantKind.ConstructorTearOffConstant);
node.visitChildren(this);
}
@override
void visitRedirectingFactoryTearOffConstantReference(
RedirectingFactoryTearOffConstant node) {
visited.add(ConstantKind.RedirectingFactoryTearOffConstant);
node.visitChildren(this);
}
@override
void visitTypedefTearOffConstantReference(TypedefTearOffConstant node) {
visited.add(ConstantKind.TypedefTearOffConstant);
node.visitChildren(this);
}
@override
void visitTypeLiteralConstantReference(TypeLiteralConstant node) {
visited.add(ConstantKind.TypeLiteralConstant);
node.visitChildren(this);
}
@override
void visitUnevaluatedConstantReference(UnevaluatedConstant node) {
visited.add(ConstantKind.UnevaluatedConstant);
node.visitChildren(this);
}
}
enum NodeKind {
Arguments,
Catch,
Class,
Combinator,
Component,
Extension,
FunctionNode,
InlineClass,
Library,
LibraryDependency,
LibraryPart,
MapLiteralEntry,
MapPatternEntry,
MapPatternRestEntry,
Name,
NamedExpression,
NamedType,
PatternGuard,
PatternSwitchCase,
Supertype,
SwitchCase,
SwitchExpressionCase,
TypeParameter,
Typedef,
}
enum MemberKind {
Constructor,
Field,
Procedure,
RedirectingFactory,
}
enum InitializerKind {
AssertInitializer,
FieldInitializer,
InvalidInitializer,
LocalInitializer,
RedirectingInitializer,
SuperInitializer,
}
enum ExpressionKind {
AbstractSuperMethodInvocation,
AbstractSuperPropertyGet,
AbstractSuperPropertySet,
AsExpression,
AwaitExpression,
BlockExpression,
BoolLiteral,
CheckLibraryIsLoaded,
ConditionalExpression,
ConstantExpression,
ConstructorInvocation,
ConstructorTearOff,
DoubleLiteral,
DynamicGet,
DynamicInvocation,
DynamicSet,
EqualsCall,
EqualsNull,
FileUriExpression,
FunctionExpression,
FunctionInvocation,
FunctionTearOff,
InstanceCreation,
InstanceGet,
InstanceGetterInvocation,
InstanceInvocation,
InstanceSet,
InstanceTearOff,
Instantiation,
IntLiteral,
InvalidExpression,
IsExpression,
Let,
ListConcatenation,
ListLiteral,
LoadLibrary,
LocalFunctionInvocation,
LogicalExpression,
MapConcatenation,
MapLiteral,
Not,
NullCheck,
NullLiteral,
PatternAssignment,
RecordIndexGet,
RecordLiteral,
RecordNameGet,
RedirectingFactoryTearOff,
Rethrow,
SetConcatenation,
SetLiteral,
StaticGet,
StaticInvocation,
StaticSet,
StaticTearOff,
StringConcatenation,
StringLiteral,
SuperMethodInvocation,
SuperPropertyGet,
SuperPropertySet,
SwitchExpression,
SymbolLiteral,
ThisExpression,
Throw,
TypeLiteral,
TypedefTearOff,
VariableGet,
VariableSet,
}
enum StatementKind {
AssertBlock,
AssertStatement,
Block,
BreakStatement,
ContinueSwitchStatement,
DoStatement,
EmptyStatement,
ExpressionStatement,
ForInStatement,
ForStatement,
FunctionDeclaration,
IfCaseStatement,
IfStatement,
LabeledStatement,
PatternSwitchStatement,
PatternVariableDeclaration,
ReturnStatement,
SwitchStatement,
TryCatch,
TryFinally,
VariableDeclaration,
WhileStatement,
YieldStatement,
}
enum PatternKind {
AndPattern,
AssignedVariablePattern,
CastPattern,
ConstantPattern,
InvalidPattern,
ListPattern,
MapPattern,
NamedPattern,
NullAssertPattern,
NullCheckPattern,
ObjectPattern,
OrPattern,
RecordPattern,
RelationalPattern,
RestPattern,
VariablePattern,
WildcardPattern,
}
enum DartTypeKind {
DynamicType,
ExtensionType,
FunctionType,
FutureOrType,
InlineType,
InterfaceType,
IntersectionType,
InvalidType,
NeverType,
NullType,
RecordType,
TypeParameterType,
TypedefType,
VoidType,
}
enum ConstantKind {
BoolConstant,
ConstructorTearOffConstant,
DoubleConstant,
InstanceConstant,
InstantiationConstant,
IntConstant,
ListConstant,
MapConstant,
NullConstant,
RecordConstant,
RedirectingFactoryTearOffConstant,
SetConstant,
StaticTearOffConstant,
StringConstant,
SymbolConstant,
TypeLiteralConstant,
TypedefTearOffConstant,
UnevaluatedConstant,
}
/// Returns the set of node kinds that were not visited by [visitor].
Set<Object> missingNodes(CoverageVisitor visitor) {
Set<Object> all = {
...NodeKind.values,
...MemberKind.values,
...InitializerKind.values,
...ExpressionKind.values,
...StatementKind.values,
...PatternKind.values,
...DartTypeKind.values,
...ConstantKind.values,
};
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [MemberKind]s that were not visited by [visitor].
Set<MemberKind> missingMembers(CoverageVisitor visitor) {
Set<MemberKind> all = new Set<MemberKind>.of(MemberKind.values);
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [InitializerKind]s that were not visited by [visitor].
Set<InitializerKind> missingInitializers(CoverageVisitor visitor) {
Set<InitializerKind> all =
new Set<InitializerKind>.of(InitializerKind.values);
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [ExpressionKind]s that were not visited by [visitor].
Set<ExpressionKind> missingExpressions(CoverageVisitor visitor) {
Set<ExpressionKind> all = new Set<ExpressionKind>.of(ExpressionKind.values);
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [StatementKind]s that were not visited by [visitor].
Set<StatementKind> missingStatements(CoverageVisitor visitor) {
Set<StatementKind> all = new Set<StatementKind>.of(StatementKind.values);
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [PatternKind]s that were not visited by [visitor].
Set<PatternKind> missingPatterns(CoverageVisitor visitor) {
Set<PatternKind> all = new Set<PatternKind>.of(PatternKind.values);
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [DartTypeKind]s that were not visited by [visitor].
Set<DartTypeKind> missingDartTypes(CoverageVisitor visitor) {
Set<DartTypeKind> all = new Set<DartTypeKind>.of(DartTypeKind.values);
all.removeAll(visitor.visited);
return all;
}
/// Returns the set of [ConstantKind]s that were not visited by [visitor].
Set<ConstantKind> missingConstants(CoverageVisitor visitor) {
Set<ConstantKind> all = new Set<ConstantKind>.of(ConstantKind.values);
all.removeAll(visitor.visited);
return all;
}