| Index: pkg/analysis_server/spec/spec_input.html
|
| diff --git a/pkg/analysis_server/spec/spec_input.html b/pkg/analysis_server/spec/spec_input.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3f9216895344d81506e8fac883b5f9516e8a6b28
|
| --- /dev/null
|
| +++ b/pkg/analysis_server/spec/spec_input.html
|
| @@ -0,0 +1,3034 @@
|
| +<html>
|
| + <head>
|
| + <meta charset="UTF-8"/>
|
| + <title>Analysis Server API Specification</title>
|
| + </head>
|
| + <body>
|
| + <h1>Analysis Server API Specification</h1>
|
| + <h1 style="color:#999999">WORKING DRAFT - Version <version>0.3</version></h1>
|
| + <p>
|
| + This document contains a specification of the API provided by
|
| + the analysis server. The API in this document is currently under
|
| + development and should be expected to change. In some cases
|
| + those changes will be substantial.
|
| + </p>
|
| + <h2>Overview</h2>
|
| + <p>
|
| + The analysis server API is a bi-directional client-server
|
| + API. The API is independent of the transport mechanism used, but
|
| + is heavily influenced by a model in which sockets or character
|
| + streams are used to transport JSON-RPC encoded information.
|
| + </p>
|
| + <h3>Transport Mechanism</h3>
|
| + <p>
|
| + The characters passed to the server are expected to be encoded
|
| + using UTF-8.
|
| + </p>
|
| + <p>
|
| + When character streams are used as the transport, messages are
|
| + delineated by newlines. This means, in particular, that the JSON
|
| + encoding process must not introduce newlines within a
|
| + message. Note however that newlines are used in this document
|
| + for readability.
|
| + </p>
|
| + <p>
|
| + To ease interoperability with Lisp-based clients (which may not
|
| + be able to easily distinguish between empty lists, empty maps,
|
| + and null), client-to-server communication is allowed to replace
|
| + any instance of “<tt>{}</tt>” or “<tt>[]</tt>” with null. The
|
| + server will always properly represent empty lists as
|
| + “<tt>[]</tt>” and empty maps as “<tt>{}</tt>”.
|
| + </p>
|
| + <h3>Communication Structure</h3>
|
| + <p>
|
| + Clients can make a request of the server and the server will
|
| + provide a response for each request that it receives. While many
|
| + of the requests that can be made by a client are informational
|
| + in nature, we have chosen to always return a response so that
|
| + clients can know whether the request was received and was
|
| + correct.
|
| + </p>
|
| + <p>
|
| + There is no guarantee concerning the order in which responses
|
| + will be returned, but there is a guarantee that the server will
|
| + process requests in the order in which they are sent as long as
|
| + the transport mechanism also makes this guarantee. Responses can
|
| + be returned in an order that is different from the order in
|
| + which the requests were received because some requests take
|
| + longer to process than others.
|
| + </p>
|
| + <p>
|
| + Every request is required to have two fields and may have an
|
| + optional third field. The first required field is the ‘id’
|
| + field, which is only used by the server to associate a response
|
| + with the request that generated the response. The second
|
| + required field is the ‘method’ field, which is used to determine
|
| + what the server is being requested to do. The optional field is
|
| + the ‘params’ field, whose structure is dependent on the method
|
| + being requested. The structure of this field is described with
|
| + each request for which it is required.
|
| + </p>
|
| + <p>
|
| + Every response has up to three fields. The first field is the
|
| + ‘id’ field, which is always present and whose value is the
|
| + identifier that was passed to the request that generated the
|
| + response. The second field is the ‘error’ field, which is only
|
| + present if an error was encountered while processing the
|
| + request. The third field is the ‘result’ field, whose structure
|
| + is dependent on the method being responded to, and is described
|
| + with each request that will produce it.
|
| + </p>
|
| + <p>
|
| + The server can also communicate to the clients by sending a
|
| + notification. The purpose of these notifications is to provide
|
| + information to clients as it becomes available rather than to
|
| + require that clients poll for it. Unless explicitly stated, all
|
| + notifications are designed to return the complete information
|
| + available at the time the notification is sent; clients are not
|
| + required to update previously communicated
|
| + results. Consequently, the server can and should return partial
|
| + results before all results are available. For example, the
|
| + syntactic errors for a file can be returned as soon as the
|
| + syntactic analysis is complete, and both syntactic and semantic
|
| + errors can be returned together at a later time.
|
| + </p>
|
| + <p>
|
| + Each notification has two fields. The first field is the ‘event’
|
| + field, which identifies the kind of notification. The second
|
| + field is the ‘params’ field, whose structure is dependent on the
|
| + kind of notification being sent. The structure of this field is
|
| + described with each notification.
|
| + </p>
|
| + <h3>Eventual Consistency</h3>
|
| + <p>
|
| + TBD
|
| + </p>
|
| + <h3>Domains</h3>
|
| + <p>
|
| + For convenience, the API is divided into domains. Each domain is
|
| + specified in a separate section below:
|
| + </p>
|
| + <ul>
|
| + <li><a href="#domain_server">Server</a></li>
|
| + <li><a href="#domain_analysis">Analysis</a></li>
|
| + <li><a href="#domain_completion">Code Completion</a></li>
|
| + <li><a href="#domain_search">Search</a></li>
|
| + <li><a href="#domain_edit">Edit</a></li>
|
| + <li><a href="#domain_debug">Debugging</a></li>
|
| + </ul>
|
| + <p>
|
| + The specifications of the API’s refer to data structures beyond
|
| + the standard JSON primitives. These data structures are
|
| + documented in the section titled <a href="#types">Types</a>.
|
| + </p>
|
| + <h3>Command-line Arguments</h3>
|
| + <p>
|
| + The command-line arguments that can be passed to the server.
|
| + </p>
|
| + <h4>Options</h4>
|
| + <dl>
|
| + <dt>--no-error-notification</dt>
|
| + <dd></dd>
|
| + </dl>
|
| + <p>
|
| + Disable notifications about errors (see analysis.error). If this
|
| + flag is not specified then notifications will be sent for all
|
| + errors produced for all files in the actual analysis roots.
|
| + </p>
|
| + <domain name="server">
|
| + <p>
|
| + The server domain contains API’s related to the execution of
|
| + the server.
|
| + </p>
|
| + <request method="getVersion">
|
| + <p>Return the version number of the analysis server.</p>
|
| + <result>
|
| + <field name="version">
|
| + <ref>String</ref>
|
| + <p>The version number of the analysis server.</p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="shutdown">
|
| + <p>
|
| + Cleanly shutdown the analysis server. Requests that are
|
| + received after this request will not be processed. Requests
|
| + that were received before this request, but for which a
|
| + response has not yet been sent, will not be responded to. No
|
| + further responses or notifications will be sent after the
|
| + response to this request has been sent.
|
| + </p>
|
| + </request>
|
| + <request method="setSubscriptions">
|
| + <p>
|
| + Subscribe for services. All previous subscriptions are
|
| + replaced by the given set of services.
|
| + </p>
|
| + <p>
|
| + It is an error if any of the elements in the list are not
|
| + valid services. If there is an error, then the current
|
| + subscriptions will remain unchanged.
|
| + </p>
|
| + <params>
|
| + <field name="subscriptions">
|
| + <list><ref>ServerService</ref></list>
|
| + <p>A list of the services being subscribed to.</p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <notification event="connected">
|
| + <p>
|
| + Reports that the server is running. This notification is
|
| + issued once after the server has started running but before
|
| + any requests are processed to let the client know that it
|
| + started correctly.
|
| + </p>
|
| + <p>
|
| + It is not possible to subscribe to or unsubscribe from this
|
| + notification.
|
| + </p>
|
| + </notification>
|
| + <notification event="error">
|
| + <p>
|
| + Reports that an unexpected error has occurred while
|
| + executing the server. This notification is not used for
|
| + problems with specific requests (which are returned as part
|
| + of the response) but is used for exceptions that occur while
|
| + performing other tasks, such as analysis or preparing
|
| + notifications.
|
| + </p>
|
| + <p>
|
| + It is not possible to subscribe to or unsubscribe from this
|
| + notification.
|
| + </p>
|
| + <params>
|
| + <field name="fatal">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the error is a fatal error, meaning that the
|
| + server will shutdown automatically after sending this
|
| + notification.
|
| + </p>
|
| + </field>
|
| + <field name="message">
|
| + <ref>String</ref>
|
| + <p>
|
| + The error message indicating what kind of error was
|
| + encountered.
|
| + </p>
|
| + </field>
|
| + <field name="stackTrace">
|
| + <ref>String</ref>
|
| + <p>
|
| + The stack trace associated with the generation of the
|
| + error, used for debugging the server.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="status">
|
| + <p>
|
| + Reports the current status of the server. Parameters are
|
| + omitted if there has been no change in the status
|
| + represented by that parameter.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"STATUS"</tt> in
|
| + the list of services passed in a server.setSubscriptions
|
| + request.
|
| + </p>
|
| + <params>
|
| + <field name="analysis" optional="true">
|
| + <ref>AnalysisStatus</ref>
|
| + <p>
|
| + The current status of analysis, including whether
|
| + analysis is being performed and if so what is being
|
| + analyzed.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + </domain>
|
| + <domain name="analysis">
|
| + <p>
|
| + The analysis domain contains API’s related to the analysis of
|
| + files.
|
| + </p>
|
| + <request method="getErrors">
|
| + <p>
|
| + Return the errors associated with the given file. If the
|
| + errors for the given file have not yet been computed, or the
|
| + most recently computed errors for the given file are out of
|
| + date, then the response for this request will be delayed
|
| + until they have been computed. If some or all of the errors
|
| + for the file cannot be computed, then the subset of the
|
| + errors that can be computed will be returned and the
|
| + response will contain an error to indicate why the errors
|
| + could not be computed.
|
| + </p>
|
| + <p>
|
| + This request is intended to be used by clients that cannot
|
| + asynchronously apply updated error information. Clients that
|
| + <b>can</b> apply error information as it becomes available
|
| + should use the information provided by the 'analysis.errors'
|
| + notification.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file for which errors are being requested.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="errors">
|
| + <list><ref>AnalysisError</ref></list>
|
| + <p>
|
| + The errors associated with the file.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="getHover">
|
| + <p>
|
| + Return the hover information associate with the given
|
| + location. If some or all of the hover information is not
|
| + available at the time this request is processed the
|
| + information will be omitted from the response.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file in which hover information is being
|
| + requested.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset for which hover information is being
|
| + requested.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="hovers">
|
| + <list><ref>HoverInformation</ref></list>
|
| + <p>
|
| + The hover information associated with the
|
| + location. The list will be empty if no information
|
| + could be determined for the location. The list can
|
| + contain multiple items if the file is being analyzed
|
| + in multiple contexts in conflicting ways (such as a
|
| + part that is included in multiple libraries).
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="reanalyze">
|
| + <p>
|
| + Force the re-analysis of everything contained in the
|
| + existing analysis roots. This will cause all previously
|
| + computed analysis results to be discarded and recomputed,
|
| + and will cause all subscribed notifications to be re-sent.
|
| + </p>
|
| + </request>
|
| + <request method="setAnalysisRoots">
|
| + <p>
|
| + Sets the root paths used to determine which files to
|
| + analyze. The set of files to be analyzed are all of the
|
| + files in one of the root paths that are not also in one of
|
| + the excluded paths.
|
| + </p>
|
| + <p>
|
| + Note that this request determines the set of requested
|
| + analysis roots. The actual set of analysis roots at any
|
| + given time is the intersection of this set with the set of
|
| + files and directories actually present on the
|
| + filesystem. When the filesystem changes, the actual set of
|
| + analysis roots is automatically updated, but the set of
|
| + requested analysis roots is unchanged. This means that if
|
| + the client sets an analysis root before the root becomes
|
| + visible to server in the filesystem, there is no error; once
|
| + the server sees the root in the filesystem it will start
|
| + analyzing it. Similarly, server will stop analyzing files
|
| + that are removed from the file system but they will remain
|
| + in the set of requested roots.
|
| + </p>
|
| + <p>
|
| + If an included path represents a file, then server will look
|
| + in the directory containing the file for a pubspec.yaml
|
| + file. If none is found, then the parents of the directory
|
| + will be searched until such a file is found or the root of
|
| + the file system is reached. If such a file is found, it will
|
| + be used to resolve package: URI’s within the file.
|
| + </p>
|
| + <params>
|
| + <field name="included">
|
| + <list><ref>FilePath</ref></list>
|
| + <p>
|
| + A list of the files and directories that should be
|
| + analyzed.
|
| + </p>
|
| + </field>
|
| + <field name="excluded">
|
| + <list><ref>FilePath</ref></list>
|
| + <p>
|
| + A list of the files and directories within the
|
| + included directories that should not be analyzed.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <request method="setPriorityFiles">
|
| + <p>
|
| + Set the priority files to the files in the given list. A
|
| + priority file is a file that is given priority when
|
| + scheduling which analysis work to do first. The list
|
| + typically contains those files that are visible to the user
|
| + and those for which analysis results will have the biggest
|
| + impact on the user experience. The order of the files within
|
| + the list is significant: the first file will be given higher
|
| + priority than the second, the second higher priority than
|
| + the third, and so on.
|
| + </p>
|
| + <p>
|
| + Note that this request determines the set of requested
|
| + priority files. The actual set of priority files is the
|
| + intersection of the requested set of priority files with the
|
| + set of files currently subject to analysis. (See
|
| + analysis.setSubscriptions for a description of files that
|
| + are subject to analysis.)
|
| + </p>
|
| + <p>
|
| + If a requested priority file is a directory it is ignored,
|
| + but remains in the set of requested priority files so that
|
| + if it later becomes a file it can be included in the set of
|
| + actual priority files.
|
| + </p>
|
| + <params>
|
| + <field name="files">
|
| + <list><ref>FilePath</ref></list>
|
| + <p>
|
| + The files that are to be a priority for analysis.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <request method="setSubscriptions">
|
| + <p>
|
| + Subscribe for services. All previous subscriptions are
|
| + replaced by the current set of subscriptions. If a given
|
| + service is not included as a key in the map then no files
|
| + will be subscribed to the service, exactly as if the service
|
| + had been included in the map with an explicit empty list of
|
| + files.
|
| + </p>
|
| + <p>
|
| + Note that this request determines the set of requested
|
| + subscriptions. The actual set of subscriptions at any given
|
| + time is the intersection of this set with the set of files
|
| + currently subject to analysis. The files currently subject
|
| + to analysis are the set of files contained within an actual
|
| + analysis root but not excluded, plus all of the files
|
| + transitively reachable from those files via import, export
|
| + and part directives. (See analysis.setAnalysisRoots for an
|
| + explanation of how the actual analysis roots are
|
| + determined.) When the actual analysis roots change, the
|
| + actual set of subscriptions is automatically updated, but
|
| + the set of requested subscriptions is unchanged.
|
| + </p>
|
| + <p>
|
| + If a requested subscription is a directory it is ignored,
|
| + but remains in the set of requested subscriptions so that if
|
| + it later becomes a file it can be included in the set of
|
| + actual subscriptions.
|
| + </p>
|
| + <p>
|
| + It is an error if any of the keys in the map are not valid
|
| + services. If there is an error, then the existing
|
| + subscriptions will remain unchanged.
|
| + </p>
|
| + <params>
|
| + <field name="subscriptions">
|
| + <map>
|
| + <key><ref>AnalysisService</ref></key>
|
| + <value>
|
| + <list><ref>FilePath</ref></list>
|
| + </value>
|
| + </map>
|
| + <p>
|
| + A table mapping services to a list of the files being
|
| + subscribed to the service.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <request method="updateContent">
|
| + <p>
|
| + Update the content of one or more files. Files that were
|
| + previously updated but not included in this update remain
|
| + unchanged. This effectively represents an overlay of the
|
| + filesystem. The files whose content is overridden are
|
| + therefore seen by server as being files with the given
|
| + content, even if the files do not exist on the filesystem or
|
| + if the file path represents the path to a directory on the
|
| + filesystem.
|
| + </p>
|
| + <params>
|
| + <field name="files">
|
| + <map>
|
| + <key><ref>FilePath</ref></key>
|
| + <value><ref>ContentChange</ref></value>
|
| + </map>
|
| + <p>
|
| + A table mapping the files whose content has changed to
|
| + a description of the content.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <request method="updateOptions">
|
| + <p>
|
| + Update the options controlling analysis based on the given
|
| + set of options. Any options that are not included in the
|
| + analysis options will not be changed. If there are options
|
| + in the analysis options that are not valid an error will be
|
| + reported but the values of the valid options will still be
|
| + updated.
|
| + </p>
|
| + <params>
|
| + <field name="options">
|
| + <ref>AnalysisOptions</ref>
|
| + <p>
|
| + The options that are to be used to control analysis.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <notification event="errors">
|
| + <p>
|
| + Reports the errors associated with a given file. The set of
|
| + errors included in the notification is always a complete
|
| + list that supersedes any previously reported errors.
|
| + </p>
|
| + <p>
|
| + It is only possible to unsubscribe from this notification by
|
| + using the command-line flag --no-error-notification.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the errors.
|
| + </p>
|
| + </field>
|
| + <field name="errors">
|
| + <list><ref>AnalysisError</ref></list>
|
| + <p>
|
| + The errors contained in the file.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="flushResults">
|
| + <p>
|
| + Reports that any analysis results that were previously
|
| + associated with the given files should be considered to be
|
| + invalid because those files are no longer being analyzed,
|
| + either because the analysis root that contained it is no
|
| + longer being analyzed or because the file no longer exists.
|
| + </p>
|
| + <p>
|
| + If a file is included in this notification and at some later
|
| + time a notification with results for the file is received,
|
| + clients should assume that the file is once again being
|
| + analyzed and the information should be processed.
|
| + </p>
|
| + <p>
|
| + It is not possible to subscribe to or unsubscribe from this
|
| + notification.
|
| + </p>
|
| + <params>
|
| + <field name="files">
|
| + <list><ref>FilePath</ref></list>
|
| + <p>
|
| + The files that are no longer being analyzed.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="folding">
|
| + <p>
|
| + Reports the folding regions associated with a given
|
| + file. Folding regions can be nested, but will not be
|
| + overlapping. Nesting occurs when a foldable element, such as
|
| + a method, is nested inside another foldable element such as
|
| + a class.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"FOLDING"</tt> in
|
| + the list of services passed in an analysis.setSubscriptions
|
| + request.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the folding regions.
|
| + </p>
|
| + </field>
|
| + <field name="regions">
|
| + <list><ref>FoldingRegion</ref></list>
|
| + <p>
|
| + The folding regions contained in the file.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="highlights">
|
| + <p>
|
| + Reports the highlight regions associated with a given file.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"HIGHLIGHTS"</tt>
|
| + in the list of services passed in an
|
| + analysis.setSubscriptions request.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the highlight regions.
|
| + </p>
|
| + </field>
|
| + <field name="regions">
|
| + <list><ref>HighlightRegion</ref></list>
|
| + <p>
|
| + The highlight regions contained in the file. Each
|
| + highlight region represents a particular syntactic or
|
| + semantic meaning associated with some range. Note that
|
| + the highlight regions that are returned can overlap
|
| + other highlight regions if there is more than one
|
| + meaning associated with a particular region.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="navigation">
|
| + <p>
|
| + Reports the navigation targets associated with a given file.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"NAVIGATION"</tt>
|
| + in the list of services passed in an
|
| + analysis.setSubscriptions request.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the navigation regions.
|
| + </p>
|
| + </field>
|
| + <field name="regions">
|
| + <list><ref>NavigationRegion</ref></list>
|
| + <p>
|
| + The navigation regions contained in the file. Each
|
| + navigation region represents a list of targets
|
| + associated with some range. The lists will usually
|
| + contain a single target, but can contain more in the
|
| + case of a part that is included in multiple libraries
|
| + or in Dart code that is compiled against multiple
|
| + versions of a package. Note that the navigation
|
| + regions that are returned do not overlap other
|
| + navigation regions.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="occurrences">
|
| + <p>
|
| + Reports the occurrences of references to elements within a
|
| + single file.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"OCCURRENCES"</tt>
|
| + in the list of services passed in an
|
| + analysis.setSubscriptions request.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file in which the references occur.
|
| + </p>
|
| + </field>
|
| + <field name="occurrences">
|
| + <list><ref>Occurrences</ref></list>
|
| + <p>
|
| + The occurrences of references to elements within the
|
| + file.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="outline">
|
| + <p>
|
| + Reports the outline associated with a single file.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"OUTLINE"</tt> in
|
| + the list of services passed in an analysis.setSubscriptions
|
| + request.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file with which the outline is associated.
|
| + </p>
|
| + </field>
|
| + <field name="outline">
|
| + <ref>Outline</ref>
|
| + <p>
|
| + The outline associated with the file.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + <notification event="overrides">
|
| + <p>
|
| + Reports the overridding members in a file. This notification
|
| + currently includes only members that override a member from
|
| + a superclass. In particular, it does not include members
|
| + that override members from interfaces.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value <tt>"OVERRIDES"</tt> in
|
| + the list of services passed in an analysis.setSubscriptions
|
| + request.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file with which the overrides are associated.
|
| + </p>
|
| + </field>
|
| + <field name="overrides">
|
| + <list><ref>Override</ref></list>
|
| + <p>
|
| + The overrides associated with the file.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + </domain>
|
| + <domain name="completion">
|
| + <p>
|
| + The code completion domain contains commands related to
|
| + getting code completion suggestions.
|
| + </p>
|
| + <request method="getSuggestions">
|
| + <p>
|
| + Request that completion suggestions for the given offset in
|
| + the given file be returned.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the point at which suggestions are
|
| + to be made.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset within the file at which suggestions are to
|
| + be made.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="id">
|
| + <ref>CompletionId</ref>
|
| + <p>
|
| + The identifier used to associate results with this
|
| + completion request.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <notification event="results">
|
| + <p>
|
| + Reports the completion suggestions that should be presented
|
| + to the user. The set of suggestions included in the
|
| + notification is always a complete list that supersedes any
|
| + previously reported suggestions.
|
| + </p>
|
| + <params>
|
| + <field name="id">
|
| + <ref>CompletionId</ref>
|
| + <p>
|
| + The id associated with the completion.
|
| + </p>
|
| + </field>
|
| + <field name="replacementOffset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the start of the text to be
|
| + replaced. This will be different than the offset used
|
| + to request the completion suggestions if there was a
|
| + portion of an identifier before the original
|
| + offset. In particular, the replacementOffset will be
|
| + the offset of the beginning of said identifier.
|
| + </p>
|
| + </field>
|
| + <field name="replacementLength">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the text to be replaced if the remainder
|
| + of the identifier containing the cursor is to be
|
| + replaced when the suggestion is applied (that is, the
|
| + number of characters in the existing identifier).
|
| + </p>
|
| + </field>
|
| + <field name="results">
|
| + <list><ref>CompletionSuggestion</ref></list>
|
| + <p>
|
| + The completion suggestions being reported.
|
| + </p>
|
| + </field>
|
| + <field name="last">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if this is that last set of results that will be
|
| + returned for the indicated completion.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + </domain>
|
| + <domain name="search">
|
| + <p>
|
| + The search domain contains commands related to searches that
|
| + can be performed against the code base.
|
| + </p>
|
| + <request method="findElementReferences">
|
| + <p>
|
| + Perform a search for references to the element defined or
|
| + referenced at the given offset in the given file.
|
| + </p>
|
| + <p>
|
| + An identifier is returned immediately, and individual
|
| + results will be returned via the search.results notification
|
| + as they become available.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the declaration of or reference to
|
| + the element used to define the search.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset within the file of the declaration of or
|
| + reference to the element.
|
| + </p>
|
| + </field>
|
| + <field name="includePotential">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if potential matches are to be included in the
|
| + results.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="id">
|
| + <ref>SearchId</ref>
|
| + <p>
|
| + The identifier used to associate results with this
|
| + search request.
|
| + </p>
|
| + </field>
|
| + <field name="element">
|
| + <ref>Element</ref>
|
| + <p>
|
| + The element referenced or defined at the given offset
|
| + and whose references will be returned in the search
|
| + results.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="findMemberDeclarations">
|
| + <p>
|
| + Perform a search for declarations of members whose name is
|
| + equal to the given name.
|
| + </p>
|
| + <p>
|
| + An identifier is returned immediately, and individual
|
| + results will be returned via the search.results notification
|
| + as they become available.
|
| + </p>
|
| + <params>
|
| + <field name="name">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the declarations to be found.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="id">
|
| + <ref>SearchId</ref>
|
| + <p>
|
| + The identifier used to associate results with this
|
| + search request.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="findMemberReferences">
|
| + <p>
|
| + Perform a search for references to members whose name is
|
| + equal to the given name. This search does not check to see
|
| + that there is a member defined with the given name, so it is
|
| + able to find references to undefined members as well.
|
| + </p>
|
| + <p>
|
| + An identifier is returned immediately, and individual
|
| + results will be returned via the search.results notification
|
| + as they become available.
|
| + </p>
|
| + <params>
|
| + <field name="name">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the references to be found.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="id">
|
| + <ref>SearchId</ref>
|
| + <p>
|
| + The identifier used to associate results with this
|
| + search request.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="findTopLevelDeclarations">
|
| + <p>
|
| + Perform a search for declarations of top-level elements
|
| + (classes, typedefs, getters, setters, functions and fields)
|
| + whose name matches the given pattern.
|
| + </p>
|
| + <p>
|
| + An identifier is returned immediately, and individual
|
| + results will be returned via the search.results notification
|
| + as they become available.
|
| + </p>
|
| + <params>
|
| + <field name="pattern">
|
| + <ref>String</ref>
|
| + <p>
|
| + The regular expression used to match the names of the
|
| + declarations to be found.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="id">
|
| + <ref>SearchId</ref>
|
| + <p>
|
| + The identifier used to associate results with this
|
| + search request.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="getTypeHierarchy">
|
| + <p>
|
| + Return the type hierarchy of the class declared or
|
| + referenced at the given location.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the declaration or reference to the
|
| + type for which a hierarchy is being requested.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the name of the type within the file.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="hierarchyItems">
|
| + <list><ref>TypeHierarchyItem</ref></list>
|
| + <p>
|
| + A list of the types in the requested hierarchy. The
|
| + first element of the list is the item representing the
|
| + type for which the hierarchy was requested. The index of
|
| + other elements of the list is unspecified, but
|
| + correspond to the integers used to reference supertype
|
| + and subtype items within the items.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <notification event="results">
|
| + <p>
|
| + Reports some or all of the results of performing a requested
|
| + search. Unlike other notifications, this notification
|
| + contains search results that should be added to any
|
| + previously received search results associated with the same
|
| + search id.
|
| + </p>
|
| + <params>
|
| + <field name="id">
|
| + <ref>SearchId</ref>
|
| + <p>
|
| + The id associated with the search.
|
| + </p>
|
| + </field>
|
| + <field name="results">
|
| + <list><ref>SearchResult</ref></list>
|
| + <p>
|
| + The search results being reported.
|
| + </p>
|
| + </field>
|
| + <field name="last">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if this is that last set of results that will be
|
| + returned for the indicated search.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + </domain>
|
| + <domain name="edit">
|
| + <p>
|
| + The edit domain contains commands related to edits that can be
|
| + applied to the code.
|
| + </p>
|
| + <request method="getAssists">
|
| + <p>
|
| + Return the set of assists that are available at the given
|
| + location. An assist is distinguished from a refactoring
|
| + primarily by the fact that it affects a single file and does
|
| + not require user input in order to be performed.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the code for which assists are being
|
| + requested.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the code for which assists are being
|
| + requested.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the code for which assists are being
|
| + requested.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="assists">
|
| + <list><ref>SourceChange</ref></list>
|
| + <p>
|
| + The assists that are available at the given location.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="getAvailableRefactorings">
|
| + <p>
|
| + Get a list of the kinds of refactorings that are valid for
|
| + the given selection in the given file.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the code on which the refactoring
|
| + would be based.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the code on which the refactoring would be
|
| + based.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the code on which the refactoring would be
|
| + based.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="kinds">
|
| + <list><ref>RefactoringKind</ref></list>
|
| + <p>
|
| + The kinds of refactorings that are valid for the given
|
| + selection.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="getFixes">
|
| + <p>
|
| + Return the set of fixes that are available for the errors at
|
| + a given offset in a given file.
|
| + </p>
|
| + <params>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the errors for which fixes are being
|
| + requested.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset used to select the errors for which fixes
|
| + will be returned.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="fixes">
|
| + <list><ref>ErrorFixes</ref></list>
|
| + <p>
|
| + The fixes that are available for each of the analysis
|
| + errors. There is a one-to-one correspondence between the
|
| + analysis errors in the request and the lists of changes
|
| + in the response. In particular, it is always the case
|
| + that errors.length == fixes.length and that fixes[i] is
|
| + the list of fixes for the error in errors[i]. The list
|
| + of changes corresponding to an error can be empty if
|
| + there are no fixes available for that error.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="getRefactoring">
|
| + <p>
|
| + Get the changes required to perform a refactoring.
|
| + </p>
|
| + <params>
|
| + <field name="kindId">
|
| + <ref>RefactoringKind</ref>
|
| + <p>
|
| + The identifier of the kind of refactoring to be
|
| + performed.
|
| + </p>
|
| + </field>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the code involved in the
|
| + refactoring.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the region involved in the refactoring.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region involved in the refactoring.
|
| + </p>
|
| + </field>
|
| + <field name="validateOnly">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the client is only requesting that the values of
|
| + the options be validated and no change be generated.
|
| + </p>
|
| + </field>
|
| + <field name="options" optional="true">
|
| + <ref>object</ref>
|
| + <p>
|
| + Data used to provide values provided by the user. The
|
| + structure of the data is dependent on the kind of
|
| + refactoring being performed. The data that is expected is
|
| + documented in the section titled <a
|
| + href="#refactorings">Refactorings</a>, labeled as
|
| + “Options”. This field can be omitted if the refactoring
|
| + does not require any options or if the values of those
|
| + options are not known.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="status">
|
| + <list><ref>RefactoringProblem</ref></list>
|
| + <p>
|
| + The status of the refactoring. The array will be empty
|
| + if there are no known problems.
|
| + </p>
|
| + </field>
|
| + <field name="feedback" optional="true">
|
| + <ref>object</ref>
|
| + <p>
|
| + Data used to provide feedback to the user. The structure
|
| + of the data is dependent on the kind of refactoring
|
| + being created. The data that is returned is documented
|
| + in the section titled <a
|
| + href="#refactorings">Refactorings</a>, labeled as
|
| + “Feedback”.
|
| + </p>
|
| + </field>
|
| + <field name="change" optional="true">
|
| + <ref>SourceChange</ref>
|
| + <p>
|
| + The changes that are to be applied to affect the
|
| + refactoring. This field will be omitted if there are
|
| + problems that prevent a set of changed from being
|
| + computed, such as having no options specified for a
|
| + refactoring that requires them, or if only validation
|
| + was requested.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + </domain>
|
| + <domain name="debug">
|
| + <p>
|
| + The debugging domain contains commands related to providing a
|
| + debugging experience.
|
| + </p>
|
| + <request method="createContext">
|
| + <p>
|
| + Create a debugging context for the executable file with the
|
| + given path. The context that is created will persist until
|
| + debug.deleteContext is used to delete it. Clients,
|
| + therefore, are responsible for managing the lifetime of
|
| + debugging contexts.
|
| + </p>
|
| + <params>
|
| + <field name="contextRoot">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The path of the Dart or HTML file that will be launched.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="id">
|
| + <ref>DebugContextId</ref>
|
| + <p>
|
| + The identifier used to refer to the debugging context
|
| + that was created.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="deleteContext">
|
| + <p>
|
| + Delete the debugging context with the given identifier. The
|
| + context id is no longer valid after this command. The server
|
| + is allowed to re-use ids when they are no longer valid.
|
| + </p>
|
| + <params>
|
| + <field name="id">
|
| + <ref>DebugContextId</ref>
|
| + <p>
|
| + The identifier of the debugging context that is to be
|
| + deleted.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <request method="mapUri">
|
| + <p>
|
| + Map a URI from the debugging context to the file that it
|
| + corresponds to, or map a file to the URI that it corresponds
|
| + to in the debugging context.
|
| + </p>
|
| + <p>
|
| + Exactly one of the file and uri fields must be provided.
|
| + </p>
|
| + <params>
|
| + <field name="id">
|
| + <ref>DebugContextId</ref>
|
| + <p>
|
| + The identifier of the debugging context in which the URI
|
| + is to be mapped.
|
| + </p>
|
| + </field>
|
| + <field name="file" optional="true">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The path of the file to be mapped into a URI.
|
| + </p>
|
| + </field>
|
| + <field name="uri" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The URI to be mapped into a file path.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + <result>
|
| + <field name="file" optional="true">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file to which the URI was mapped. This field is
|
| + omitted if the uri field was not given in the request.
|
| + </p>
|
| + </field>
|
| + <field name="uri" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The URI to which the file path was mapped. This field is
|
| + omitted if the file field was not given in the request.
|
| + </p>
|
| + </field>
|
| + </result>
|
| + </request>
|
| + <request method="setSubscriptions">
|
| + <p>
|
| + Subscribe for services. All previous subscriptions are
|
| + replaced by the given set of services.
|
| + </p>
|
| + <p>
|
| + It is an error if any of the elements in the list are not
|
| + valid services. If there is an error, then the current
|
| + subscriptions will remain unchanged.
|
| + </p>
|
| + <params>
|
| + <field name="subscriptions">
|
| + <list><ref>DebugService</ref></list>
|
| + <p>
|
| + A list of the services being subscribed to.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </request>
|
| + <notification event="launchData">
|
| + <p>
|
| + Reports information needed to allow applications within the
|
| + given context to be launched.
|
| + </p>
|
| + <p>
|
| + This notification is not subscribed to by default. Clients
|
| + can subscribe by including the value "LAUNCH_DATA" in the
|
| + list of services passed in a debug.setSubscriptions request.
|
| + </p>
|
| + <params>
|
| + <field name="executables">
|
| + <list><ref>ExecutableFile</ref></list>
|
| + <p>
|
| + A list of the files that are executable in the given
|
| + context. This list replaces any previous list provided
|
| + for the given context.
|
| + </p>
|
| + </field>
|
| + <field name="dartToHtml">
|
| + <map>
|
| + <key><ref>FilePath</ref></key>
|
| + <value>
|
| + <list><ref>FilePath</ref></list>
|
| + </value>
|
| + </map>
|
| + <p>
|
| + A mapping from the paths of Dart files that are
|
| + referenced by HTML files to a list of the HTML files
|
| + that reference the Dart files.
|
| + </p>
|
| + </field>
|
| + <field name="htmlToDart">
|
| + <map>
|
| + <key><ref>FilePath</ref></key>
|
| + <value>
|
| + <list><ref>FilePath</ref></list>
|
| + </value>
|
| + </map>
|
| + <p>
|
| + A mapping from the paths of HTML files that reference
|
| + Dart files to a list of the Dart files they reference.
|
| + </p>
|
| + </field>
|
| + </params>
|
| + </notification>
|
| + </domain>
|
| + <types>
|
| + <h2><a name="types">Types</a></h2>
|
| + <p>
|
| + This section contains descriptions of the data types referenced
|
| + in the API’s of the various domains.
|
| + </p>
|
| + <type name="AnalysisError">
|
| + <p>
|
| + An indication of an error, warning, or hint that was produced
|
| + by the analysis.
|
| + </p>
|
| + <object>
|
| + <field name="severity">
|
| + <ref>ErrorSeverity</ref>
|
| + <p>
|
| + The severity of the error.
|
| + </p>
|
| + </field>
|
| + <field name="type">
|
| + <ref>ErrorType</ref>
|
| + <p>
|
| + The type of the error.
|
| + </p>
|
| + </field>
|
| + <field name="location">
|
| + <ref>Location</ref>
|
| + <p>
|
| + The location associated with the error.
|
| + </p>
|
| + </field>
|
| + <field name="message">
|
| + <ref>String</ref>
|
| + <p>
|
| + The message to be displayed for this error. The message
|
| + should indicate what is wrong with the code and why it is
|
| + wrong.
|
| + </p>
|
| + </field>
|
| + <field name="correction" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The correction message to be displayed for this error. The
|
| + correction message should indicate how the user can fix
|
| + the error. The field is omitted if there is no correction
|
| + message associated with the error code.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="AnalysisOptions">
|
| + <p>
|
| + A set of options controlling what kind of analysis is to be
|
| + performed. If the value of a field is omitted the value of the
|
| + option will not be changed.
|
| + </p>
|
| + <p>
|
| + NOTE: These options need to change.
|
| + </p>
|
| + <object>
|
| + <field name="analyzeAngular" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the client wants Angular code to be analyzed.
|
| + </p>
|
| + </field>
|
| + <field name="analyzePolymer" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the client wants Polymer code to be analyzed.
|
| + </p>
|
| + </field>
|
| + <field name="enableAsync" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the client wants to enable support for the
|
| + proposed async feature.
|
| + </p>
|
| + </field>
|
| + <field name="enableDeferredLoading" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the client wants to enable support for the
|
| + proposed deferred loading feature.
|
| + </p>
|
| + </field>
|
| + <field name="enableEnums" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the client wants to enable support for the
|
| + proposed enum feature.
|
| + </p>
|
| + </field>
|
| + <field name="generateDart2jsHints" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if hints that are specific to dart2js should be
|
| + generated. This option is ignored if either provideErrors
|
| + or generateHints is false.
|
| + </p>
|
| + </field>
|
| + <field name="generateHints" optional="true">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True is hints should be generated as part of generating
|
| + errors and warnings. This option is ignored if
|
| + provideErrors is false.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="AnalysisService">
|
| + <p>
|
| + An enumeration of the services provided by the analysis
|
| + domain.
|
| + </p>
|
| + <enum>
|
| + <value><code>FOLDING</code></value>
|
| + <value><code>HIGHLIGHTS</code></value>
|
| + <value><code>NAVIGATION</code></value>
|
| + <value><code>OCCURRENCES</code></value>
|
| + <value><code>OUTLINE</code></value>
|
| + <value><code>OVERRIDES</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="AnalysisStatus">
|
| + <p>
|
| + An indication of the current state of analysis.
|
| + </p>
|
| + <object>
|
| + <field name="analyzing">
|
| + <ref>bool</ref>
|
| + <p>True if analysis is currently being performed.</p>
|
| + </field>
|
| + <field name="analysisTarget" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the current target of analysis. This field is
|
| + omitted if analyzing is false.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="CompletionId">
|
| + <ref>String</ref>
|
| + <p>
|
| + An identifier used to associate completion results with a
|
| + completion request.
|
| + </p>
|
| + </type>
|
| + <type name="CompletionRelevance">
|
| + <p>
|
| + An enumeration of the relevance of a completion
|
| + suggestion.
|
| + </p>
|
| + <enum>
|
| + <value><code>LOW</code></value>
|
| + <value><code>DEFAULT</code></value>
|
| + <value><code>HIGH</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="CompletionSuggestion">
|
| + <p>
|
| + A suggestion for how to complete partially entered text. Many
|
| + of the fields are optional, depending on the kind of element
|
| + being suggested.
|
| + </p>
|
| + <object>
|
| + <field name="kind">
|
| + <ref>CompletionSuggestionKind</ref>
|
| + <p>
|
| + The kind of element being suggested.
|
| + </p>
|
| + </field>
|
| + <field name="relevance">
|
| + <ref>CompletionRelevance</ref>
|
| + <p>
|
| + The relevance of this completion suggestion.
|
| + </p>
|
| + </field>
|
| + <field name="completion">
|
| + <ref>String</ref>
|
| + <p>
|
| + The identifier to be inserted if the suggestion is
|
| + selected. If the suggestion is for a method or function,
|
| + the client might want to additionally insert a template
|
| + for the parameters. The information required in order to
|
| + do so is contained in other fields.
|
| + </p>
|
| + </field>
|
| + <field name="selectionOffset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset, relative to the beginning of the completion,
|
| + of where the selection should be placed after insertion.
|
| + </p>
|
| + </field>
|
| + <field name="selectionLength">
|
| + <ref>int</ref>
|
| + <p>
|
| + The number of characters that should be selected after
|
| + insertion.
|
| + </p>
|
| + </field>
|
| + <field name="isDeprecated">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the suggested element is deprecated.
|
| + </p>
|
| + </field>
|
| + <field name="isPotential">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the element is not known to be valid for the
|
| + target. This happens if the type of the target is dynamic.
|
| + </p>
|
| + </field>
|
| + <field name="docSummary" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + An abbreviated version of the Dartdoc associated with the
|
| + element being suggested, This field is omitted if there is
|
| + no Dartdoc associated with the element.
|
| + </p>
|
| + </field>
|
| + <field name="docComplete" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The Dartdoc associated with the element being suggested,
|
| + This field is omitted if there is no Dartdoc associated
|
| + with the element.
|
| + </p>
|
| + </field>
|
| + <field name="declaringType" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The class that declares the element being suggested. This
|
| + field is omitted if the suggested element is not a member
|
| + of a class.
|
| + </p>
|
| + </field>
|
| + <field name="returnType" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The return type of the getter, function or method being
|
| + suggested. This field is omitted if the suggested element
|
| + is not a getter, function or method.
|
| + </p>
|
| + </field>
|
| + <field name="parameterNames" optional="true">
|
| + <list><ref>String</ref></list>
|
| + <p>
|
| + The names of the parameters of the function or method
|
| + being suggested. This field is omitted if the suggested
|
| + element is not a setter, function or method.
|
| + </p>
|
| + </field>
|
| + <field name="parameterTypes" optional="true">
|
| + <list><ref>String</ref></list>
|
| + <p>
|
| + The types of the parameters of the function or method
|
| + being suggested. This field is omitted if the
|
| + parameterNames field is omitted.
|
| + </p>
|
| + </field>
|
| + <field name="requiredParameterCount" optional="true">
|
| + <ref>int</ref>
|
| + <p>
|
| + The number of required parameters for the function or
|
| + method being suggested. This field is omitted if the
|
| + parameterNames field is omitted.
|
| + </p>
|
| + </field>
|
| + <field name="positionalParameterCount" optional="true">
|
| + <ref>int</ref>
|
| + <p>
|
| + The number of positional parameters for the function or
|
| + method being suggested. This field is omitted if the
|
| + parameterNames field is omitted.
|
| + </p>
|
| + </field>
|
| + <field name="parameterName" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the optional parameter being suggested. This
|
| + field is omitted if the suggestion is not the addition of
|
| + an optional argument within an argument list.
|
| + </p>
|
| + </field>
|
| + <field name="parameterType" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The type of the options parameter being suggested. This
|
| + field is omitted if the parameterName field is omitted.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="CompletionSuggestionKind">
|
| + <p>
|
| + An enumeration of the kinds of elements that can be included
|
| + in a completion suggestion.
|
| + </p>
|
| + <enum>
|
| + <value><code>ARGUMENT_LIST</code></value>
|
| + <value><code>CLASS</code></value>
|
| + <value><code>CLASS_ALIAS</code></value>
|
| + <value><code>CONSTRUCTOR</code></value>
|
| + <value><code>FIELD</code></value>
|
| + <value><code>FUNCTION</code></value>
|
| + <value><code>FUNCTION_TYPE_ALIAS</code></value>
|
| + <value><code>GETTER</code></value>
|
| + <value><code>IMPORT</code></value>
|
| + <value><code>LIBRARY_PREFIX</code></value>
|
| + <value><code>LOCAL_VARIABLE</code></value>
|
| + <value><code>METHOD</code></value>
|
| + <value><code>METHOD_NAME</code></value>
|
| + <value><code>NAMED_ARGUMENT</code></value>
|
| + <value><code>OPTIONAL_ARGUMENT</code></value>
|
| + <value><code>PARAMETER</code></value>
|
| + <value><code>SETTER</code></value>
|
| + <value><code>TOP_LEVEL_VARIABLE</code></value>
|
| + <value><code>TYPE_PARAMETER</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="ContentChange">
|
| + <p>
|
| + A description of the change to the content of a file. The
|
| + optional fields are omitted if there is no single range of
|
| + characters that was modified. If any of the optional fields
|
| + are provided then all of the optional fields must be provided.
|
| + </p>
|
| + <object>
|
| + <field name="content">
|
| + <ref>String</ref>
|
| + <p>
|
| + The new content of the file, or null if the content of the
|
| + file should be read from disk.
|
| + </p>
|
| + </field>
|
| + <field name="offset" optional="true">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the region that was modified.
|
| + </p>
|
| + </field>
|
| + <field name="oldLength" optional="true">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region that was removed.
|
| + </p>
|
| + </field>
|
| + <field name="newLength" optional="true">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region that was added.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="DebugContextId">
|
| + <ref>String</ref>
|
| + <p>
|
| + The identifier for a debug context.
|
| + </p>
|
| + </type>
|
| + <type name="DebugService">
|
| + <p>
|
| + An enumeration of the services provided by the debug
|
| + domain.
|
| + </p>
|
| + <enum>
|
| + <value><code>LAUNCH_DATA</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="Element">
|
| + <p>
|
| + Information about an element (something that can be declared
|
| + in code).
|
| + </p>
|
| + <object>
|
| + <field name="kind">
|
| + <ref>ElementKind</ref>
|
| + <p>
|
| + The kind of the element.
|
| + </p>
|
| + </field>
|
| + <field name="name">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the element. This is typically used as the
|
| + label in the outline.
|
| + </p>
|
| + </field>
|
| + <field name="location" optional="true">
|
| + <ref>Location</ref>
|
| + <p>
|
| + The location of the name in the declaration of the
|
| + element.
|
| + </p>
|
| + </field>
|
| + <field name="flags">
|
| + <ref>int</ref>
|
| + <p>
|
| + A bit-map containing the following flags:
|
| + </p>
|
| + <ul>
|
| + <li>0x01 - set if the element is explicitly or implicitly abstract</li>
|
| + <li>0x02 - set if the element was declared to be ‘const’</li>
|
| + <li>0x04 - set if the element was declared to be ‘final’</li>
|
| + <li>0x08 - set if the element is a static member of a class or is a top-level function or field</li>
|
| + <li>0x10 - set if the element is private</li>
|
| + <li>0x20 - set if the element is deprecated</li>
|
| + </ul>
|
| + </field>
|
| + <field name="parameters" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The parameter list for the element. If the element is not
|
| + a method or function this field will not be defined. If
|
| + the element has zero parameters, this field will have a
|
| + value of "()".
|
| + </p>
|
| + </field>
|
| + <field name="returnType" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The return type of the element. If the element is not a
|
| + method or function this field will not be defined. If the
|
| + element does not have a declared return type, this field
|
| + will contain an empty string.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="ElementKind">
|
| + <p>
|
| + An enumeration of the kinds of elements.
|
| + </p>
|
| + <enum>
|
| + <value><code>CLASS</code></value>
|
| + <value><code>CLASS_TYPE_ALIAS</code></value>
|
| + <value><code>COMPILATION_UNIT</code></value>
|
| + <value><code>CONSTRUCTOR</code></value>
|
| + <value><code>GETTER</code></value>
|
| + <value><code>FIELD</code></value>
|
| + <value><code>FUNCTION</code></value>
|
| + <value><code>FUNCTION_TYPE_ALIAS</code></value>
|
| + <value><code>LIBRARY</code></value>
|
| + <value><code>LOCAL_VARIABLE</code></value>
|
| + <value><code>METHOD</code></value>
|
| + <value><code>SETTER</code></value>
|
| + <value><code>TOP_LEVEL_VARIABLE</code></value>
|
| + <value><code>TYPE_PARAMETER</code></value>
|
| + <value><code>UNKNOWN</code></value>
|
| + <value><code>UNIT_TEST_GROUP</code></value>
|
| + <value><code>UNIT_TEST_TEST</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="Error">
|
| + <p>
|
| + An indication of a problem with the execution of the server,
|
| + typically in response to a request. The error codes that can
|
| + be returned are documented in the section titled Errors.
|
| + </p>
|
| + <object>
|
| + <field name="code">
|
| + <!-- TODO(paulberry): this should be a String, but the
|
| + server is currently outputting an int. -->
|
| + <ref>int</ref>
|
| + <p>
|
| + A code that uniquely identifies the error that occurred.
|
| + </p>
|
| + </field>
|
| + <field name="message">
|
| + <ref>String</ref>
|
| + <p>
|
| + A short description of the error.
|
| + </p>
|
| + </field>
|
| + <field name="data" optional="true">
|
| + <ref>object</ref>
|
| + <p>
|
| + Additional data related to the error. This field is
|
| + omitted if there is no additional data available.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="ErrorFixes">
|
| + <p>
|
| + A list of fixes associated with a specific error
|
| + </p>
|
| + <object>
|
| + <field name="error">
|
| + <ref>AnalysisError</ref>
|
| + <p>
|
| + The error with which the fixes are associated.
|
| + </p>
|
| + </field>
|
| + <field name="fixes">
|
| + <list><ref>SourceChange</ref></list>
|
| + <p>
|
| + The fixes associated with the error.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="ErrorSeverity">
|
| + <p>
|
| + An enumeration of the possible severities of analysis
|
| + errors.
|
| + </p>
|
| + <enum>
|
| + <value><code>INFO</code></value>
|
| + <value><code>WARNING</code></value>
|
| + <value><code>ERROR</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="ErrorType">
|
| + <p>
|
| + An enumeration of the possible types of analysis errors.
|
| + </p>
|
| + <enum>
|
| + <value><code>COMPILE_TIME_ERROR</code></value>
|
| + <value><code>HINT</code></value>
|
| + <value><code>STATIC_TYPE_WARNING</code></value>
|
| + <value><code>STATIC_WARNING</code></value>
|
| + <value><code>SYNTACTIC_ERROR</code></value>
|
| + <value><code>TODO</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="ExecutableFile">
|
| + <p>
|
| + A description of an executable file.
|
| + </p>
|
| + <object>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The path of the executable file.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>ExecutableKind</ref>
|
| + <p>
|
| + The offset of the region to be highlighted.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="ExecutableKind">
|
| + <p>
|
| + An enumeration of the kinds of executable files.
|
| + </p>
|
| + <enum>
|
| + <value><code>CLIENT</code></value>
|
| + <value><code>EITHER</code></value>
|
| + <value><code>SERVER</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="FilePath">
|
| + <ref>String</ref>
|
| + <p>
|
| + The absolute path of a file.
|
| + </p>
|
| + </type>
|
| + <type name="FoldingKind">
|
| + <p>
|
| + An enumeration of the kinds of folding regions.
|
| + </p>
|
| + <enum>
|
| + <value><code>COMMENT</code></value>
|
| + <value><code>CLASS_MEMBER</code></value>
|
| + <value><code>DIRECTIVES</code></value>
|
| + <value><code>DOCUMENTATION_COMMENT</code></value>
|
| + <value><code>TOP_LEVEL_DECLARATION</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="FoldingRegion">
|
| + <p>
|
| + A description of a region that can be folded.
|
| + </p>
|
| + <object>
|
| + <field name="kind">
|
| + <ref>FoldingKind</ref>
|
| + <p>
|
| + The kind of the region.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the region to be folded.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region to be folded.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="HighlightRegion">
|
| + <p>
|
| + A description of a region that could have special highlighting
|
| + associated with it.
|
| + </p>
|
| + <object>
|
| + <field name="type">
|
| + <ref>HighlightRegionType</ref>
|
| + <p>
|
| + The type of highlight associated with the region.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the region to be highlighted.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region to be highlighted.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="HighlightRegionType">
|
| + <p>
|
| + An enumeration of the kinds of highlighting that can be
|
| + applied to files.
|
| + </p>
|
| + <enum>
|
| + <value><code>ANNOTATION</code></value>
|
| + <value><code>BUILT_IN</code></value>
|
| + <value><code>CLASS</code></value>
|
| + <value><code>COMMENT_BLOCK</code></value>
|
| + <value><code>COMMENT_DOCUMENTATION</code></value>
|
| + <value><code>COMMENT_END_OF_LINE</code></value>
|
| + <value><code>CONSTRUCTOR</code></value>
|
| + <value><code>DIRECTIVE</code></value>
|
| + <value><code>DYNAMIC_TYPE</code></value>
|
| + <value><code>FIELD</code></value>
|
| + <value><code>FIELD_STATIC</code></value>
|
| + <value><code>FUNCTION_DECLARATION</code></value>
|
| + <value><code>FUNCTION</code></value>
|
| + <value><code>FUNCTION_TYPE_ALIAS</code></value>
|
| + <value><code>GETTER_DECLARATION</code></value>
|
| + <value><code>KEYWORD</code></value>
|
| + <value><code>IDENTIFIER_DEFAULT</code></value>
|
| + <value><code>IMPORT_PREFIX</code></value>
|
| + <value><code>LITERAL_BOOLEAN</code></value>
|
| + <value><code>LITERAL_DOUBLE</code></value>
|
| + <value><code>LITERAL_INTEGER</code></value>
|
| + <value><code>LITERAL_LIST</code></value>
|
| + <value><code>LITERAL_MAP</code></value>
|
| + <value><code>LITERAL_STRING</code></value>
|
| + <value><code>LOCAL_VARIABLE_DECLARATION</code></value>
|
| + <value><code>LOCAL_VARIABLE</code></value>
|
| + <value><code>METHOD_DECLARATION</code></value>
|
| + <value><code>METHOD_DECLARATION_STATIC</code></value>
|
| + <value><code>METHOD</code></value>
|
| + <value><code>METHOD_STATIC</code></value>
|
| + <value><code>PARAMETER</code></value>
|
| + <value><code>SETTER_DECLARATION</code></value>
|
| + <value><code>TOP_LEVEL_VARIABLE</code></value>
|
| + <value><code>TYPE_NAME_DYNAMIC</code></value>
|
| + <value><code>TYPE_PARAMETER</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="HoverInformation">
|
| + <p>
|
| + The hover information associated with a specific location.
|
| + </p>
|
| + <object>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the range of characters that encompases the
|
| + cursor position and has the same hover information as the
|
| + cursor position.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the range of characters that encompases the
|
| + cursor position and has the same hover information as the
|
| + cursor position.
|
| + </p>
|
| + </field>
|
| + <field name="containingLibraryPath" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The path to the defining compilation unit of the library
|
| + in which the referenced element is declared. This data is
|
| + omitted if there is no referenced element.
|
| + </p>
|
| + </field>
|
| + <field name="containingLibraryName" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the library in which the referenced element is
|
| + declared. This data is omitted if there is no referenced
|
| + element.
|
| + </p>
|
| + </field>
|
| + <field name="dartdoc" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The dartdoc associated with the referenced element. Other
|
| + than the removal of the comment delimiters, including
|
| + leading asterisks in the case of a block comment, the
|
| + dartdoc is unprocessed markdown. This data is omitted if
|
| + there is no referenced element.
|
| + </p>
|
| + </field>
|
| + <field name="elementDescription" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + A human-readable description of the element being
|
| + referenced. This data is omitted if there is no referenced
|
| + element.
|
| + </p>
|
| + </field>
|
| + <field name="elementKind" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + A human-readable description of the kind of element being
|
| + referenced (such as “class” or “function type
|
| + alias”). This data is omitted if there is no referenced
|
| + element.
|
| + </p>
|
| + </field>
|
| + <field name="parameter" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + A human-readable description of the parameter
|
| + corresponding to the expression being hovered over. This
|
| + data is omitted if the location is not in an argument to a
|
| + function.
|
| + </p>
|
| + </field>
|
| + <field name="propagatedType" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the propagated type of the expression. This
|
| + data is omitted if the location does not correspond to an
|
| + expression or if there is no propagated type information.
|
| + </p>
|
| + </field>
|
| + <field name="staticType" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the static type of the expression. This data
|
| + is omitted if the location does not correspond to an
|
| + expression.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="LinkedEditGroup">
|
| + <p>
|
| + A collection of positions that should be linked (edited
|
| + simultaneously) for the purposes of updating code after a
|
| + source change. For example, if a set of edits introduced a
|
| + new variable name, the group would contain all of the
|
| + positions of the variable name so that if the client wanted
|
| + to let the user edit the variable name after the operation,
|
| + all occurrences of the name could be edited simultaneously.
|
| + </p>
|
| + <object>
|
| + <field name="positions">
|
| + <list><ref>Position</ref></list>
|
| + <p>
|
| + The positions of the regions that should be edited
|
| + simultaneously.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the regions that should be edited
|
| + simultaneously.
|
| + </p>
|
| + </field>
|
| + <field name="suggestions">
|
| + <list><ref>LinkedEditSuggestion</ref></list>
|
| + <p>
|
| + Pre-computed suggestions for what every region might
|
| + want to be changed to.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="LinkedEditSuggestion">
|
| + <p>
|
| + A suggestion of a value that could be used to replace all of
|
| + the linked edit regions in a LinkedEditGroup.
|
| + </p>
|
| + <object>
|
| + <field name="value">
|
| + <ref>String</ref>
|
| + <p>
|
| + The value that could be used to replace all of the linked
|
| + edit regions.
|
| + </p>
|
| + </field>
|
| + <field name="kind">
|
| + <ref>LinkedEditSuggestionKind</ref>
|
| + <p>
|
| + The kind of value being proposed.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="LinkedEditSuggestionKind">
|
| + <p>
|
| + An enumeration of the kind of values that can be suggested
|
| + for a linked edit.
|
| + </p>
|
| + <enum>
|
| + <value><code>METHOD</code></value>
|
| + <value><code>PARAMETER</code></value>
|
| + <value><code>TYPE</code></value>
|
| + <value><code>VARIABLE</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="Location">
|
| + <p>
|
| + A location (character range) within a file.
|
| + </p>
|
| + <object>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the range.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the range.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the range.
|
| + </p>
|
| + </field>
|
| + <field name="startLine">
|
| + <ref>int</ref>
|
| + <p>
|
| + The one-based index of the line containing the first
|
| + character of the range.
|
| + </p>
|
| + </field>
|
| + <field name="startColumn">
|
| + <ref>int</ref>
|
| + <p>
|
| + The one-based index of the column containing the first
|
| + character of the range.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="NavigationRegion">
|
| + <p>
|
| + A description of a region from which the user can navigate to
|
| + the declaration of an element.
|
| + </p>
|
| + <object>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the region from which the user can navigate.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region from which the user can navigate.
|
| + </p>
|
| + </field>
|
| + <field name="targets">
|
| + <list><ref>Element</ref></list>
|
| + <p>
|
| + The elements to which the given region is bound. By
|
| + opening the declaration of the elements, clients can
|
| + implement one form of navigation.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="Occurrences">
|
| + <p>
|
| + A description of the references to a single element within a
|
| + single file.
|
| + </p>
|
| + <object>
|
| + <field name="element">
|
| + <ref>Element</ref>
|
| + <p>
|
| + The element that was referenced.
|
| + </p>
|
| + </field>
|
| + <field name="offsets">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The offsets of the name of the referenced element within
|
| + the file.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the name of the referenced element.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="Outline">
|
| + <p>
|
| + An node in the outline structure of a file.
|
| + </p>
|
| + <object>
|
| + <field name="element">
|
| + <ref>Element</ref>
|
| + <p>
|
| + A description of the element represented by this node.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the first character of the element. This is
|
| + different than the offset in the Element, which if the
|
| + offset of the name of the element. It can be used, for
|
| + example, to map locations in the file back to an outline.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the element.
|
| + </p>
|
| + </field>
|
| + <field name="children" optional="true">
|
| + <list><ref>Outline</ref></list>
|
| + <p>
|
| + The children of the node. The field will be omitted if the
|
| + node has no children.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="Override">
|
| + <p>
|
| + A description of a member that overrides an inherited member.
|
| + </p>
|
| + <object>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the name of the overriding member.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the name of the overriding member.
|
| + </p>
|
| + </field>
|
| + <field name="superclassMember" optional="true">
|
| + <ref>OverriddenMember</ref>
|
| + <p>
|
| + The member inherited from a superclass that is overridden
|
| + by the overriding member. The field is omitted if there is
|
| + no superclass member, in which case there must be at least
|
| + one interface member.
|
| + </p>
|
| + </field>
|
| + <field name="interfaceMembers" optional="true">
|
| + <list><ref>OverriddenMember</ref></list>
|
| + <p>
|
| + The members inherited from interfaces that are overridden
|
| + by the overriding member. The field is omitted if there
|
| + are no interface members, in which case there must be a
|
| + superclass member.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="OverriddenMember">
|
| + <p>
|
| + A description of a member that is being overridden.
|
| + </p>
|
| + <object>
|
| + <field name="element">
|
| + <ref>Element</ref>
|
| + <p>
|
| + The element that is being overridden.
|
| + </p>
|
| + </field>
|
| + <field name="className">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name of the class in which the member is defined.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="Parameter">
|
| + <p>
|
| + A description of a parameter.
|
| + </p>
|
| + <object>
|
| + <field name="type">
|
| + <ref>String</ref>
|
| + <p>
|
| + The type that should be given to the parameter.
|
| + </p>
|
| + </field>
|
| + <field name="name">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name that should be given to the parameter.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="Position">
|
| + <p>
|
| + A position within a file.
|
| + </p>
|
| + <object>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the position.
|
| + </p>
|
| + </field>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the position.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="RefactoringId">
|
| + <ref>String</ref>
|
| + <p>
|
| + An identifier used to refer to a refactoring operation.
|
| + </p>
|
| + </type>
|
| + <type name="RefactoringKind">
|
| + <p>
|
| + An enumeration of the kinds of refactorings that can be
|
| + created.
|
| + </p>
|
| + <enum>
|
| + <value><code>CONVERT_GETTER_TO_METHOD</code></value>
|
| + <value><code>CONVERT_METHOD_TO_GETTER</code></value>
|
| + <value><code>EXTRACT_LOCAL_VARIABLE</code></value>
|
| + <value><code>EXTRACT_METHOD</code></value>
|
| + <value><code>INLINE_LOCAL_VARIABLE</code></value>
|
| + <value><code>INLINE_METHOD</code></value>
|
| + <value><code>RENAME</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="RefactoringProblem">
|
| + <p>
|
| + A description of a problem related to a refactoring.
|
| + </p>
|
| + <object>
|
| + <field name="severity">
|
| + <ref>RefactoringProblemSeverity</ref>
|
| + <p>
|
| + The severity of the problem being represented.
|
| + </p>
|
| + </field>
|
| + <field name="message">
|
| + <ref>String</ref>
|
| + <p>
|
| + A human-readable description of the problem being
|
| + represented.
|
| + </p>
|
| + </field>
|
| + <field name="location">
|
| + <ref>Location</ref>
|
| + <p>
|
| + The location of the problem being represented.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="RefactoringProblemSeverity">
|
| + <p>
|
| + An enumeration of the severities of problems that can be
|
| + returned by the refactoring requests.
|
| + </p>
|
| + <enum>
|
| + <value><code>INFO</code></value>
|
| + <value><code>WARNING</code></value>
|
| + <value><code>ERROR</code></value>
|
| + <value><code>FATAL</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="SearchId">
|
| + <ref>String</ref>
|
| + <p>
|
| + An identifier used to associate search results with a search
|
| + request.
|
| + </p>
|
| + </type>
|
| + <type name="SearchResult">
|
| + <p>
|
| + A single result from a search request.
|
| + </p>
|
| + <object>
|
| + <field name="location">
|
| + <ref>Location</ref>
|
| + <p>
|
| + The location of the code that matched the search criteria.
|
| + </p>
|
| + </field>
|
| + <field name="kind">
|
| + <ref>SearchResultKind</ref>
|
| + <p>
|
| + The kind of element that was found or the kind of
|
| + reference that was found.
|
| + </p>
|
| + </field>
|
| + <field name="isPotential">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the result is a potential match but cannot be
|
| + confirmed to be a match. For example, if all references to
|
| + a method m defined in some class were requested, and a
|
| + reference to a method m from an unknown class were found,
|
| + it would be marked as being a potential match.
|
| + </p>
|
| + </field>
|
| + <field name="path">
|
| + <list><ref>Element</ref></list>
|
| + <p>
|
| + The elements that contain the result, starting with the
|
| + most immediately enclosing ancestor and ending with the
|
| + library.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="SearchResultKind">
|
| + <p>
|
| + An enumeration of the kinds of search results returned by the
|
| + search domain.
|
| + </p>
|
| + <enum>
|
| + <value>
|
| + <code>DECLARATION</code>
|
| + <p>
|
| + The declaration of an element.
|
| + </p>
|
| + </value>
|
| + <value>
|
| + <code>INVOCATION</code>
|
| + <p>
|
| + The invocation of a function or method.
|
| + </p>
|
| + </value>
|
| + <value>
|
| + <code>READ</code>
|
| + <p>
|
| + A reference to a field, parameter or variable where it is being read.
|
| + </p>
|
| + </value>
|
| + <value>
|
| + <code>READ_WRITE</code>
|
| + <p>
|
| + A reference to a field, parameter or variable where it is being read and written.
|
| + </p>
|
| + </value>
|
| + <value>
|
| + <code>REFERENCE</code>
|
| + <p>
|
| + A reference to an element.
|
| + </p>
|
| + </value>
|
| + <value>
|
| + <code>WRITE</code>
|
| + <p>
|
| + A reference to a field, parameter or variable where it is being written.
|
| + </p>
|
| + </value>
|
| + </enum>
|
| + </type>
|
| + <type name="ServerService">
|
| + <p>
|
| + An enumeration of the services provided by the server domain.
|
| + </p>
|
| + <enum>
|
| + <value><code>STATUS</code></value>
|
| + </enum>
|
| + </type>
|
| + <type name="SourceChange">
|
| + <p>
|
| + A description of a set of edits that implement a single
|
| + conceptual change.
|
| + </p>
|
| + <object>
|
| + <field name="message">
|
| + <ref>String</ref>
|
| + <p>
|
| + A human-readable description of the change to be applied.
|
| + </p>
|
| + </field>
|
| + <field name="edits">
|
| + <list><ref>SourceFileEdit</ref></list>
|
| + <p>
|
| + A list of the edits used to effect the change, grouped by
|
| + file.
|
| + </p>
|
| + </field>
|
| + <field name="linkedEditGroups">
|
| + <list><ref>LinkedEditGroup</ref></list>
|
| + <p>
|
| + A list of the linked editing groups used to customize
|
| + the changes that were made.
|
| + </p>
|
| + </field>
|
| + <field name="selection" optional="true">
|
| + <ref>Position</ref>
|
| + <p>
|
| + The position that should be selected after the edits
|
| + have been applied.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="SourceEdit">
|
| + <p>
|
| + A description of a single change to a single file.
|
| + </p>
|
| + <object>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset of the region to be modified.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the region to be modified.
|
| + </p>
|
| + </field>
|
| + <field name="replacement">
|
| + <ref>String</ref>
|
| + <p>
|
| + The code that is to replace the specified region in the
|
| + original code.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="SourceFileEdit">
|
| + <p>
|
| + A description of a set of changes to a single file.
|
| + </p>
|
| + <object>
|
| + <field name="file">
|
| + <ref>FilePath</ref>
|
| + <p>
|
| + The file containing the code to be modified.
|
| + </p>
|
| + </field>
|
| + <field name="edits">
|
| + <list><ref>SourceEdit</ref></list>
|
| + <p>
|
| + A list of the edits used to effect the change.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + <type name="TypeHierarchyItem">
|
| + <p>
|
| + A representation of a class in a type hierarchy.
|
| + </p>
|
| + <object>
|
| + <field name="classElement">
|
| + <ref>Element</ref>
|
| + <p>
|
| + The class element represented by this item.
|
| + </p>
|
| + </field>
|
| + <field name="displayName" optional="true">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name to be displayed for the class. This field will be
|
| + omitted if the display name is the same as the name of the
|
| + element. The display name is different if there is
|
| + additional type information to be displayed, such as type
|
| + arguments.
|
| + </p>
|
| + </field>
|
| + <field name="memberElement" optional="true">
|
| + <ref>Element</ref>
|
| + <p>
|
| + The member in the class corresponding to the member on
|
| + which the hierarchy was requested. This field will be
|
| + omitted if the hierarchy was not requested for a member or
|
| + if the class does not have a corresponding member.
|
| + </p>
|
| + </field>
|
| + <field name="superclass" optional="true">
|
| + <ref>int</ref>
|
| + <p>
|
| + The index of the item representing the superclass of
|
| + this class. This field will be omitted if this item
|
| + represents the class Object.
|
| + </p>
|
| + </field>
|
| + <field name="interfaces">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The indexes of the items representing the interfaces
|
| + implemented by this class. The list will be empty if
|
| + there are no implemented interfaces.
|
| + </p>
|
| + </field>
|
| + <field name="mixins">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The indexes of the items representing the mixins
|
| + referenced by this class. The list will be empty if
|
| + there are no classes mixed in to this class.
|
| + </p>
|
| + </field>
|
| + <field name="subclasses">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The indexes of the items representing the subtypes of
|
| + this class. The list will be empty if there are no
|
| + subtypes or if this item represents a supertype of the
|
| + pivot type.
|
| + </p>
|
| + </field>
|
| + </object>
|
| + </type>
|
| + </types>
|
| + <refactorings>
|
| + <h2><a name="refactorings">Refactorings</a></h2>
|
| + <p>
|
| + This section contains additional information for each kind of
|
| + refactoring. In addition to a brief description of the
|
| + refactoring, there is a specification of the feedback that is
|
| + provided when a refactoring is created using the
|
| + edit.createRefactoring request (designed to improve the UX)
|
| + and the options that must be set using the
|
| + edit.setRefactoringOptions request before the refactoring can
|
| + be applied.
|
| + </p>
|
| + <refactoring kind="CONVERT_GETTER_TO_METHOD">
|
| + <p>
|
| + Convert a getter into a method by removing the keyword get
|
| + and adding an empty parameter list.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than all
|
| + or part of the name of a single getter.
|
| + </p>
|
| + </refactoring>
|
| + <refactoring kind="CONVERT_METHOD_TO_GETTER">
|
| + <p>
|
| + Convert a method into a getter by adding the keyword get and
|
| + removing the parameter list.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than all
|
| + or part of the name of a single method or if the method has
|
| + a non-empty parameter list.
|
| + </p>
|
| + </refactoring>
|
| + <refactoring kind="EXTRACT_LOCAL_VARIABLE">
|
| + <p>
|
| + Create a local variable initialized by a specified
|
| + expression.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than a
|
| + complete expression (no partial expressions are allowed).
|
| + </p>
|
| + <feedback>
|
| + <field name="names">
|
| + <list><ref>String</ref></list>
|
| + <p>
|
| + The proposed names for the local variable.
|
| + </p>
|
| + </field>
|
| + <field name="offsets">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The offsets of the expressions that would be replaced by
|
| + a reference to the variable.
|
| + </p>
|
| + </field>
|
| + <field name="lengths">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The lengths of the expressions that would be replaced by
|
| + a reference to the variable. The lengths correspond to
|
| + the offsets. In other words, for a given expression, if
|
| + the offset of that expression is offsets[i], then the
|
| + length of that expression is lengths[i].
|
| + </p>
|
| + </field>
|
| + </feedback>
|
| + <options>
|
| + <field name="name">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name that the local variable should be given.
|
| + </p>
|
| + </field>
|
| + <field name="extractAll">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if all occurrences of the expression within the
|
| + scope in which the variable will be defined should be
|
| + replaced by a reference to the local variable. The
|
| + expression used to initiate the refactoring will always
|
| + be replaced.
|
| + </p>
|
| + </field>
|
| + </options>
|
| + </refactoring>
|
| + <refactoring kind="EXTRACT_METHOD">
|
| + <p>
|
| + Create a method whose body is the specified expression or
|
| + list of statements, possibly augmented with a return
|
| + statement.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than a
|
| + complete expression (no partial expressions are allowed) or
|
| + a complete sequence of statements.
|
| + </p>
|
| + <feedback>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset to the beginning of the expression or
|
| + statements that will be extracted.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the expression or statements that will be
|
| + extracted.
|
| + </p>
|
| + </field>
|
| + <field name="returnType">
|
| + <ref>String</ref>
|
| + <p>
|
| + The proposed return type for the method.
|
| + </p>
|
| + </field>
|
| + <field name="names">
|
| + <list><ref>String</ref></list>
|
| + <p>
|
| + The proposed names for the method.
|
| + </p>
|
| + </field>
|
| + <field name="canCreateGetter">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if a getter could be created rather than a method.
|
| + </p>
|
| + </field>
|
| + <field name="parameters">
|
| + <list><ref>Parameter</ref></list>
|
| + <p>
|
| + The proposed parameters for the method.
|
| + </p>
|
| + </field>
|
| + <field name="occurrences">
|
| + <ref>int</ref>
|
| + <p>
|
| + The number of times the expression or statements occurs.
|
| + </p>
|
| + </field>
|
| + <field name="offsets">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The offsets of the expressions or statements that would
|
| + be replaced by an invocation of the method.
|
| + </p>
|
| + </field>
|
| + <field name="lengths">
|
| + <list><ref>int</ref></list>
|
| + <p>
|
| + The lengths of the expressions or statements that would
|
| + be replaced by an invocation of the method. The lengths
|
| + correspond to the offsets. In other words, for a given
|
| + expression (or block of statements), if the offset of
|
| + that expression is offsets[i], then the length of that
|
| + expression is lengths[i].
|
| + </p>
|
| + </field>
|
| + </feedback>
|
| + <options>
|
| + <field name="returnType">
|
| + <ref>String</ref>
|
| + <p>
|
| + The return type that should be defined for the method.
|
| + </p>
|
| + </field>
|
| + <field name="createGetter">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if a getter should be created rather than a
|
| + method. It is an error if this field is true and the
|
| + list of parameters is non-empty.
|
| + </p>
|
| + </field>
|
| + <field name="name">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name that the method should be given.
|
| + </p>
|
| + </field>
|
| + <field name="parameters">
|
| + <list><ref>Parameter</ref></list>
|
| + <p>
|
| + The parameters that should be defined for the method.
|
| + </p>
|
| + </field>
|
| + <field name="extractAll">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if all occurrences of the expression or statements
|
| + should be replaced by an invocation of the method. The
|
| + expression or statements used to initiate the
|
| + refactoring will always be replaced.
|
| + </p>
|
| + </field>
|
| + </options>
|
| + </refactoring>
|
| + <refactoring kind="INLINE_LOCAL_VARIABLE">
|
| + <p>
|
| + Inline the initializer expression of a local variable in
|
| + place of any references to that variable.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than all
|
| + or part of the name of a single local variable.
|
| + </p>
|
| + </refactoring>
|
| + <refactoring kind="INLINE_METHOD">
|
| + <p>
|
| + Inline a method in place of one or all references to that
|
| + method.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than all
|
| + or part of the name of a single method.
|
| + </p>
|
| + <options>
|
| + <field name="deleteSource">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if the method being inlined should be removed. It
|
| + is an error if this field is true and inlineAll is
|
| + false.
|
| + </p>
|
| + </field>
|
| + <field name="inlineAll">
|
| + <ref>bool</ref>
|
| + <p>
|
| + True if all invocations of the method should be inlined,
|
| + or false if only the invocation site used to create this
|
| + refactoring should be inlined.
|
| + </p>
|
| + </field>
|
| + </options>
|
| + </refactoring>
|
| + <refactoring kind="RENAME">
|
| + <p>
|
| + Rename a given element and all of the references to that
|
| + element.
|
| + </p>
|
| + <p>
|
| + It is an error if the range contains anything other than all
|
| + or part of the name of a single function (including methods,
|
| + getters and setters), variable (including fields, parameters
|
| + and local variables), class or function type.
|
| + </p>
|
| + <feedback>
|
| + <field name="offset">
|
| + <ref>int</ref>
|
| + <p>
|
| + The offset to the beginning of the name selected to be
|
| + renamed.
|
| + </p>
|
| + </field>
|
| + <field name="length">
|
| + <ref>int</ref>
|
| + <p>
|
| + The length of the name selected to be renamed.
|
| + </p>
|
| + </field>
|
| + </feedback>
|
| + <options>
|
| + <field name="newName">
|
| + <ref>String</ref>
|
| + <p>
|
| + The name that the element should have after the
|
| + refactoring.
|
| + </p>
|
| + </field>
|
| + </options>
|
| + </refactoring>
|
| + </refactorings>
|
| + <h2>Errors</h2>
|
| + <p>
|
| + This section contains a list of all of the errors that are
|
| + produced by the server and the data that is returned with each.
|
| + </p>
|
| + <p>
|
| + TBD
|
| + </p>
|
| + </body>
|
| +</html>
|
|
|