Chromium Code Reviews| Index: pkg/analyzer/lib/src/dart/sdk/sdk.dart |
| diff --git a/pkg/analyzer/lib/src/dart/sdk/sdk.dart b/pkg/analyzer/lib/src/dart/sdk/sdk.dart |
| index 1163413d4d13f662ea9dff7cb9d317693b480b01..d66526e32e19f856ee50275338683d8be2d89b27 100644 |
| --- a/pkg/analyzer/lib/src/dart/sdk/sdk.dart |
| +++ b/pkg/analyzer/lib/src/dart/sdk/sdk.dart |
| @@ -273,15 +273,14 @@ class EmbedderSdk extends AbstractDartSdk { |
| static const String _EMBEDDED_LIB_MAP_KEY = 'embedded_libs'; |
| final Map<String, String> _urlMappings = new HashMap<String, String>(); |
| - PackageBundle _embedderBundle; |
| + Folder _embedderYamlLibFolder; |
| EmbedderSdk( |
| ResourceProvider resourceProvider, Map<Folder, YamlMap> embedderYamls) { |
| this.resourceProvider = resourceProvider; |
| embedderYamls?.forEach(_processEmbedderYaml); |
| if (embedderYamls?.length == 1) { |
| - Folder libFolder = embedderYamls.keys.first; |
| - _loadEmbedderBundle(libFolder); |
| + _embedderYamlLibFolder = embedderYamls.keys.first; |
| } |
| } |
| @@ -299,8 +298,17 @@ class EmbedderSdk extends AbstractDartSdk { |
| @override |
| PackageBundle getSummarySdkBundle(bool strongMode) { |
| - if (strongMode) { |
| - return _embedderBundle; |
| + String name = strongMode ? 'strong.sum' : 'spec.sum'; |
| + File file = _embedderYamlLibFolder.parent.getChildAssumingFile(name); |
| + try { |
| + if (file.exists) { |
| + List<int> bytes = file.readAsBytesSync(); |
| + return new PackageBundle.fromBuffer(bytes); |
| + } |
| + } catch (exception, stackTrace) { |
| + AnalysisEngine.instance.logger.logError( |
| + 'Failed to load SDK analysis summary from $file', |
|
devoncarew
2017/01/13 18:26:21
awesome!
|
| + new CaughtException(exception, stackTrace)); |
| } |
| return null; |
| } |
| @@ -345,16 +353,6 @@ class EmbedderSdk extends AbstractDartSdk { |
| } |
| } |
| - void _loadEmbedderBundle(Folder libFolder) { |
| - File bundleFile = libFolder.parent.getChildAssumingFile('sdk.ds'); |
| - if (bundleFile.exists) { |
| - try { |
| - List<int> bytes = bundleFile.readAsBytesSync(); |
| - _embedderBundle = new PackageBundle.fromBuffer(bytes); |
| - } on FileSystemException {} |
| - } |
| - } |
| - |
| /** |
| * Install the mapping from [name] to [libDir]/[file]. |
| */ |