Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to handle completion domain request during code analysis #35532

Closed
timsneath opened this issue Jan 1, 2019 · 3 comments
Closed

Failed to handle completion domain request during code analysis #35532

timsneath opened this issue Jan 1, 2019 · 3 comments
Labels
area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion.

Comments

@timsneath
Copy link
Contributor

Exception from analysis server (running from VSCode / Dart Code)

What I was doing

Adding a new stateless widget to a Dart file using a snippet. Code saved at the point that it crashed here: timsneath/dadjokes@690a4c9

Versions

  • Flutter SDK 1.1.5-pre.38
  • Visual Studio Code 1.30.1
  • Dart Code 2.21.2-dev

Analyzer Info

The analyzer was launched using the arguments:

/Users/timsneath/flutter/bin/cache/dart-sdk/bin/snapshots/analysis_server.dart.snapshot
--client-id=Dart-Code.dart-code
--client-version=2.21.2-dev

Exception

Failed to handle completion domain request: {id: 2531, method: completion.getSuggestions, params: {file: /Users/timsneath/git/me/dadjokes/lib/newMainPage.dart, offset: 649}}

InconsistentAnalysisException: Requested result might be inconsistent with previously returned results

#0      AnalysisSessionImpl._checkConsistency (package:analyzer/src/dart/analysis/session.dart:199:7)
#1      AnalysisSessionImpl.getResolvedUnit (package:analyzer/src/dart/analysis/session.dart:164:5)
#2      DartChangeBuilderImpl.createFileEditBuilder (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart:67:47)
<asynchronous suspension>
#3      ChangeBuilderImpl.addFileEdit (package:analyzer_plugin/src/utilities/change_builder/change_builder_core.dart:68:41)
<asynchronous suspension>
#4      DartChangeBuilderImpl.addFileEdit (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart:50:18)
#5      OverrideContributor._buildReplacementText (package:analysis_server/src/services/completion/dart/override_contributor.dart:80:19)
<asynchronous suspension>
#6      OverrideContributor._buildSuggestion (package:analysis_server/src/services/completion/dart/override_contributor.dart:102:39)
<asynchronous suspension>
#7      OverrideContributor.computeSuggestions (package:analysis_server/src/services/completion/dart/override_contributor.dart:59:19)
<asynchronous suspension>
#8      DartCompletionManager.computeSuggestions (package:analysis_server/src/services/completion/dart/completion_manager.dart:111:29)
<asynchronous suspension>
#9      CompletionDomainHandler.computeSuggestions (package:analysis_server/src/domain_completion.dart:98:46)
<asynchronous suspension>
#10     CompletionDomainHandler.processRequest (package:analysis_server/src/domain_completion.dart:202:5)
<asynchronous suspension>
#11     CompletionDomainHandler.handleRequest.<anonymous closure> (package:analysis_server/src/domain_completion.dart:144:9)
#12     _rootRun (dart:async/zone.dart:1124:13)
#13     _CustomZone.run (dart:async/zone.dart:1021:19)
#14     _runZoned (dart:async/zone.dart:1516:10)
#15     runZoned (dart:async/zone.dart:1500:12)
#16     CompletionDomainHandler.handleRequest (package:analysis_server/src/domain_completion.dart:141:12)
#17     AnalysisServer.handleRequest.<anonymous closure>.<anonymous closure> (package:analysis_server/src/analysis_server.dart:349:45)
#18     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:258:15)
#19     AnalysisServer.handleRequest.<anonymous closure> (package:analysis_server/src/analysis_server.dart:345:50)
#20     _rootRun (dart:async/zone.dart:1124:13)
#21     _CustomZone.run (dart:async/zone.dart:1021:19)
#22     _runZoned (dart:async/zone.dart:1516:10)
#23     runZoned (dart:async/zone.dart:1500:12)
#24     AnalysisServer.handleRequest (package:analysis_server/src/analysis_server.dart:344:5)
#25     ByteStreamServerChannel._readRequest.<anonymous closure> (package:analysis_server/src/channel/byte_stream_channel.dart:174:16)
#26     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:258:15)
#27     ByteStreamServerChannel._readRequest (package:analysis_server/src/channel/byte_stream_channel.dart:165:47)
#28     ByteStreamServerChannel.listen.<anonymous closure> (package:analysis_server/src/channel/byte_stream_channel.dart:110:26)
#29     _rootRunUnary (dart:async/zone.dart:1132:38)
#30     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#31     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#32     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#33     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#34     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:68:11)
#35     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15:11)
#36     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)
#37     _LineSplitterSink._addLines (dart:convert/line_splitter.dart:150:13)
#38     _LineSplitterSink.addSlice (dart:convert/line_splitter.dart:125:5)
#39     StringConversionSinkMixin.add (dart:convert/string_conversion.dart:165:5)
#40     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:120:24)
#41     _rootRunUnary (dart:async/zone.dart:1132:38)
#42     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#43     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#44     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#45     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#46     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:68:11)
#47     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15:11)
#48     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)
#49     _StringAdapterSink.addSlice (dart:convert/string_conversion.dart:243:7)
#50     _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:314:20)
#51     _Utf8ConversionSink.add (dart:convert/string_conversion.dart:307:5)
#52     _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:74:18)
#53     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:120:24)
#54     _rootRunUnary (dart:async/zone.dart:1132:38)
#55     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#56     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#57     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#58     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#59     _SyncStreamController._sendData (dart:async/stream_controller.dart:764:19)
#60     _StreamController._add (dart:async/stream_controller.dart:640:7)
#61     _StreamController.add (dart:async/stream_controller.dart:586:5)
#62     _Socket._onData (dart:io/runtime/binsocket_patch.dart:1722:41)
#63     _rootRunUnary (dart:async/zone.dart:1136:13)
#64     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#65     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#66     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#67     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#68     _SyncStreamController._sendData (dart:async/stream_controller.dart:764:19)
#69     _StreamController._add (dart:async/stream_controller.dart:640:7)
#70     _StreamController.add (dart:async/stream_controller.dart:586:5)
#71     new _RawSocket.<anonymous closure> (dart:io/runtime/binsocket_patch.dart:1284:33)
#72     _NativeSocket.issueReadEvent.issue (dart:io/runtime/binsocket_patch.dart:826:14)
#73     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#74     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#75     _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
#76     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)

Diagnostics requested after the error occurred are:

[
    {
        "name": "/Users/timsneath/git/me/dadjokes",
        "explicitFileCount": 4,
        "implicitFileCount": 676,
        "workItemQueueLength": 6,
        "cacheEntryExceptions": []
    }
]
@timsneath
Copy link
Contributor Author

May be the same as #35530

@kika
Copy link

kika commented Jan 1, 2019

I'm getting similar from Android Studio 3.3RC3.

Flutter 1.1.5-pre.37 • channel master • https://github.com/flutter/flutter.git
Framework • revision faae8bde78 (4 days ago) • 2018-12-28 23:03:40 -0500
Engine • revision 995e3247fe
Tools • Dart 2.1.1 (build 2.1.1-dev.0.1 88e6fe0f67)

Analyzer Feedback from IntelliJ

Version information

  • IDEA AI-182.5107.16.33.5183351
  • 2.2.0-edge.88e6fe0f673e3d88f06fb6797103f9a9305961d9
  • AI-182.5107.16.33.5183351, JRE 1.8.0_152-release-1248-b01x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.13.6 unknown, screens 1024x1280, 2560x1440, 1024x1280

I've created a very simple class (manually typed, no snippet):

class ActionUpdateSecrets {
  final User user;
  ActionUpdateSecrets(this.user);
  @override
  String toString() => "ActionUpdateSecrets(uid: ${user.id})";
}

Analysis server crashed when I converted the toString() method from autocompleted block form into expression form using yellow bulb popup menu.

Dart analysis server, SDK version 2.2.0-edge.88e6fe0f673e3d88f06fb6797103f9a9305961d9, server version 1.21.1, error: Failed to handle completion domain request: {id: 1295, method: completion.getSuggestions, params: {file: /Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart, offset: 6714}, clientRequestTime: 1546386060054}
InconsistentAnalysisException: Requested result might be inconsistent with previously returned results

#0      AnalysisSessionImpl._checkConsistency (package:analyzer/src/dart/analysis/session.dart:199:7)
#1      AnalysisSessionImpl.getResolvedUnit (package:analyzer/src/dart/analysis/session.dart:164:5)
#2      DartChangeBuilderImpl.createFileEditBuilder (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart:67:47)
<asynchronous suspension>
#3      ChangeBuilderImpl.addFileEdit (package:analyzer_plugin/src/utilities/change_builder/change_builder_core.dart:68:41)
<asynchronous suspension>
#4      DartChangeBuilderImpl.addFileEdit (package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart:50:18)
#5      OverrideContributor._buildReplacementText (package:analysis_server/src/services/completion/dart/override_contributor.dart:80:19)
<asynchronous suspension>
#6      OverrideContributor._buildSuggestion (package:analysis_server/src/services/completion/dart/override_contributor.dart:102:39)
<asynchronous suspension>
#7      OverrideContributor.computeSuggestions (package:analysis_server/src/services/completion/dart/override_contributor.dart:59:19)
<asynchronous suspension>
#8      DartCompletionManager.computeSuggestions (package:analysis_server/src/services/completion/dart/completion_manager.dart:111:29)
<asynchronous suspension>
#9      CompletionDomainHandler.computeSuggestions (package:analysis_server/src/domain_completion.dart:98:46)
<asynchronous suspension>
#10     CompletionDomainHandler.processRequest (package:analysis_server/src/domain_completion.dart:202:5)
<asynchronous suspension>
#11     CompletionDomainHandler.handleRequest.<anonymous closure> (package:analysis_server/src/domain_completion.dart:144:9)
#12     _rootRun (dart:async/zone.dart:1124:13)
#13     _CustomZone.run (dart:async/zone.dart:1021:19)
#14     _runZoned (dart:async/zone.dart:1516:10)
#15     runZoned (dart:async/zone.dart:1500:12)
#16     CompletionDomainHandler.handleRequest (package:analysis_server/src/domain_completion.dart:141:12)
#17     AnalysisServer.handleRequest.<anonymous closure>.<anonymous closure> (package:analysis_server/src/analysis_server.dart:349:45)
#18     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:258:15)
#19     AnalysisServer.handleRequest.<anonymous closure> (package:analysis_server/src/analysis_server.dart:345:50)
#20     _rootRun (dart:async/zone.dart:1124:13)
#21     _CustomZone.run (dart:async/zone.dart:1021:19)
#22     _runZoned (dart:async/zone.dart:1516:10)
#23     runZoned (dart:async/zone.dart:1500:12)
#24     AnalysisServer.handleRequest (package:analysis_server/src/analysis_server.dart:344:5)
#25     ByteStreamServerChannel._readRequest.<anonymous closure> (package:analysis_server/src/channel/byte_stream_channel.dart:174:16)
#26     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:258:15)
#27     ByteStreamServerChannel._readRequest (package:analysis_server/src/channel/byte_stream_channel.dart:165:47)
#28     ByteStreamServerChannel.listen.<anonymous closure> (package:analysis_server/src/channel/byte_stream_channel.dart:110:26)
#29     _rootRunUnary (dart:async/zone.dart:1132:38)
#30     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#31     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#32     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#33     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#34     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:68:11)
#35     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15:11)
#36     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)
#37     _LineSplitterSink._addLines (dart:convert/line_splitter.dart:150:13)
#38     _LineSplitterSink.addSlice (dart:convert/line_splitter.dart:125:5)
#39     StringConversionSinkMixin.add (dart:convert/string_conversion.dart:165:5)
#40     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:120:24)
#41     _rootRunUnary (dart:async/zone.dart:1132:38)
#42     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#43     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#44     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#45     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#46     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:68:11)
#47     _EventSinkWrapper.add (dart:async/stream_transformers.dart:15:11)
#48     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)
#49     _StringAdapterSink.addSlice (dart:convert/string_conversion.dart:243:7)
#50     _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:314:20)
#51     _Utf8ConversionSink.add (dart:convert/string_conversion.dart:307:5)
#52     _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:74:18)
#53     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:120:24)
#54     _rootRunUnary (dart:async/zone.dart:1132:38)
#55     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#56     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#57     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#58     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#59     _SyncStreamController._sendData (dart:async/stream_controller.dart:764:19)
#60     _StreamController._add (dart:async/stream_controller.dart:640:7)
#61     _StreamController.add (dart:async/stream_controller.dart:586:5)
#62     _Socket._onData (dart:io/runtime/binsocket_patch.dart:1722:41)
#63     _rootRunUnary (dart:async/zone.dart:1136:13)
#64     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#65     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#66     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
#67     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:263:7)
#68     _SyncStreamController._sendData (dart:async/stream_controller.dart:764:19)
#69     _StreamController._add (dart:async/stream_controller.dart:640:7)
#70     _StreamController.add (dart:async/stream_controller.dart:586:5)
#71     new _RawSocket.<anonymous closure> (dart:io/runtime/binsocket_patch.dart:1284:33)
#72     _NativeSocket.issueReadEvent.issue (dart:io/runtime/binsocket_patch.dart:826:14)
#73     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#74     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#75     _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
#76     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)
1546386060071 <= {"id":"1294","result":{}}
1546386060071 <= {"event":"server.status","params":{"analysis":{"isAnalyzing":true}}}
1546386060162 => {"id":"1296","method":"analysis.updateContent","params":{"files":{"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart":{"type":"add","content":"part of <censored>_state;\n\
1546386060162 => {"id":"1297","method":"completion.getSuggestions","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","offset":6715},"clientRequestTime":154638606016
1546386060168 <= {"id":"1295","result":{"id":"149"}}
1546386060168 <= {"event":"analysis.errors","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","errors":[{"severity":"ERROR","type":"SYNTACTIC_ERROR","location":{"fi
1546386060203 <= {"id":"1296","result":{}}
1546386060204 <= {"event":"analysis.highlights","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","regions":[{"type":"DIRECTIVE","offset":0,"length":20},{"type":"BU
1546386060206 <= {"event":"analysis.navigation","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","regions":[{"offset":8,"length":11,"targets":[0]},{"offset":28,"le
1546386060206 <= {"event":"analysis.closingLabels","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","labels":[]}}
1546386060207 <= {"event":"analysis.outline","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","kind":"PART","libraryName":"<censored>_state","outline":{"element":{"kind
1546386060208 <= {"event":"analysis.overrides","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","overrides":[{"offset":113,"length":8,"superclassMember":{"element"
1546386060282 => {"id":"1298","method":"analysis.updateContent","params":{"files":{"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart":{"type":"add","content":"part of <censored>_state;\n\
1546386060282 => {"id":"1299","method":"completion.getSuggestions","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","offset":6716},"clientRequestTime":154638606028
1546386060318 <= {"id":"1297","result":{"id":"150"}}
1546386060318 <= {"event":"analysis.errors","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","errors":[{"severity":"ERROR","type":"SYNTACTIC_ERROR","location":{"fi
1546386060344 <= {"id":"1298","result":{}}
1546386060346 <= {"event":"analysis.highlights","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","regions":[{"type":"DIRECTIVE","offset":0,"length":20},{"type":"BU
1546386060347 <= {"event":"analysis.navigation","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","regions":[{"offset":8,"length":11,"targets":[0]},{"offset":28,"le
1546386060348 <= {"event":"analysis.closingLabels","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","labels":[]}}
1546386060349 <= {"event":"analysis.outline","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","kind":"PART","libraryName":"<censored>_state","outline":{"element":{"kind
1546386060350 <= {"event":"analysis.overrides","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","overrides":[{"offset":113,"length":8,"superclassMember":{"element"
1546386060444 <= {"id":"1299","result":{"id":"151"}}
1546386060444 <= {"event":"analysis.errors","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","errors":[{"severity":"ERROR","type":"SYNTACTIC_ERROR","location":{"fi
1546386060484 <= {"event":"analysis.highlights","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","regions":[{"type":"DIRECTIVE","offset":0,"length":20},{"type":"BU
1546386060486 <= {"event":"analysis.navigation","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","regions":[{"offset":8,"length":11,"targets":[0]},{"offset":28,"le
1546386060486 <= {"event":"analysis.closingLabels","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","labels":[]}}
1546386060487 <= {"event":"analysis.outline","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","kind":"PART","libraryName":"<censored>_state","outline":{"element":{"kind
1546386060488 <= {"event":"analysis.overrides","params":{"file":"/Users/kika/Projects/<censored>/FlutterApp/<censored>/lib/state/actions.dart","overrides":[{"offset":113,"length":8,"superclassMember":{"element"
1546386060497 <= {"event":"server.error","params":{"isFatal":false,"message":"Failed to handle completion domain request: {id: 1295, method: completion.getSuggestions, params: {file: /Users/kika/Proje

@vsmenon vsmenon added the area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. label Jan 4, 2019
@stereotype441
Copy link
Member

Duplicate of #34208

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion.
Projects
None yet
Development

No branches or pull requests

4 participants