Index: pkg/analyzer2dart/test/mock_sdk.dart |
diff --git a/pkg/analyzer2dart/test/mock_sdk.dart b/pkg/analyzer2dart/test/mock_sdk.dart |
index 56c7b7361575f6d123b90ffb280068d45869b3f4..fd66b7bd0573b694780e843e8369916480e16b39 100644 |
--- a/pkg/analyzer2dart/test/mock_sdk.dart |
+++ b/pkg/analyzer2dart/test/mock_sdk.dart |
@@ -107,6 +107,11 @@ class HtmlElement {} |
final resource.MemoryResourceProvider provider = |
new resource.MemoryResourceProvider(); |
+ /** |
+ * The [AnalysisContext] which is used for all of the sources. |
+ */ |
+ InternalAnalysisContext _analysisContext; |
+ |
MockSdk() { |
LIBRARIES.forEach((_MockSdkLibrary library) { |
provider.newFile(library.path, library.content); |
@@ -114,7 +119,20 @@ class HtmlElement {} |
} |
@override |
- AnalysisContext get context => throw unimplemented; |
+ AnalysisContext get context { |
+ if (_analysisContext == null) { |
+ _analysisContext = new SdkAnalysisContext(); |
+ SourceFactory factory = new SourceFactory([new DartUriResolver(this)]); |
+ _analysisContext.sourceFactory = factory; |
+ ChangeSet changeSet = new ChangeSet(); |
+ for (String uri in uris) { |
+ Source source = factory.forUri(uri); |
+ changeSet.addedSource(source); |
+ } |
+ _analysisContext.applyChanges(changeSet); |
+ } |
+ return _analysisContext; |
+ } |
@override |
List<SdkLibrary> get sdkLibraries => LIBRARIES; |
@@ -125,7 +143,13 @@ class HtmlElement {} |
UnimplementedError get unimplemented => new UnimplementedError(); |
@override |
- List<String> get uris => throw unimplemented; |
+ List<String> get uris { |
+ List<String> uris = <String>[]; |
+ for (SdkLibrary library in LIBRARIES) { |
+ uris.add('dart:' + library.shortName); |
+ } |
+ return uris; |
+ } |
@override |
Source fromFileUri(Uri uri) { |