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

Side by Side Diff: pkg/analysis_server/tool/spec/generated/java/AnalysisServer.java

Issue 1132673003: Create a new home for Java code generated by analysis server. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 7 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2014, the Dart project authors.
3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at
6 *
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
11 * or implied. See the License for the specific language governing permissions a nd limitations under
12 * the License.
13 *
14 * This file has been automatically generated. Please do not edit it manually.
15 * To regenerate the file, use the script "pkg/analysis_server/tool/spec/generat e_files".
16 */
17 package com.google.dart.server.generated;
18
19 import com.google.dart.server.*;
20 import com.google.dart.server.generated.types.*;
21
22 import java.util.List;
23 import java.util.Map;
24
25 /**
26 * The interface {@code AnalysisServer} defines the behavior of objects that int erface to an
27 * analysis server.
28 *
29 * @coverage dart.server
30 */
31 public interface AnalysisServer {
32
33 /**
34 * Add the given listener to the list of listeners that will receive notificat ion when new
35 * analysis results become available.
36 *
37 * @param listener the listener to be added
38 */
39 public void addAnalysisServerListener(AnalysisServerListener listener);
40
41 /**
42 * Add the given listener to the list of listeners that will receive notificat ion when the server
43 * is not active
44 *
45 * @param listener the listener to be added
46 */
47 public void addStatusListener(AnalysisServerStatusListener listener);
48
49 /**
50 * {@code analysis.getErrors}
51 *
52 * Return the errors associated with the given file. If the errors for the giv en file have not yet
53 * been computed, or the most recently computed errors for the given file are out of date, then the
54 * response for this request will be delayed until they have been computed. If some or all of the
55 * errors for the file cannot be computed, then the subset of the errors that can be computed will
56 * be returned and the response will contain an error to indicate why the erro rs could not be
57 * computed. If the content of the file changes after this request was receive d but before a
58 * response could be sent, then an error of type CONTENT_MODIFIED will be gene rated.
59 *
60 * This request is intended to be used by clients that cannot asynchronously a pply updated error
61 * information. Clients that can apply error information as it becomes availab le should use the
62 * information provided by the 'analysis.errors' notification.
63 *
64 * If a request is made for a file which does not exist, or which is not curre ntly subject to
65 * analysis (e.g. because it is not associated with any analysis root specifie d to
66 * analysis.setAnalysisRoots), an error of type GET_ERRORS_INVALID_FILE will b e generated.
67 *
68 * @param file The file for which errors are being requested.
69 */
70 public void analysis_getErrors(String file, GetErrorsConsumer consumer);
71
72 /**
73 * {@code analysis.getHover}
74 *
75 * Return the hover information associate with the given location. If some or all of the hover
76 * information is not available at the time this request is processed the info rmation will be
77 * omitted from the response.
78 *
79 * @param file The file in which hover information is being requested.
80 * @param offset The offset for which hover information is being requested.
81 */
82 public void analysis_getHover(String file, int offset, GetHoverConsumer consum er);
83
84 /**
85 * {@code analysis.getLibraryDependencies}
86 *
87 * Return library dependency information for use in client-side indexing and p ackage URI
88 * resolution.
89 */
90 public void analysis_getLibraryDependencies(GetLibraryDependenciesConsumer con sumer);
91
92 /**
93 * {@code analysis.getNavigation}
94 *
95 * Return the navigation information associated with the given region of the g iven file. If the
96 * navigation information for the given file has not yet been computed, or the most recently
97 * computed navigation information for the given file is out of date, then the response for this
98 * request will be delayed until it has been computed. If the content of the f ile changes after
99 * this request was received but before a response could be sent, then an erro r of type
100 * CONTENT_MODIFIED will be generated.
101 *
102 * If a navigation region overlaps (but extends either before or after) the gi ven region of the
103 * file it will be included in the result. This means that it is theoretically possible to get the
104 * same navigation region in response to multiple requests. Clients can avoid this by always
105 * choosing a region that starts at the beginning of a line and ends at the en d of a (possibly
106 * different) line in the file.
107 *
108 * @param file The file in which navigation information is being requested.
109 * @param offset The offset of the region for which navigation information is being requested.
110 * @param length The length of the region for which navigation information is being requested.
111 */
112 public void analysis_getNavigation(String file, int offset, int length, GetNav igationConsumer consumer);
113
114 /**
115 * {@code analysis.reanalyze}
116 *
117 * Force the re-analysis of everything contained in the specified analysis roo ts. This will cause
118 * all previously computed analysis results to be discarded and recomputed, an d will cause all
119 * subscribed notifications to be re-sent.
120 *
121 * If no analysis roots are provided, then all current analysis roots will be re-analyzed. If an
122 * empty list of analysis roots is provided, then nothing will be re-analyzed. If the list contains
123 * one or more paths that are not currently analysis roots, then an error of t ype
124 * INVALID_ANALYSIS_ROOT will be generated.
125 *
126 * @param roots A list of the analysis roots that are to be re-analyzed.
127 */
128 public void analysis_reanalyze(List<String> roots);
129
130 /**
131 * {@code analysis.setAnalysisRoots}
132 *
133 * Sets the root paths used to determine which files to analyze. The set of fi les to be analyzed
134 * are all of the files in one of the root paths that are not either explicitl y or implicitly
135 * excluded. A file is explicitly excluded if it is in one of the excluded pat hs. A file is
136 * implicitly excluded if it is in a subdirectory of one of the root paths whe re the name of the
137 * subdirectory starts with a period (that is, a hidden directory).
138 *
139 * Note that this request determines the set of requested analysis roots. The actual set of
140 * analysis roots at any given time is the intersection of this set with the s et of files and
141 * directories actually present on the filesystem. When the filesystem changes , the actual set of
142 * analysis roots is automatically updated, but the set of requested analysis roots is unchanged.
143 * This means that if the client sets an analysis root before the root becomes visible to server in
144 * the filesystem, there is no error; once the server sees the root in the fil esystem it will start
145 * analyzing it. Similarly, server will stop analyzing files that are removed from the file system
146 * but they will remain in the set of requested roots.
147 *
148 * If an included path represents a file, then server will look in the directo ry containing the
149 * file for a pubspec.yaml file. If none is found, then the parents of the dir ectory will be
150 * searched until such a file is found or the root of the file system is reach ed. If such a file is
151 * found, it will be used to resolve package: URI’s within the file.
152 *
153 * @param included A list of the files and directories that should be analyzed .
154 * @param excluded A list of the files and directories within the included dir ectories that should
155 * not be analyzed.
156 * @param packageRoots A mapping from source directories to target directories that should override
157 * the normal package: URI resolution mechanism. The analyzer will beh ave as though each
158 * source directory in the map contains a special pubspec.yaml file wh ich resolves any
159 * package: URI to the corresponding path within the target directory. The effect is the
160 * same as specifying the target directory as a "--package_root" param eter to the Dart VM
161 * when executing any Dart file inside the source directory. Files in any directories that
162 * are not overridden by this mapping have their package: URI's resolv ed using the normal
163 * pubspec.yaml mechanism. If this field is absent, or the empty map i s specified, that
164 * indicates that the normal pubspec.yaml mechanism should always be u sed.
165 */
166 public void analysis_setAnalysisRoots(List<String> included, List<String> excl uded, Map<String, String> packageRoots);
167
168 /**
169 * {@code analysis.setPriorityFiles}
170 *
171 * Set the priority files to the files in the given list. A priority file is a file that is given
172 * priority when scheduling which analysis work to do first. The list typicall y contains those
173 * files that are visible to the user and those for which analysis results wil l have the biggest
174 * impact on the user experience. The order of the files within the list is si gnificant: the first
175 * file will be given higher priority than the second, the second higher prior ity than the third,
176 * and so on.
177 *
178 * Note that this request determines the set of requested priority files. The actual set of
179 * priority files is the intersection of the requested set of priority files w ith the set of files
180 * currently subject to analysis. (See analysis.setSubscriptions for a descrip tion of files that
181 * are subject to analysis.)
182 *
183 * If a requested priority file is a directory it is ignored, but remains in t he set of requested
184 * priority files so that if it later becomes a file it can be included in the set of actual
185 * priority files.
186 *
187 * @param files The files that are to be a priority for analysis.
188 */
189 public void analysis_setPriorityFiles(List<String> files);
190
191 /**
192 * {@code analysis.setSubscriptions}
193 *
194 * Subscribe for services. All previous subscriptions are replaced by the curr ent set of
195 * subscriptions. If a given service is not included as a key in the map then no files will be
196 * subscribed to the service, exactly as if the service had been included in t he map with an
197 * explicit empty list of files.
198 *
199 * Note that this request determines the set of requested subscriptions. The a ctual set of
200 * subscriptions at any given time is the intersection of this set with the se t of files currently
201 * subject to analysis. The files currently subject to analysis are the set of files contained
202 * within an actual analysis root but not excluded, plus all of the files tran sitively reachable
203 * from those files via import, export and part directives. (See analysis.setA nalysisRoots for an
204 * explanation of how the actual analysis roots are determined.) When the actu al analysis roots
205 * change, the actual set of subscriptions is automatically updated, but the s et of requested
206 * subscriptions is unchanged.
207 *
208 * If a requested subscription is a directory it is ignored, but remains in th e set of requested
209 * subscriptions so that if it later becomes a file it can be included in the set of actual
210 * subscriptions.
211 *
212 * It is an error if any of the keys in the map are not valid services. If the re is an error, then
213 * the existing subscriptions will remain unchanged.
214 *
215 * @param subscriptions A table mapping services to a list of the files being subscribed to the
216 * service.
217 */
218 public void analysis_setSubscriptions(Map<String, List<String>> subscriptions) ;
219
220 /**
221 * {@code analysis.updateContent}
222 *
223 * Update the content of one or more files. Files that were previously updated but not included in
224 * this update remain unchanged. This effectively represents an overlay of the filesystem. The
225 * files whose content is overridden are therefore seen by server as being fil es with the given
226 * content, even if the files do not exist on the filesystem or if the file pa th represents the
227 * path to a directory on the filesystem.
228 *
229 * @param files A table mapping the files whose content has changed to a descr iption of the content
230 * change.
231 */
232 public void analysis_updateContent(Map<String, Object> files, UpdateContentCon sumer consumer);
233
234 /**
235 * {@code analysis.updateOptions}
236 *
237 * Update the options controlling analysis based on the given set of options. Any options that are
238 * not included in the analysis options will not be changed. If there are opti ons in the analysis
239 * options that are not valid, they will be silently ignored.
240 *
241 * @param options The options that are to be used to control analysis.
242 */
243 public void analysis_updateOptions(AnalysisOptions options);
244
245 /**
246 * {@code completion.getSuggestions}
247 *
248 * Request that completion suggestions for the given offset in the given file be returned.
249 *
250 * @param file The file containing the point at which suggestions are to be ma de.
251 * @param offset The offset within the file at which suggestions are to be mad e.
252 */
253 public void completion_getSuggestions(String file, int offset, GetSuggestionsC onsumer consumer);
254
255 /**
256 * {@code edit.format}
257 *
258 * Format the contents of a single file. The currently selected region of text is passed in so that
259 * the selection can be preserved across the formatting operation. The updated selection will be as
260 * close to matching the original as possible, but whitespace at the beginning or end of the
261 * selected region will be ignored. If preserving selection information is not required, zero (0)
262 * can be specified for both the selection offset and selection length.
263 *
264 * If a request is made for a file which does not exist, or which is not curre ntly subject to
265 * analysis (e.g. because it is not associated with any analysis root specifie d to
266 * analysis.setAnalysisRoots), an error of type FORMAT_INVALID_FILE will be ge nerated. If the
267 * source contains syntax errors, an error of type FORMAT_WITH_ERRORS will be generated.
268 *
269 * @param file The file containing the code to be formatted.
270 * @param selectionOffset The offset of the current selection in the file.
271 * @param selectionLength The length of the current selection in the file.
272 */
273 public void edit_format(String file, int selectionOffset, int selectionLength, FormatConsumer consumer);
274
275 /**
276 * {@code edit.getAssists}
277 *
278 * Return the set of assists that are available at the given location. An assi st is distinguished
279 * from a refactoring primarily by the fact that it affects a single file and does not require user
280 * input in order to be performed.
281 *
282 * @param file The file containing the code for which assists are being reques ted.
283 * @param offset The offset of the code for which assists are being requested.
284 * @param length The length of the code for which assists are being requested.
285 */
286 public void edit_getAssists(String file, int offset, int length, GetAssistsCon sumer consumer);
287
288 /**
289 * {@code edit.getAvailableRefactorings}
290 *
291 * Get a list of the kinds of refactorings that are valid for the given select ion in the given
292 * file.
293 *
294 * @param file The file containing the code on which the refactoring would be based.
295 * @param offset The offset of the code on which the refactoring would be base d.
296 * @param length The length of the code on which the refactoring would be base d.
297 */
298 public void edit_getAvailableRefactorings(String file, int offset, int length, GetAvailableRefactoringsConsumer consumer);
299
300 /**
301 * {@code edit.getFixes}
302 *
303 * Return the set of fixes that are available for the errors at a given offset in a given file.
304 *
305 * @param file The file containing the errors for which fixes are being reques ted.
306 * @param offset The offset used to select the errors for which fixes will be returned.
307 */
308 public void edit_getFixes(String file, int offset, GetFixesConsumer consumer);
309
310 /**
311 * {@code edit.getRefactoring}
312 *
313 * Get the changes required to perform a refactoring.
314 *
315 * If another refactoring request is received during the processing of this on e, an error of type
316 * REFACTORING_REQUEST_CANCELLED will be generated.
317 *
318 * @param kind The kind of refactoring to be performed.
319 * @param file The file containing the code involved in the refactoring.
320 * @param offset The offset of the region involved in the refactoring.
321 * @param length The length of the region involved in the refactoring.
322 * @param validateOnly True if the client is only requesting that the values o f the options be
323 * validated and no change be generated.
324 * @param options Data used to provide values provided by the user. The struct ure of the data is
325 * dependent on the kind of refactoring being performed. The data that is expected is
326 * documented in the section titled Refactorings, labeled as “Options” . This field can be
327 * omitted if the refactoring does not require any options or if the v alues of those
328 * options are not known.
329 */
330 public void edit_getRefactoring(String kind, String file, int offset, int leng th, boolean validateOnly, RefactoringOptions options, GetRefactoringConsumer con sumer);
331
332 /**
333 * {@code edit.sortMembers}
334 *
335 * Sort all of the directives, unit and class members of the given Dart file.
336 *
337 * If a request is made for a file that does not exist, does not belong to an analysis root or is
338 * not a Dart file, SORT_MEMBERS_INVALID_FILE will be generated.
339 *
340 * If the Dart file has scan or parse errors, SORT_MEMBERS_PARSE_ERRORS will b e generated.
341 *
342 * @param file The Dart file to sort.
343 */
344 public void edit_sortMembers(String file, SortMembersConsumer consumer);
345
346 /**
347 * {@code execution.createContext}
348 *
349 * Create an execution context for the executable file with the given path. Th e context that is
350 * created will persist until execution.deleteContext is used to delete it. Cl ients, therefore, are
351 * responsible for managing the lifetime of execution contexts.
352 *
353 * @param contextRoot The path of the Dart or HTML file that will be launched, or the path of the
354 * directory containing the file.
355 */
356 public void execution_createContext(String contextRoot, CreateContextConsumer consumer);
357
358 /**
359 * {@code execution.deleteContext}
360 *
361 * Delete the execution context with the given identifier. The context id is n o longer valid after
362 * this command. The server is allowed to re-use ids when they are no longer v alid.
363 *
364 * @param id The identifier of the execution context that is to be deleted.
365 */
366 public void execution_deleteContext(String id);
367
368 /**
369 * {@code execution.mapUri}
370 *
371 * Map a URI from the execution context to the file that it corresponds to, or map a file to the
372 * URI that it corresponds to in the execution context.
373 *
374 * Exactly one of the file and uri fields must be provided. If both fields are provided, then an
375 * error of type INVALID_PARAMETER will be generated. Similarly, if neither fi eld is provided, then
376 * an error of type INVALID_PARAMETER will be generated.
377 *
378 * If the file field is provided and the value is not the path of a file (eith er the file does not
379 * exist or the path references something other than a file), then an error of type
380 * INVALID_PARAMETER will be generated.
381 *
382 * If the uri field is provided and the value is not a valid URI or if the URI references something
383 * that is not a file (either a file that does not exist or something other th an a file), then an
384 * error of type INVALID_PARAMETER will be generated.
385 *
386 * If the contextRoot used to create the execution context does not exist, the n an error of type
387 * INVALID_EXECUTION_CONTEXT will be generated.
388 *
389 * @param id The identifier of the execution context in which the URI is to be mapped.
390 * @param file The path of the file to be mapped into a URI.
391 * @param uri The URI to be mapped into a file path.
392 */
393 public void execution_mapUri(String id, String file, String uri, MapUriConsume r consumer);
394
395 /**
396 * {@code execution.setSubscriptions}
397 *
398 * Subscribe for services. All previous subscriptions are replaced by the give n set of services.
399 *
400 * It is an error if any of the elements in the list are not valid services. I f there is an error,
401 * then the current subscriptions will remain unchanged.
402 *
403 * @param subscriptions A list of the services being subscribed to.
404 */
405 public void execution_setSubscriptions(List<String> subscriptions);
406
407 /**
408 * Return {@code true} if the socket is open.
409 */
410 public boolean isSocketOpen();
411
412 /**
413 * Remove the given listener from the list of listeners that will receive noti fication when new
414 * analysis results become available.
415 *
416 * @param listener the listener to be removed
417 */
418 public void removeAnalysisServerListener(AnalysisServerListener listener);
419
420 /**
421 * {@code search.findElementReferences}
422 *
423 * Perform a search for references to the element defined or referenced at the given offset in the
424 * given file.
425 *
426 * An identifier is returned immediately, and individual results will be retur ned via the
427 * search.results notification as they become available.
428 *
429 * @param file The file containing the declaration of or reference to the elem ent used to define
430 * the search.
431 * @param offset The offset within the file of the declaration of or reference to the element.
432 * @param includePotential True if potential matches are to be included in the results.
433 */
434 public void search_findElementReferences(String file, int offset, boolean incl udePotential, FindElementReferencesConsumer consumer);
435
436 /**
437 * {@code search.findMemberDeclarations}
438 *
439 * Perform a search for declarations of members whose name is equal to the giv en name.
440 *
441 * An identifier is returned immediately, and individual results will be retur ned via the
442 * search.results notification as they become available.
443 *
444 * @param name The name of the declarations to be found.
445 */
446 public void search_findMemberDeclarations(String name, FindMemberDeclarationsC onsumer consumer);
447
448 /**
449 * {@code search.findMemberReferences}
450 *
451 * Perform a search for references to members whose name is equal to the given name. This search
452 * does not check to see that there is a member defined with the given name, s o it is able to find
453 * references to undefined members as well.
454 *
455 * An identifier is returned immediately, and individual results will be retur ned via the
456 * search.results notification as they become available.
457 *
458 * @param name The name of the references to be found.
459 */
460 public void search_findMemberReferences(String name, FindMemberReferencesConsu mer consumer);
461
462 /**
463 * {@code search.findTopLevelDeclarations}
464 *
465 * Perform a search for declarations of top-level elements (classes, typedefs, getters, setters,
466 * functions and fields) whose name matches the given pattern.
467 *
468 * An identifier is returned immediately, and individual results will be retur ned via the
469 * search.results notification as they become available.
470 *
471 * @param pattern The regular expression used to match the names of the declar ations to be found.
472 */
473 public void search_findTopLevelDeclarations(String pattern, FindTopLevelDeclar ationsConsumer consumer);
474
475 /**
476 * {@code search.getTypeHierarchy}
477 *
478 * Return the type hierarchy of the class declared or referenced at the given location.
479 *
480 * @param file The file containing the declaration or reference to the type fo r which a hierarchy
481 * is being requested.
482 * @param offset The offset of the name of the type within the file.
483 */
484 public void search_getTypeHierarchy(String file, int offset, GetTypeHierarchyC onsumer consumer);
485
486 /**
487 * {@code server.getVersion}
488 *
489 * Return the version number of the analysis server.
490 */
491 public void server_getVersion(GetVersionConsumer consumer);
492
493 /**
494 * {@code server.setSubscriptions}
495 *
496 * Subscribe for services. All previous subscriptions are replaced by the give n set of services.
497 *
498 * It is an error if any of the elements in the list are not valid services. I f there is an error,
499 * then the current subscriptions will remain unchanged.
500 *
501 * @param subscriptions A list of the services being subscribed to.
502 */
503 public void server_setSubscriptions(List<String> subscriptions);
504
505 /**
506 * {@code server.shutdown}
507 *
508 * Cleanly shutdown the analysis server. Requests that are received after this request will not be
509 * processed. Requests that were received before this request, but for which a response has not yet
510 * been sent, will not be responded to. No further responses or notifications will be sent after
511 * the response to this request has been sent.
512 */
513 public void server_shutdown();
514
515 /**
516 * Start the analysis server.
517 */
518 public void start() throws Exception;
519
520 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698