Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Unified Diff: pkg/analysis_server/lib/src/domain_diagnostic.dart

Issue 2625493002: Issue 28068. Implement diagnostics domain for the new analysis driver. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/lib/src/domain_diagnostic.dart
diff --git a/pkg/analysis_server/lib/src/domain_diagnostic.dart b/pkg/analysis_server/lib/src/domain_diagnostic.dart
index 1f2609c1415bd17ecdf70d868934ded11a0036e4..d91aacf886083dab04a6962b2898a0b34d57a185 100644
--- a/pkg/analysis_server/lib/src/domain_diagnostic.dart
+++ b/pkg/analysis_server/lib/src/domain_diagnostic.dart
@@ -11,6 +11,7 @@ import 'package:analysis_server/plugin/protocol/protocol.dart';
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/context/context.dart';
+import 'package:analyzer/src/dart/analysis/driver.dart' as nd;
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';
@@ -38,15 +39,19 @@ class DiagnosticDomainHandler implements RequestHandler {
/// Answer the `diagnostic.diagnostics` request.
Response computeDiagnostics(Request request) {
- List<ContextData> infos = <ContextData>[];
- for (AnalysisContext context in server.analysisContexts) {
- infos.add(extractData(context));
+ List<ContextData> contexts = <ContextData>[];
+ if (server.options.enableNewAnalysisDriver) {
+ contexts = server.driverMap.values.map(extractDataFromDriver).toList();
+ } else {
+ for (AnalysisContext context in server.analysisContexts) {
+ contexts.add(extractDataFromContext(context));
+ }
}
- return new DiagnosticGetDiagnosticsResult(infos).toResponse(request.id);
+ return new DiagnosticGetDiagnosticsResult(contexts).toResponse(request.id);
}
/// Extract context data from the given [context].
- ContextData extractData(AnalysisContext context) {
+ ContextData extractDataFromContext(AnalysisContext context) {
int explicitFiles = 0;
int implicitFiles = 0;
int workItems = 0;
@@ -84,6 +89,14 @@ class DiagnosticDomainHandler implements RequestHandler {
workItems, exceptions.toList());
}
+ /// Extract context data from the given [driver].
+ ContextData extractDataFromDriver(nd.AnalysisDriver driver) {
+ int explicitFileCount = driver.addedFiles.length;
+ int knownFileCount = driver.knownFiles.length;
+ return new ContextData(driver.name, explicitFileCount,
+ knownFileCount - explicitFileCount, driver.numberOfFilesToAnalyze, []);
+ }
+
@override
Response handleRequest(Request request) {
try {
« no previous file with comments | « pkg/analysis_server/lib/src/analysis_server.dart ('k') | pkg/analysis_server/test/domain_diagnostic_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698