Index: pkg/analyzer/lib/src/summary/summary_sdk.dart |
diff --git a/pkg/analyzer/lib/src/summary/summary_sdk.dart b/pkg/analyzer/lib/src/summary/summary_sdk.dart |
index ac6d4b3e0e3370c7ca75204fdb27e94641479244..b178fdcf081225890781a03e9d1281d0cfd2d21b 100644 |
--- a/pkg/analyzer/lib/src/summary/summary_sdk.dart |
+++ b/pkg/analyzer/lib/src/summary/summary_sdk.dart |
@@ -7,7 +7,6 @@ library analyzer.src.summary.summary_sdk; |
import 'package:analyzer/dart/element/element.dart'; |
import 'package:analyzer/dart/element/type.dart'; |
import 'package:analyzer/file_system/file_system.dart' show ResourceProvider; |
-import 'package:analyzer/src/context/cache.dart' show CacheEntry; |
import 'package:analyzer/src/context/context.dart'; |
import 'package:analyzer/src/dart/element/type.dart'; |
import 'package:analyzer/src/generated/constant.dart'; |
@@ -18,84 +17,6 @@ import 'package:analyzer/src/generated/source.dart' |
show DartUriResolver, Source, SourceFactory; |
import 'package:analyzer/src/summary/idl.dart'; |
import 'package:analyzer/src/summary/package_bundle_reader.dart'; |
-import 'package:analyzer/src/summary/resynthesize.dart'; |
-import 'package:analyzer/src/task/dart.dart'; |
-import 'package:analyzer/task/model.dart' show ResultDescriptor, TargetedResult; |
- |
-class SdkSummaryResultProvider extends ResynthesizerResultProvider { |
- final SummaryTypeProvider typeProvider = new SummaryTypeProvider(); |
- |
- SdkSummaryResultProvider( |
- InternalAnalysisContext context, PackageBundle bundle, bool strongMode) |
- : super(context, new SummaryDataStore(const <String>[])) { |
- addBundle(null, bundle); |
- createResynthesizer(null, typeProvider); |
- _buildCoreLibrary(); |
- _buildAsyncLibrary(); |
- resynthesizer.finalizeCoreAsyncLibraries(); |
- context.typeProvider = typeProvider; |
- } |
- |
- @override |
- bool compute(CacheEntry entry, ResultDescriptor result) { |
- if (result == TYPE_PROVIDER) { |
- entry.setValue(result as ResultDescriptor<TypeProvider>, typeProvider, |
- TargetedResult.EMPTY_LIST); |
- return true; |
- } |
- return super.compute(entry, result); |
- } |
- |
- @override |
- bool hasResultsForSource(Source source) { |
- return source != null && source.isInSystemLibrary; |
- } |
- |
- void _buildAsyncLibrary() { |
- LibraryElement library = resynthesizer.getLibraryElement('dart:async'); |
- typeProvider.initializeAsync(library); |
- } |
- |
- void _buildCoreLibrary() { |
- LibraryElement library = resynthesizer.getLibraryElement('dart:core'); |
- typeProvider.initializeCore(library); |
- } |
-} |
- |
-/** |
- * The implementation of [SummaryResynthesizer] for Dart SDK. |
- */ |
-class SdkSummaryResynthesizer extends SummaryResynthesizer { |
- final PackageBundle bundle; |
- final Map<String, UnlinkedUnit> unlinkedSummaries = <String, UnlinkedUnit>{}; |
- final Map<String, LinkedLibrary> linkedSummaries = <String, LinkedLibrary>{}; |
- |
- SdkSummaryResynthesizer(AnalysisContext context, TypeProvider typeProvider, |
- SourceFactory sourceFactory, this.bundle, bool strongMode) |
- : super(null, context, typeProvider, sourceFactory, strongMode) { |
- for (int i = 0; i < bundle.unlinkedUnitUris.length; i++) { |
- unlinkedSummaries[bundle.unlinkedUnitUris[i]] = bundle.unlinkedUnits[i]; |
- } |
- for (int i = 0; i < bundle.linkedLibraryUris.length; i++) { |
- linkedSummaries[bundle.linkedLibraryUris[i]] = bundle.linkedLibraries[i]; |
- } |
- } |
- |
- @override |
- LinkedLibrary getLinkedSummary(String uri) { |
- return linkedSummaries[uri]; |
- } |
- |
- @override |
- UnlinkedUnit getUnlinkedSummary(String uri) { |
- return unlinkedSummaries[uri]; |
- } |
- |
- @override |
- bool hasLibrarySummary(String uri) { |
- return uri.startsWith('dart:'); |
- } |
-} |
/** |
* An implementation of [DartSdk] which provides analysis results for `dart:` |
@@ -143,8 +64,10 @@ class SummaryBasedDartSdk implements DartSdk { |
SourceFactory factory = new SourceFactory( |
[new DartUriResolver(this)], null, resourceProvider); |
_analysisContext.sourceFactory = factory; |
+ SummaryDataStore dataStore = new SummaryDataStore([]); |
+ dataStore.addBundle(null, _bundle); |
_analysisContext.resultProvider = |
- new SdkSummaryResultProvider(_analysisContext, _bundle, strongMode); |
+ new InputPackagesResultProvider(_analysisContext, dataStore); |
} |
return _analysisContext; |
} |