-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
area-devexpFor issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.devexp-completionIssues with the analysis server's code completion featureIssues with the analysis server's code completion featuredevexp-serverIssues related to some aspect of the analysis serverIssues related to some aspect of the analysis servertype-bugIncorrect behavior (everything from a crash to more subtle misbehavior)Incorrect behavior (everything from a crash to more subtle misbehavior)
Description
On current Flutter master, invoking completion here:
main() {
for^
}
Results in an exception on the server:
An error occurred while handling textDocument/completion request: Bad state: No element
#0 _Array.first (dart:core-patch/array.dart:52)
#1 DeclarationHelper._suggestConstructors (package:analysis_server/src/services/completion/dart/declaration_helper.dart:1836)
#2 DeclarationHelper._addConstructorsForAliasedElement (package:analysis_server/src/services/completion/dart/declaration_helper.dart:722)
#3 DeclarationHelper._suggestTypeAlias (package:analysis_server/src/services/completion/dart/declaration_helper.dart:2409)
#4 DeclarationHelper._addExternalTopLevelDeclarations (package:analysis_server/src/services/completion/dart/declaration_helper.dart:903)
#5 DeclarationHelper.addNotImportedTopLevelDeclarations (package:analysis_server/src/services/completion/dart/declaration_helper.dart:560)
#6 StaticMembersOperation.computeSuggestionsIn (package:analysis_server/src/services/completion/dart/not_imported_completion_pass.dart:206)
#7 NotImportedCompletionPass.computeSuggestions.<anonymous closure> (package:analysis_server/src/services/completion/dart/not_imported_completion_pass.dart:172)
#8 OperationPerformanceImpl.run (package:analyzer/src/util/performance/operation_performance.dart:150)
#9 NotImportedCompletionPass.computeSuggestions (package:analysis_server/src/services/completion/dart/not_imported_completion_pass.dart:171)
<asynchronous suspension>
#10 DartCompletionManager.computeCandidateSuggestions.<anonymous closure> (package:analysis_server/src/services/completion/dart/completion_manager.dart:140)
<asynchronous suspension>
#11 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:169)
<asynchronous suspension>
#12 DartCompletionManager.computeCandidateSuggestions (package:analysis_server/src/services/completion/dart/completion_manager.dart:137)
<asynchronous suspension>
#13 DartCompletionManager.computeFinalizedCandidateSuggestions (package:analysis_server/src/services/completion/dart/completion_manager.dart:164)
<asynchronous suspension>
#14 CompletionHandler._getServerDartItems.<anonymous closure> (package:analysis_server/src/lsp/handlers/handler_completion.dart:385)
<asynchronous suspension>
#15 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:169)
<asynchronous suspension>
#16 CompletionHandler._getServerDartItems (package:analysis_server/src/lsp/handlers/handler_completion.dart:377)
<asynchronous suspension>
#17 CompletionHandler.handle.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:analysis_server/src/lsp/handlers/handler_completion.dart:172)
<asynchronous suspension>
#18 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:169)
<asynchronous suspension>
#19 CompletionHandler.handle.<anonymous closure> (package:analysis_server/src/lsp/handlers/handler_completion.dart:209)
<asynchronous suspension>
#20 ErrorOrRecord3Extension.mapResults (package:analysis_server/src/lsp/error_or.dart:173)
<asynchronous suspension>
#21 CompletionHandler.handle (package:analysis_server/src/lsp/handlers/handler_completion.dart:145)
<asynchronous suspension>
#22 ServerStateMessageHandler.handleMessage (package:analysis_server/src/lsp/handlers/handlers.dart:527)
<asynchronous suspension>
#23 LspAnalysisServer._handleRequestMessage (package:analysis_server/src/lsp/lsp_analysis_server.dart:1063)
<asynchronous suspension>
#24 LspAnalysisServer.handleMessage.<anonymous closure>.<anonymous closure> (package:analysis_server/src/lsp/lsp_analysis_server.dart:505)
<asynchronous suspension>
#25 OperationPerformanceImpl.runAsync (package:analyzer/src/util/performance/operation_performance.dart:169)
<asynchronous suspension>
#26 LspAnalysisServer.handleMessage.<anonymous closure> (package:analysis_server/src/lsp/lsp_analysis_server.dart:483)
<asynchronous suspension>
The error looks like it's coming from .first
here:
sdk/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
Line 1836 in 6863308
element: constructors.first.enclosingElement, |
@keertip maybe related to 1d5b271? I suspect it just needs to check constructors.isNotEmpty
first - let me know if you can't repro or want me to test that out.
Metadata
Metadata
Assignees
Labels
area-devexpFor issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.devexp-completionIssues with the analysis server's code completion featureIssues with the analysis server's code completion featuredevexp-serverIssues related to some aspect of the analysis serverIssues related to some aspect of the analysis servertype-bugIncorrect behavior (everything from a crash to more subtle misbehavior)Incorrect behavior (everything from a crash to more subtle misbehavior)