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

Unified Diff: pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart

Issue 2969833002: Convert DartChangeBuilder to use AnalysisSession (Closed)
Patch Set: Created 3 years, 6 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/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
diff --git a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
index 2579f32f95032e7996fe7d821d2c0913a7de7db3..73231707472aff3c14dc21a5f895345f9cab87d5 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
@@ -4,11 +4,13 @@
import 'dart:async';
+import 'package:analyzer/dart/analysis/results.dart';
+import 'package:analyzer/dart/analysis/session.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
-import 'package:analyzer/src/dart/analysis/driver.dart';
+import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/resolver.dart';
@@ -32,12 +34,12 @@ class DartChangeBuilderImpl extends ChangeBuilderImpl
/**
* The analysis driver in which the files being edited were analyzed.
scheglov 2017/07/02 16:59:44 driver -> session?
Brian Wilkerson 2017/07/03 15:41:22 Done
*/
- final AnalysisDriver driver;
+ final AnalysisSession session;
/**
* Initialize a newly created change builder.
*/
- DartChangeBuilderImpl(this.driver);
+ DartChangeBuilderImpl(this.session);
@override
Future<Null> addFileEdit(
@@ -46,8 +48,12 @@ class DartChangeBuilderImpl extends ChangeBuilderImpl
@override
Future<DartFileEditBuilderImpl> createFileEditBuilder(String path) async {
- AnalysisResult result = await driver.getResult(path);
- int timeStamp = driver.fsState.getFileForPath(path).exists ? 0 : -1;
+ ResolveResult result = await session.getResolvedAst(path);
+ ResultState state = result.state;
+ if (state == ResultState.INVALID_FILE_TYPE) {
+ throw new AnalysisException('Cannot analyze "$path"');
+ }
+ int timeStamp = state == ResultState.VALID ? 0 : -1;
return new DartFileEditBuilderImpl(this, path, timeStamp, result.unit);
}
}

Powered by Google App Engine
This is Rietveld 408576698