Skip to content

Analyzer Error when playing with extension methods #38798

@filiph

Description

@filiph

Analyzer Feedback from IntelliJ

Version information

  • IDEA WS-192.6817.13
  • 2.6.0-dev.6.0
  • WS-192.6817.13, JRE 11.0.4+10-b304.69x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.14.6, screens 1680x1050, 2048x1152 Retina

Exception

Dart analysis server, SDK version 2.6.0-dev.6.0, server version 1.27.3, error: Failed to handle completion domain request: {id: 6212, method: completion.getSuggestions, params: {file: /Users/filiph/dev/extension_methods/example/fluid_api.dart, offset: 98}, clientRequestTime: 1570645156709}
NoSuchMethodError: The getter 'staticElement' was called on null.
Receiver: null
Tried calling: staticElement
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      _LocalVisitor._staticTypeOfIdentifier (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:572:12)
#2      _LocalVisitor._addLocalSuggestion_includeReturnValueSuggestions (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:443:9)
#3      _LocalVisitor.declaredExtension (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:167:7)
#4      LocalDeclarationVisitor.visitCompilationUnit.<anonymous closure> (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:113:9)
#5      ListMixin.forEach (dart:collection/list.dart:63:13)
#6      LocalDeclarationVisitor.visitCompilationUnit (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:106:23)
#7      CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2140:49)
#8      LocalDeclarationVisitor.visitNode (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:218:18)
#9      GeneralizingAstVisitor.visitAnnotatedNode (package:analyzer/dart/ast/visitor.dart:134:47)
#10     GeneralizingAstVisitor.visitDeclaration (package:analyzer/dart/ast/visitor.dart:227:43)
#11     GeneralizingAstVisitor.visitCompilationUnitMember (package:analyzer/dart/ast/visitor.dart:202:7)
#12     GeneralizingAstVisitor.visitExtensionDeclaration (package:analyzer/dart/ast/visitor.dart:278:7)
#13     ExtensionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:3928:49)
#14     LocalDeclarationVisitor.visitNode (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:218:18)
#15     LocalDeclarationVisitor.visitMethodDeclaration (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:211:5)
#16     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7108:49)
#17     LocalDeclarationVisitor.visitNode (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:218:18)
#18     GeneralizingAstVisitor.visitFunctionBody (package:analyzer/dart/ast/visitor.dart:321:45)
#19     GeneralizingAstVisitor.visitExpressionFunctionBody (package:analyzer/dart/ast/visitor.dart:268:7)
#20     ExpressionFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:3583:15)
#21     LocalDeclarationVisitor.visit (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:72:12)
#22     LocalReferenceContributor.computeSuggestions (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:67:17)
#23     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#24     _rootRunUnary (dart:async/zone.dart:1132:38)
#25     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#26     _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#27     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#28     Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#29     Future._addListener.<anonymous closure> (dart:async/future_impl.dart:387:9)
#30     _rootRun (dart:async/zone.dart:1124:13)
#31     _CustomZone.run (dart:async/zone.dart:1021:19)
#32     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#33     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#34     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#35     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#36     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:391:30)
#37     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
#38     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

This was the file when the exception happened:

import 'package:extension_methods/some_api.dart';

extension on Group {
  void something() => this.
}

void main() {
  var team = getTeam();
}

For additional log information, please append the contents of
file:///private/var/folders/np/gmysjh1j2159hv7wssjzrw440028jd/T/report.txt.

Dart analysis server, SDK version 2.6.0-dev.6.0, server version 1.27.3, error: Failed to handle completion domain request: {id: 6212, method: completion.getSuggestions, params: {file: /Users/filiph/dev/extension_methods/example/fluid_api.dart, offset: 98}, clientRequestTime: 1570645156709}
NoSuchMethodError: The getter 'staticElement' was called on null.
Receiver: null
Tried calling: staticElement
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      _LocalVisitor._staticTypeOfIdentifier (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:572:12)
#2      _LocalVisitor._addLocalSuggestion_includeReturnValueSuggestions (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:443:9)
#3      _LocalVisitor.declaredExtension (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:167:7)
#4      LocalDeclarationVisitor.visitCompilationUnit.<anonymous closure> (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:113:9)
#5      ListMixin.forEach (dart:collection/list.dart:63:13)
#6      LocalDeclarationVisitor.visitCompilationUnit (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:106:23)
#7      CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2140:49)
#8      LocalDeclarationVisitor.visitNode (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:218:18)
#9      GeneralizingAstVisitor.visitAnnotatedNode (package:analyzer/dart/ast/visitor.dart:134:47)
#10     GeneralizingAstVisitor.visitDeclaration (package:analyzer/dart/ast/visitor.dart:227:43)
#11     GeneralizingAstVisitor.visitCompilationUnitMember (package:analyzer/dart/ast/visitor.dart:202:7)
#12     GeneralizingAstVisitor.visitExtensionDeclaration (package:analyzer/dart/ast/visitor.dart:278:7)
#13     ExtensionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:3928:49)
#14     LocalDeclarationVisitor.visitNode (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:218:18)
#15     LocalDeclarationVisitor.visitMethodDeclaration (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:211:5)
#16     MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7108:49)
#17     LocalDeclarationVisitor.visitNode (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:218:18)
#18     GeneralizingAstVisitor.visitFunctionBody (package:analyzer/dart/ast/visitor.dart:321:45)
#19     GeneralizingAstVisitor.visitExpressionFunctionBody (package:analyzer/dart/ast/visitor.dart:268:7)
#20     ExpressionFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:3583:15)
#21     LocalDeclarationVisitor.visit (package:analyzer_plugin/src/utilities/visitors/local_declaration_visitor.dart:72:12)
#22     LocalReferenceContributor.computeSuggestions (package:analysis_server/src/services/completion/dart/local_reference_contributor.dart:67:17)
#23     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#24     _rootRunUnary (dart:async/zone.dart:1132:38)
#25     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#26     _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#27     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#28     Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#29     Future._addListener.<anonymous closure> (dart:async/future_impl.dart:387:9)
#30     _rootRun (dart:async/zone.dart:1124:13)
#31     _CustomZone.run (dart:async/zone.dart:1021:19)
#32     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#33     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#34     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#35     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#36     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:391:30)
#37     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
#38     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
1570645155388 <= {"id":"6207","result":{"assists":[]}}
1570645155388 <= {"event":"analysis.highlights","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","regions":[{"type":"DIRECTIVE","offset":3,"length":49},{"type":"BUILT_IN",
1570645155388 <= {"event":"analysis.navigation","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","regions":[{"offset":10,"length":41,"targets":[0]},{"offset":67,"length":5
1570645155388 <= {"event":"analysis.outline","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","kind":"LIBRARY","outline":{"element":{"kind":"COMPILATION_UNIT","name":"<uni
1570645155388 <= {"event":"analysis.overrides","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","overrides":[]}}
1570645155393 <= {"event":"completion.availableSuggestions","params":{"changedLibraries":[{"id":798,"uri":"file:///Users/filiph/dev/extension_methods/example/fluid_api.dart","items":[{"label":"main","
1570645155394 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":false}}}
1570645155394 <= {"event":"analysis.implemented","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","classes":[],"members":[]}}
1570645155690 => {"id":"6208","method":"analysis.updateContent","params":{"files":{"/Users/filiph/dev/extension_methods/example/fluid_api.dart":{"type":"add","content":"\n\n\nimport 'package:extension
1570645155690 <= {"id":"6208","result":{}}
1570645155690 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":true}}}
1570645155691 => {"id":"6209","method":"edit.getAssists","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","offset":97,"length":0},"clientRequestTime":1570645155691}
1570645155700 <= {"event":"analysis.errors","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","errors":[{"severity":"INFO","type":"HINT","location":{"file":"/Users/filiph/d
1570645155701 <= {"id":"6209","result":{"assists":[]}}
1570645155701 <= {"event":"analysis.highlights","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","regions":[{"type":"DIRECTIVE","offset":3,"length":49},{"type":"BUILT_IN",
1570645155701 <= {"event":"analysis.navigation","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","regions":[{"offset":10,"length":41,"targets":[0]},{"offset":67,"length":5
1570645155701 <= {"event":"analysis.outline","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","kind":"LIBRARY","outline":{"element":{"kind":"COMPILATION_UNIT","name":"<uni
1570645155701 <= {"event":"analysis.overrides","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","overrides":[]}}
1570645155706 <= {"event":"completion.availableSuggestions","params":{"changedLibraries":[{"id":798,"uri":"file:///Users/filiph/dev/extension_methods/example/fluid_api.dart","items":[{"label":"main","
1570645155706 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":false}}}
1570645155706 <= {"event":"analysis.implemented","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","classes":[],"members":[]}}
1570645156008 => {"id":"6210","method":"edit.getAssists","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","offset":97,"length":0},"clientRequestTime":1570645156008}
1570645156009 <= {"id":"6210","result":{"assists":[]}}
1570645156709 => {"id":"6211","method":"analysis.updateContent","params":{"files":{"/Users/filiph/dev/extension_methods/example/fluid_api.dart":{"type":"add","content":"\n\n\nimport 'package:extension
1570645156709 => {"id":"6212","method":"completion.getSuggestions","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","offset":98},"clientRequestTime":1570645156709}
1570645156710 <= {"id":"6211","result":{}}
1570645156710 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":true}}}
1570645156717 <= {"id":"6212","result":{"id":"1164"}}
1570645156717 <= {"event":"analysis.errors","params":{"file":"/Users/filiph/dev/extension_methods/example/fluid_api.dart","errors":[{"severity":"ERROR","type":"SYNTACTIC_ERROR","location":{"file":"/Us
1570645156723 <= {"event":"server.error","params":{"isFatal":false,"message":"Failed to handle completion domain request: {id: 6212, method: completion.getSuggestions, params: {file: /Users/filiph/dev

Metadata

Metadata

Assignees

Labels

P1A high priority bug; for example, a single project is unusable or has many test failuresanalyzer-crash-reportIssues which have been reported due to an analysis server crashlegacy-area-analyzerUse area-devexp instead.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions