Index: pkg/analysis_server/test/mock_sdk.dart |
diff --git a/pkg/analysis_server/test/mock_sdk.dart b/pkg/analysis_server/test/mock_sdk.dart |
index fa520dfb8765683a3631dc395bd0027cf925868e..07d8cf0960e986245f4d47a63d3e826a87732e77 100644 |
--- a/pkg/analysis_server/test/mock_sdk.dart |
+++ b/pkg/analysis_server/test/mock_sdk.dart |
@@ -110,6 +110,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); |
@@ -117,7 +122,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; |
@@ -128,7 +146,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(library.shortName); |
+ } |
+ return uris; |
+ } |
@override |
Source fromFileUri(Uri uri) { |