Index: pkg/analyzer/lib/src/dart/analysis/ast_provider_driver.dart |
diff --git a/pkg/analyzer/lib/src/dart/analysis/ast_provider_driver.dart b/pkg/analyzer/lib/src/dart/analysis/ast_provider_driver.dart |
index ef2aa51bd26dc710cce139e9fb0bcf23a7173130..8cd0efac7377fb3a1372908396699b93d05cd7e8 100644 |
--- a/pkg/analyzer/lib/src/dart/analysis/ast_provider_driver.dart |
+++ b/pkg/analyzer/lib/src/dart/analysis/ast_provider_driver.dart |
@@ -10,7 +10,14 @@ import 'package:analyzer/src/dart/analysis/driver.dart'; |
import 'package:analyzer/src/dart/ast/utilities.dart'; |
import 'package:analyzer/src/dart/element/ast_provider.dart'; |
-abstract class AbstractAstProvider implements AstProvider { |
+/** |
+ * [AstProvider] implementation for [AnalysisDriver]. |
+ */ |
+class AstProviderForDriver implements AstProvider { |
scheglov
2017/07/01 16:14:15
I think we might as well just make AstProviderForD
Brian Wilkerson
2017/07/02 04:45:09
I thought about that, but I'm not sure that we won
|
+ final AnalysisDriver driver; |
+ |
+ AstProviderForDriver(this.driver); |
+ |
@override |
Future<SimpleIdentifier> getParsedNameForElement(Element element) async { |
CompilationUnit unit = await getParsedUnitForElement(element); |
@@ -18,11 +25,25 @@ abstract class AbstractAstProvider implements AstProvider { |
} |
@override |
+ Future<CompilationUnit> getParsedUnitForElement(Element element) async { |
+ String path = element.source.fullName; |
+ ParseResult parseResult = await driver.parseFile(path); |
+ return parseResult.unit; |
+ } |
+ |
+ @override |
Future<SimpleIdentifier> getResolvedNameForElement(Element element) async { |
CompilationUnit unit = await getResolvedUnitForElement(element); |
return _getNameNode(unit, element); |
} |
+ @override |
+ Future<CompilationUnit> getResolvedUnitForElement(Element element) async { |
+ String path = element.source.fullName; |
+ AnalysisResult analysisResult = await driver.getResult(path); |
+ return analysisResult?.unit; |
+ } |
+ |
SimpleIdentifier _getNameNode(CompilationUnit unit, Element element) { |
int nameOffset = element.nameOffset; |
if (nameOffset == -1) { |
@@ -35,26 +56,3 @@ abstract class AbstractAstProvider implements AstProvider { |
return null; |
} |
} |
- |
-/** |
- * [AstProvider] implementation for [AnalysisDriver]. |
- */ |
-class AstProviderForDriver extends AbstractAstProvider { |
- final AnalysisDriver driver; |
- |
- AstProviderForDriver(this.driver); |
- |
- @override |
- Future<CompilationUnit> getParsedUnitForElement(Element element) async { |
- String path = element.source.fullName; |
- ParseResult parseResult = await driver.parseFile(path); |
- return parseResult.unit; |
- } |
- |
- @override |
- Future<CompilationUnit> getResolvedUnitForElement(Element element) async { |
- String path = element.source.fullName; |
- AnalysisResult analysisResult = await driver.getResult(path); |
- return analysisResult?.unit; |
- } |
-} |