| Index: pkg/analyzer/test/src/context/mock_sdk.dart
|
| diff --git a/pkg/analyzer/test/src/context/mock_sdk.dart b/pkg/analyzer/test/src/context/mock_sdk.dart
|
| index d2523171dc2e33c50b311635d9ca42aece693de2..0c50736585b84c561b4a13deef8fccaee8b0ac9b 100644
|
| --- a/pkg/analyzer/test/src/context/mock_sdk.dart
|
| +++ b/pkg/analyzer/test/src/context/mock_sdk.dart
|
| @@ -4,6 +4,7 @@
|
|
|
| library analyzer.test.src.context.mock_sdk;
|
|
|
| +import 'package:analyzer/dart/element/element.dart' show LibraryElement;
|
| import 'package:analyzer/file_system/file_system.dart' as resource;
|
| import 'package:analyzer/file_system/memory_file_system.dart' as resource;
|
| import 'package:analyzer/src/context/cache.dart';
|
| @@ -11,6 +12,9 @@ import 'package:analyzer/src/context/context.dart';
|
| import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine;
|
| import 'package:analyzer/src/generated/sdk.dart';
|
| import 'package:analyzer/src/generated/source.dart';
|
| +import 'package:analyzer/src/summary/idl.dart' show PackageBundle;
|
| +import 'package:analyzer/src/summary/summarize_elements.dart'
|
| + show PackageBundleAssembler;
|
|
|
| const String librariesContent = r'''
|
| const Map<String, LibraryInfo> libraries = const {
|
| @@ -331,6 +335,11 @@ class MockSdk implements DartSdk {
|
| @override
|
| final List<SdkLibrary> sdkLibraries;
|
|
|
| + /**
|
| + * The cached linked bundle of the SDK.
|
| + */
|
| + PackageBundle _bundle;
|
| +
|
| MockSdk({bool dartAsync: true, resource.ResourceProvider resourceProvider})
|
| : provider = resourceProvider ?? new resource.MemoryResourceProvider(),
|
| sdkLibraries = dartAsync ? _LIBRARIES : [_LIB_CORE],
|
| @@ -396,6 +405,22 @@ class MockSdk implements DartSdk {
|
| }
|
|
|
| @override
|
| + PackageBundle getLinkedBundle() {
|
| + if (_bundle == null) {
|
| + PackageBundleAssembler assembler = new PackageBundleAssembler();
|
| + for (SdkLibrary sdkLibrary in sdkLibraries) {
|
| + String uriStr = sdkLibrary.shortName;
|
| + Source source = mapDartUri(uriStr);
|
| + LibraryElement libraryElement = context.computeLibraryElement(source);
|
| + assembler.serializeLibraryElement(libraryElement);
|
| + }
|
| + List<int> bytes = assembler.assemble().toBuffer();
|
| + _bundle = new PackageBundle.fromBuffer(bytes);
|
| + }
|
| + return _bundle;
|
| + }
|
| +
|
| + @override
|
| SdkLibrary getSdkLibrary(String dartUri) {
|
| // getSdkLibrary() is only used to determine whether a library is internal
|
| // to the SDK. The mock SDK doesn't have any internals, so it's safe to
|
|
|