You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Without having looked into it it seems suspect that it takes a key from outlineListeners (final String path : outlineListeners.keySet()) and then does something to it before trying to remove it again (final String filePathOrUri = getAnalysisServer().getAnalysisService().getLocalFileUri(path);, final FlutterOutlineListener listener = outlineListeners.remove(filePathOrUri);), but I'm guessing.
The text was updated successfully, but these errors were encountered:
In IntelliJ, opening a project with
flutter
in theenvironment
inpubspec.yaml
, e.g. something likeopening a file sends a
flutter.setSubscriptions
request looking something like this:Say we close the file and open another, it now sends something like this:
closing that and opening a third, closing that and opening a forth etc a bunch of times and you'll end up with something like
at which point the analyzer will start to become slow:
Notice that if I open a file I've already opened once it doesn't send the request, I believe because of this:
flutter-intellij/flutter-idea/src/io/flutter/dart/FlutterDartAnalysisServer.java
Lines 140 to 150 in 38e78f0
(i.e.
sendSubscriptions
is only called i it actually adds the path)I'm guessing something goes wrong in these lines:
flutter-intellij/flutter-idea/src/io/flutter/editor/ActiveEditorsOutlineService.java
Lines 125 to 152 in 38e78f0
Without having looked into it it seems suspect that it takes a key from
outlineListeners
(final String path : outlineListeners.keySet()
) and then does something to it before trying to remove it again (final String filePathOrUri = getAnalysisServer().getAnalysisService().getLocalFileUri(path);
,final FlutterOutlineListener listener = outlineListeners.remove(filePathOrUri);
), but I'm guessing.The text was updated successfully, but these errors were encountered: