Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Unified Diff: pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart

Issue 1491013002: Analysis request `getReachableSources` (#24893). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: spec_bump Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/doc/api.html ('k') | pkg/analysis_server/lib/plugin/protocol/protocol.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
diff --git a/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart b/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
index c837642dd2638ba31495923ab1e22aa6e4f98ebb..81ad8dcb692f53c3b3ea4028f2e20f65dda97261 100644
--- a/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
+++ b/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
@@ -938,6 +938,176 @@ class AnalysisGetHoverResult implements HasToJson {
return JenkinsSmiHash.finish(hash);
}
}
+
+/**
+ * analysis.getReachableSources params
+ *
+ * {
+ * "file": FilePath
+ * }
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+class AnalysisGetReachableSourcesParams implements HasToJson {
+ String _file;
+
+ /**
+ * The file for which reachable source information is being requested.
+ */
+ String get file => _file;
+
+ /**
+ * The file for which reachable source information is being requested.
+ */
+ void set file(String value) {
+ assert(value != null);
+ this._file = value;
+ }
+
+ AnalysisGetReachableSourcesParams(String file) {
+ this.file = file;
+ }
+
+ factory AnalysisGetReachableSourcesParams.fromJson(JsonDecoder jsonDecoder, String jsonPath, Object json) {
+ if (json == null) {
+ json = {};
+ }
+ if (json is Map) {
+ String file;
+ if (json.containsKey("file")) {
+ file = jsonDecoder.decodeString(jsonPath + ".file", json["file"]);
+ } else {
+ throw jsonDecoder.missingKey(jsonPath, "file");
+ }
+ return new AnalysisGetReachableSourcesParams(file);
+ } else {
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getReachableSources params", json);
+ }
+ }
+
+ factory AnalysisGetReachableSourcesParams.fromRequest(Request request) {
+ return new AnalysisGetReachableSourcesParams.fromJson(
+ new RequestDecoder(request), "params", request._params);
+ }
+
+ Map<String, dynamic> toJson() {
+ Map<String, dynamic> result = {};
+ result["file"] = file;
+ return result;
+ }
+
+ Request toRequest(String id) {
+ return new Request(id, "analysis.getReachableSources", toJson());
+ }
+
+ @override
+ String toString() => JSON.encode(toJson());
+
+ @override
+ bool operator==(other) {
+ if (other is AnalysisGetReachableSourcesParams) {
+ return file == other.file;
+ }
+ return false;
+ }
+
+ @override
+ int get hashCode {
+ int hash = 0;
+ hash = JenkinsSmiHash.combine(hash, file.hashCode);
+ return JenkinsSmiHash.finish(hash);
+ }
+}
+
+/**
+ * analysis.getReachableSources result
+ *
+ * {
+ * "sources": Map<String, List<String>>
+ * }
+ *
+ * Clients may not extend, implement or mix-in this class.
+ */
+class AnalysisGetReachableSourcesResult implements HasToJson {
+ Map<String, List<String>> _sources;
+
+ /**
+ * 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.
+ */
+ Map<String, List<String>> get sources => _sources;
+
+ /**
+ * 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.
+ */
+ void set sources(Map<String, List<String>> value) {
+ assert(value != null);
+ this._sources = value;
+ }
+
+ AnalysisGetReachableSourcesResult(Map<String, List<String>> sources) {
+ this.sources = sources;
+ }
+
+ factory AnalysisGetReachableSourcesResult.fromJson(JsonDecoder jsonDecoder, String jsonPath, Object json) {
+ if (json == null) {
+ json = {};
+ }
+ if (json is Map) {
+ Map<String, List<String>> sources;
+ if (json.containsKey("sources")) {
+ sources = jsonDecoder.decodeMap(jsonPath + ".sources", json["sources"], valueDecoder: (String jsonPath, Object json) => jsonDecoder.decodeList(jsonPath, json, jsonDecoder.decodeString));
+ } else {
+ throw jsonDecoder.missingKey(jsonPath, "sources");
+ }
+ return new AnalysisGetReachableSourcesResult(sources);
+ } else {
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getReachableSources result", json);
+ }
+ }
+
+ factory AnalysisGetReachableSourcesResult.fromResponse(Response response) {
+ return new AnalysisGetReachableSourcesResult.fromJson(
+ new ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), "result", response._result);
+ }
+
+ Map<String, dynamic> toJson() {
+ Map<String, dynamic> result = {};
+ result["sources"] = sources;
+ return result;
+ }
+
+ Response toResponse(String id) {
+ return new Response(id, result: toJson());
+ }
+
+ @override
+ String toString() => JSON.encode(toJson());
+
+ @override
+ bool operator==(other) {
+ if (other is AnalysisGetReachableSourcesResult) {
+ return mapEqual(sources, other.sources, (List<String> a, List<String> b) => listEqual(a, b, (String a, String b) => a == b));
+ }
+ return false;
+ }
+
+ @override
+ int get hashCode {
+ int hash = 0;
+ hash = JenkinsSmiHash.combine(hash, sources.hashCode);
+ return JenkinsSmiHash.finish(hash);
+ }
+}
/**
* analysis.getLibraryDependencies params
*
@@ -13920,6 +14090,7 @@ class RequestError implements HasToJson {
* FORMAT_WITH_ERRORS
* GET_ERRORS_INVALID_FILE
* GET_NAVIGATION_INVALID_FILE
+ * GET_REACHABLE_SOURCES_INVALID_FILE
* INVALID_ANALYSIS_ROOT
* INVALID_EXECUTION_CONTEXT
* INVALID_OVERLAY_CHANGE
@@ -13978,6 +14149,12 @@ class RequestErrorCode implements Enum {
static const GET_NAVIGATION_INVALID_FILE = const RequestErrorCode._("GET_NAVIGATION_INVALID_FILE");
/**
+ * An "analysis.getReachableSources" request specified a FilePath which does
+ * not match a file currently subject to analysis.
+ */
+ static const GET_REACHABLE_SOURCES_INVALID_FILE = const RequestErrorCode._("GET_REACHABLE_SOURCES_INVALID_FILE");
+
+ /**
* A path passed as an argument to a request (such as analysis.reanalyze) is
* required to be an analysis root, but isn't.
*/
@@ -14083,7 +14260,7 @@ class RequestErrorCode implements Enum {
/**
* A list containing all of the enum values that are defined.
*/
- static const List<RequestErrorCode> VALUES = const <RequestErrorCode>[CONTENT_MODIFIED, FILE_NOT_ANALYZED, FORMAT_INVALID_FILE, FORMAT_WITH_ERRORS, GET_ERRORS_INVALID_FILE, GET_NAVIGATION_INVALID_FILE, INVALID_ANALYSIS_ROOT, INVALID_EXECUTION_CONTEXT, INVALID_OVERLAY_CHANGE, INVALID_PARAMETER, INVALID_REQUEST, NO_INDEX_GENERATED, ORGANIZE_DIRECTIVES_ERROR, REFACTORING_REQUEST_CANCELLED, SERVER_ALREADY_STARTED, SERVER_ERROR, SORT_MEMBERS_INVALID_FILE, SORT_MEMBERS_PARSE_ERRORS, UNANALYZED_PRIORITY_FILES, UNKNOWN_REQUEST, UNKNOWN_SOURCE, UNSUPPORTED_FEATURE];
+ static const List<RequestErrorCode> VALUES = const <RequestErrorCode>[CONTENT_MODIFIED, FILE_NOT_ANALYZED, FORMAT_INVALID_FILE, FORMAT_WITH_ERRORS, GET_ERRORS_INVALID_FILE, GET_NAVIGATION_INVALID_FILE, GET_REACHABLE_SOURCES_INVALID_FILE, INVALID_ANALYSIS_ROOT, INVALID_EXECUTION_CONTEXT, INVALID_OVERLAY_CHANGE, INVALID_PARAMETER, INVALID_REQUEST, NO_INDEX_GENERATED, ORGANIZE_DIRECTIVES_ERROR, REFACTORING_REQUEST_CANCELLED, SERVER_ALREADY_STARTED, SERVER_ERROR, SORT_MEMBERS_INVALID_FILE, SORT_MEMBERS_PARSE_ERRORS, UNANALYZED_PRIORITY_FILES, UNKNOWN_REQUEST, UNKNOWN_SOURCE, UNSUPPORTED_FEATURE];
final String name;
@@ -14103,6 +14280,8 @@ class RequestErrorCode implements Enum {
return GET_ERRORS_INVALID_FILE;
case "GET_NAVIGATION_INVALID_FILE":
return GET_NAVIGATION_INVALID_FILE;
+ case "GET_REACHABLE_SOURCES_INVALID_FILE":
+ return GET_REACHABLE_SOURCES_INVALID_FILE;
case "INVALID_ANALYSIS_ROOT":
return INVALID_ANALYSIS_ROOT;
case "INVALID_EXECUTION_CONTEXT":
« no previous file with comments | « pkg/analysis_server/doc/api.html ('k') | pkg/analysis_server/lib/plugin/protocol/protocol.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698