Commit Graph

6 Commits

Author SHA1 Message Date
Sam Rawlins 207a47145f Fix overlays in completion_metrics.dart
Overlays were not being removed fully, which lead to crashes as we tried to
change the file contents with an invalid index.

Change-Id: I2c60a101b3a60e90100fbaf1970a3cada0296e41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269180
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-11-11 00:20:29 +00:00
Konstantin Shcheglov 33295f8247 Add more await or unawaited() to DAS.
Change-Id: I45b2b988141c235b6fbe50e69fa018627e20e004
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251146
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-07-12 00:59:01 +00:00
Konstantin Shcheglov e5da1f97b9 Remove DocumentationCache, we cache documentation and more in _ElementCompletionData.
Change-Id: I36e0f9cfaf648349f789658bcf80a7aab294c7ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-06-30 14:52:06 +00:00
Sam Rawlins f397ecb588 Satisfy library_private_types_in_public_api in analyzer
This involves changes of a few flavors:

* Make classes private which were unnecessarily public.
* Make class elements private which were unnecessarily public.
* Comment in places where a "public" API contains a private type,
  but this is because of the signature of a super-member. I think
  these are generally quite safe.

Change-Id: Ied1864202cc256205a3b421ddec5513f0a22a608
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/243647
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-05-22 01:45:33 +00:00
Sam Rawlins 84ca405b35 Support overlays in completion_metrics_client.dart
Change-Id: Idedb38193ed80be0fa10e8e6be3fa04f8f30b100
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/243649
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2022-05-04 20:58:54 +00:00
Sam Rawlins 9d456bf516 Basic client completion test
This involves a large refactoring of completion_metrics.dart, extracting
out some common code into completion_metrics_base.dart

The code in completion_metrics.dart and completion_metrics_base.dart is
largely unchanged, but restructured to fit the sub-class structure.

* Rename CompletionMetricsComputer -> CompletionQualityMetricsComputer,
  as this is focused on quality metrics.
* Extract out applyOverlay and removeOverlay methods.
* Extract out computeSuggestionsAndMetrics, code which is run per
  ExpectedCompletion.
* Extract out setupForResolution, for code custom to the quality
  computer.

The meat of this change though is in completion_metrics_client.dart:

* _AnalysisServerClient is code which was extracted from
  package:dartdev/src/analysis_server.dart. It may seem like an odd
  choice when we have package:analysis_server_client, but I think
  dartdev's client is fairly mature in creating a short-lived client,
  and handling crashes, etc. If this should be re-combined with dartdev,
  I think there are open questions about where that should live, and I'd
  like to address that in a follow-up.
* The client does not perform overlays yet.
* The client does not track slowest requests yet.
* The client does not have support for performance metrics which DAS
  tracks itself. Adding this is high priority.

Change-Id: Ib259f78e4646d10b61559bfd5700d98a95d14d43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/243522
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-05-04 01:05:05 +00:00