-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Closed
Copy link
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failuresarea-migration (deprecated)Deprecated: this label is no longer actively used (was: issues with the `dart migrate` tool).Deprecated: this label is no longer actively used (was: issues with the `dart migrate` tool).type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)Incorrect behavior (everything from a crash to more subtle misbehavior)
Description
class Foo {
const Foo(bool x);
}
@Foo(true)
int x;
Boolean literals can affect control flow, so EdgeBuilder tries to inform control flow about this true
literal, but we have not created an instance of control flow, so it crashes.
The solution is to create control flow for annotation expressions.
NoSuchMethodError: The method 'booleanLiteral' was called on null.
Receiver: null
Tried calling: booleanLiteral(Instance of 'BooleanLiteralImpl', true)
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1 EdgeBuilder.visitBooleanLiteral (package:nnbd_migration/src/edge_builder.dart:474:19)
#2 BooleanLiteralImpl.accept (package:analyzer/src/dart/ast/ast.dart:1116:49)
#3 EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2038:22)
#4 EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1198:9)
#5 GeneralizingAstVisitor.visitArgumentList (package:analyzer/dart/ast/visitor.dart:140:45)
#6 ArgumentListImpl.accept (package:analyzer/src/dart/ast/ast.dart:359:49)
#7 EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2038:22)
#8 EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1198:9)
#9 GeneralizingAstVisitor.visitAnnotation (package:analyzer/dart/ast/visitor.dart:137:41)
#10 CompletenessTracker.visitAnnotation (package:nnbd_migration/src/utilities/completeness_tracker.dart:26:18)
#11 AnnotationImpl.accept (package:analyzer/src/dart/ast/ast.dart:284:49)
#12 EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2038:22)
#13 EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1198:9)
#14 GeneralizingAstVisitor.visitAnnotatedNode (package:analyzer/dart/ast/visitor.dart:134:47)
#15 GeneralizingAstVisitor.visitDeclaration (package:analyzer/dart/ast/visitor.dart:227:43)
#16 GeneralizingAstVisitor.visitCompilationUnitMember (package:analyzer/dart/ast/visitor.dart:202:7)
#17 GeneralizingAstVisitor.visitTopLevelVariableDeclaration (package:analyzer/dart/ast/visitor.dart:551:7)
#18 TopLevelVariableDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:9866:15)
#19 EdgeBuilder._dispatch (package:nnbd_migration/src/edge_builder.dart:2038:22)
#20 EdgeBuilder.visitNode (package:nnbd_migration/src/edge_builder.dart:1198:9)
#21 GeneralizingAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:199:51)
#22 CompletenessTracker.visitCompilationUnit.<anonymous closure> (package:nnbd_migration/src/utilities/completeness_tracker.dart:48:24)
#23 PermissiveModeVisitor.reportExceptionsIfPermissive (package:nnbd_migration/src/utilities/permissive_mode.dart:26:24)
#24 CompletenessTracker.visitCompilationUnit (package:nnbd_migration/src/utilities/completeness_tracker.dart:39:5)
#25 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2125:49)
#26 NullabilityMigrationImpl.processInput (package:nnbd_migration/src/nullability_migration_impl.dart:191:12)
#27 NonNullableFix.processUnit (package:nnbd_migration/src/front_end/non_nullable_fix.dart:150:19)
#28 _FixCodeProcessor.runLaterPhases.<anonymous closure> (package:nnbd_migration/migration_cli.dart:923:21)
#29 _FixCodeProcessor.processResources (package:nnbd_migration/migration_cli.dart:869:30)
<asynchronous suspension>
#30 _FixCodeProcessor.runLaterPhases (package:nnbd_migration/migration_cli.dart:921:13)
#31 MigrationCli.run.<anonymous closure> (package:nnbd_migration/migration_cli.dart:445:45)
<asynchronous suspension>
#32 MigrationCli.run.<anonymous closure> (package:nnbd_migration/migration_cli.dart)
#33 MigrationCli._withProgress (package:nnbd_migration/migration_cli.dart:709:21)
#34 MigrationCli.run (package:nnbd_migration/migration_cli.dart:420:11)
#35 main (file:///home/mfairhurst/projects/dart/sdk/pkg/nnbd_migration/bin/migrate.dart:18:39)
#36 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#37 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
hillelcoren
Metadata
Metadata
Assignees
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failuresarea-migration (deprecated)Deprecated: this label is no longer actively used (was: issues with the `dart migrate` tool).Deprecated: this label is no longer actively used (was: issues with the `dart migrate` tool).type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)Incorrect behavior (everything from a crash to more subtle misbehavior)