Chromium Code Reviews| Index: pkg/analyzer/test/src/context/mock_sdk.dart |
| diff --git a/pkg/analyzer/test/src/mock_sdk.dart b/pkg/analyzer/test/src/context/mock_sdk.dart |
| similarity index 89% |
| copy from pkg/analyzer/test/src/mock_sdk.dart |
| copy to pkg/analyzer/test/src/context/mock_sdk.dart |
| index 7cadfcc5b7db566df235908c22cd80f1a5a8a634..c55ef75d497a0925466cc39e84c68f7257045cb1 100644 |
| --- a/pkg/analyzer/test/src/mock_sdk.dart |
| +++ b/pkg/analyzer/test/src/context/mock_sdk.dart |
| @@ -6,9 +6,13 @@ library test.src.mock_sdk; |
| 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/generated/engine.dart'; |
| +import 'package:analyzer/src/context/cache.dart'; |
| +import 'package:analyzer/src/context/context.dart'; |
| +import 'package:analyzer/src/generated/engine.dart' |
| + show AnalysisEngine, ChangeSet; |
| import 'package:analyzer/src/generated/sdk.dart'; |
| import 'package:analyzer/src/generated/source.dart'; |
| +//import 'package:analyzer/src/generated/engine.dart'; |
|
Brian Wilkerson
2015/05/03 15:35:33
Did you intend to remove this line?
scheglov
2015/05/03 20:26:28
Acknowledged.
|
| class MockSdk implements DartSdk { |
| static const _MockSdkLibrary LIB_CORE = const _MockSdkLibrary('dart:core', |
| @@ -175,9 +179,9 @@ class HtmlElement {} |
| new resource.MemoryResourceProvider(); |
| /** |
| - * The [AnalysisContext] which is used for all of the sources. |
| + * The [AnalysisContextImpl] which is used for all of the sources. |
| */ |
| - InternalAnalysisContext _analysisContext; |
| + AnalysisContextImpl _analysisContext; |
| MockSdk() { |
| LIBRARIES.forEach((_MockSdkLibrary library) { |
| @@ -186,9 +190,9 @@ class HtmlElement {} |
| } |
| @override |
| - AnalysisContext get context { |
| + AnalysisContextImpl get context { |
| if (_analysisContext == null) { |
| - _analysisContext = new SdkAnalysisContext(); |
| + _analysisContext = new _SdkAnalysisContext(this); |
| SourceFactory factory = new SourceFactory([new DartUriResolver(this)]); |
| _analysisContext.sourceFactory = factory; |
| ChangeSet changeSet = new ChangeSet(); |
| @@ -313,3 +317,22 @@ class _MockSdkLibrary implements SdkLibrary { |
| UnimplementedError get unimplemented => new UnimplementedError(); |
| } |
| + |
| +/** |
| + * An [AnalysisContextImpl] that only contains sources for a Dart SDK. |
| + */ |
| +class _SdkAnalysisContext extends AnalysisContextImpl { |
| + final DartSdk sdk; |
| + |
| + _SdkAnalysisContext(this.sdk); |
| + |
| + @override |
| + AnalysisCache createCacheFromSourceFactory(SourceFactory factory) { |
| + if (factory == null) { |
| + return super.createCacheFromSourceFactory(factory); |
| + } |
| + return new AnalysisCache(<CachePartition>[ |
| + AnalysisEngine.instance.partitionManager_new.forSdk(sdk) |
| + ]); |
| + } |
| +} |