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); |
} |
} |