Index: pkg/analysis_server/test/integration/integration_test_methods.dart |
diff --git a/pkg/analysis_server/test/integration/integration_test_methods.dart b/pkg/analysis_server/test/integration/integration_test_methods.dart |
index 24933ef92f1fe5d4c8023c45f9be33690aadf553..410654bd25e929188912f90bf3a5efa1eee50a28 100644 |
--- a/pkg/analysis_server/test/integration/integration_test_methods.dart |
+++ b/pkg/analysis_server/test/integration/integration_test_methods.dart |
@@ -238,6 +238,36 @@ abstract class IntegrationTestMixin { |
} |
/** |
+ * Return the transitive closure of reachable sources for a given file. |
+ * |
+ * Parameters |
+ * |
+ * file ( FilePath ) |
+ * |
+ * The file for which reachable source information is being requested. |
+ * |
+ * Returns |
+ * |
+ * sources ( Map<String, List<String>> ) |
+ * |
+ * A mapping from source URIs to directly reachable source URIs. For |
+ * example, a file "foo.dart" that imports "bar.dart" would have the |
+ * corresponding mapping { "file:///foo.dart" : ["file:///bar.dart"] }. If |
+ * "bar.dart" has further imports (or exports) there will be a mapping from |
+ * the URI "file:///bar.dart" to them. To check if a specific URI is |
+ * reachable from a given file, clients can check for its presence in the |
+ * resulting key set. |
+ */ |
+ Future<AnalysisGetReachableSourcesResult> sendAnalysisGetReachableSources(String file) { |
+ var params = new AnalysisGetReachableSourcesParams(file).toJson(); |
+ return server.send("analysis.getReachableSources", params) |
+ .then((result) { |
+ ResponseDecoder decoder = new ResponseDecoder(null); |
+ return new AnalysisGetReachableSourcesResult.fromJson(decoder, 'result', result); |
+ }); |
+ } |
+ |
+ /** |
* Return library dependency information for use in client-side indexing and |
* package URI resolution. |
* |