Just encountered this error when running dart fix --dry-run. Since I was prompted to do so, I opened this ticket.
I have to add that I tried dart fix --apply next which completed without an error, and since then I can no longer reproduce the issue (dart fix --dry-run no longer throws an error).
dart fix --dry-run
Computing fixes in app (dry run)...
An unexpected error was encountered by the Analysis Server.
Please file an issue at https://github.com/dart-lang/sdk/issues/new/choose with the following details:
Internal error: Exception while using a UseBuildContextSynchronously to visit a MethodInvocationImpl in MethodInvocationImpl in ExpressionStatementImpl in BlockImpl in BlockFunctionBodyImpl in MethodDeclarationImpl in ClassDeclarationImpl in CompilationUnitImpl
Bad state: Missing a visit method for a node of type PatternAssignmentImpl
#0 ExitDetector.visitNode (package:analyzer/src/dart/resolver/exit_detector.dart:455:5)
#1 GeneralizingAstVisitor.visitCollectionElement (package:analyzer/dart/ast/visitor.dart:216:56)
#2 GeneralizingAstVisitor.visitExpression (package:analyzer/dart/ast/visitor.dart:313:42)
#3 GeneralizingAstVisitor.visitPatternAssignment (package:analyzer/dart/ast/visitor.dart:590:56)
#4 PatternAssignmentImpl.accept (package:analyzer/src/dart/ast/ast.dart:13465:50)
#5 ExitDetector._nodeExits (package:analyzer/src/dart/resolver/exit_detector.dart:663:17)
#6 ExitDetector.visitExpressionStatement (package:analyzer/src/dart/resolver/exit_detector.dart:178:7)
#7 ExpressionStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:6186:50)
#8 _extension#6.terminatesControl (package:linter/src/rules/use_build_context_synchronously.dart:1390:12)
#9 _extension#2.terminatesControl (package:linter/src/rules/use_build_context_synchronously.dart:1310:32)
#10 AsyncStateVisitor._visitIfLike (package:linter/src/rules/use_build_context_synchronously.dart:891:39)
#11 AsyncStateVisitor.visitIfStatement (package:linter/src/rules/use_build_context_synchronously.dart:470:53)
#12 IfStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:9378:50)
#13 AsyncStateVisitor._inOrderAsyncState (package:linter/src/rules/use_build_context_synchronously.dart:771:29)
#14 AsyncStateVisitor._inOrderAsyncStateGuardable (package:linter/src/rules/use_build_context_synchronously.dart:788:7)
#15 AsyncStateVisitor._visitBlockLike (package:linter/src/rules/use_build_context_synchronously.dart:799:35)
#16 AsyncStateVisitor.visitBlock (package:linter/src/rules/use_build_context_synchronously.dart:335:7)
#17 BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:2087:50)
#18 AsyncStateTracker.asyncStateFor (package:linter/src/rules/use_build_context_synchronously.dart:114:24)
#19 _Visitor.check (package:linter/src/rules/use_build_context_synchronously.dart:1097:42)
#20 _Visitor._visitArgumentList (package:linter/src/rules/use_build_context_synchronously.dart:1293:11)
#21 _Visitor.visitMethodInvocation (package:linter/src/rules/use_build_context_synchronously.dart:1263:5)
#22 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:11870:50)
#23 LinterVisitor._runSubscriptions (package:analyzer/src/lint/linter_visitor.dart:1096:14)
#24 LinterVisitor.visitMethodInvocation (package:analyzer/src/lint/linter_visitor.dart:644:5)
#25 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:11870:50)
#26 MethodInvocationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:11879:14)
#27 LinterVisitor.visitMethodInvocation (package:analyzer/src/lint/linter_visitor.dart:645:10)
#28 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:11870:50)
#29 ExpressionStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:6190:17)
#30 LinterVisitor.visitExpressionStatement (package:analyzer/src/lint/linter_visitor.dart:327:10)
#31 ExpressionStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:6186:50)
#32 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:12583:20)
#33 BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2091:17)
#34 LinterVisitor.visitBlock (package:analyzer/src/lint/linter_visitor.dart:111:10)
#35 BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:2087:50)
#36 BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2047:12)
#37 LinterVisitor.visitBlockFunctionBody (package:analyzer/src/lint/linter_visitor.dart:117:10)
#38 BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:2039:50)
#39 MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:11693:10)
#40 LinterVisitor.visitMethodDeclaration (package:analyzer/src/lint/linter_visitor.dart:639:10)
#41 MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:11685:50)
#42 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:12583:20)
#43 ClassDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2954:13)
#44 LinterVisitor.visitClassDeclaration (package:analyzer/src/lint/linter_visitor.dart:165:10)
#45 ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:2944:50)
#46 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:12583:20)
#47 CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3614:21)
#48 LinterVisitor.visitCompilationUnit (package:analyzer/src/lint/linter_visitor.dart:189:10)
#49 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:3607:50)
#50 LibraryAnalyzer._computeLints (package:analyzer/src/dart/analysis/library_analyzer.dart:398:12)
#51 LibraryAnalyzer._computeDiagnostics (package:analyzer/src/dart/analysis/library_analyzer.dart:323:7)
#52 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:108:5)
#53 AnalysisDriver._analyzeFileImpl.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1400:11)
<asynchronous suspension>
#54 PerformanceLog.runAsync (package:analyzer/src/dart/analysis/performance_logger.dart:50:14)
<asynchronous suspension>
#55 AnalysisDriver._analyzeFile.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1314:9)
<asynchronous suspension>
#56 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:174:14)
<asynchronous suspension>
#57 AnalysisDriver._analyzeFile (package:analyzer/src/dart/analysis/driver.dart:1311:5)
<asynchronous suspension>
#58 AnalysisDriver._getErrors (package:analyzer/src/dart/analysis/driver.dart:1745:5)
<asynchronous suspension>
#59 AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1213:7)
<asynchronous suspension>
#60 AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2455:7)
<asynchronous suspension>
null
Nothing to fix!
Summary: The user encountered an error "Bad state: Missing a visit method for a node of type PatternAssignmentImpl" while running dart fix --dry-run. The error was not reproducible after running dart fix --apply.
Just encountered this error when running
dart fix --dry-run
. Since I was prompted to do so, I opened this ticket.I have to add that I tried
dart fix --apply
next which completed without an error, and since then I can no longer reproduce the issue (dart fix --dry-run
no longer throws an error).