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

Side by Side Diff: pkg/analysis_server/doc/api.html

Issue 2879273002: Make server use the common protocol classes (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html><html><head> 1 <!DOCTYPE html><html><head>
2 <meta charset="UTF-8"> 2 <meta charset="UTF-8">
3 <title>Analysis Server API Specification</title> 3 <title>Analysis Server API Specification</title>
4 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Co de+Pro|Roboto:500,400italic,300,400" type="text/css"><style>body { 4 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Code +Pro|Roboto:500,400italic,300,400" type="text/css"><style>body {
5 font-family: 'Roboto', sans-serif; 5 font-family: 'Roboto', sans-serif;
6 max-width: 800px; 6 max-width: 800px;
7 margin: 0 auto; 7 margin: 0 auto;
8 padding: 0 16px; 8 padding: 0 16px;
9 font-size: 16px; 9 font-size: 16px;
10 line-height: 1.5; 10 line-height: 1.5;
11 color: #111; 11 color: #111;
12 background-color: #fdfdfd; 12 background-color: #fdfdfd;
13 font-weight: 300; 13 font-weight: 300;
14 -webkit-font-smoothing: auto; 14 -webkit-font-smoothing: auto;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 padding-left: 0; 99 padding-left: 0;
100 margin-left: 0; 100 margin-left: 0;
101 101
102 -webkit-margin-before: 0; 102 -webkit-margin-before: 0;
103 -webkit-margin-start: 0; 103 -webkit-margin-start: 0;
104 -webkit-padding-start: 0; 104 -webkit-padding-start: 0;
105 105
106 list-style-type: none; 106 list-style-type: none;
107 } 107 }
108 </style></head> 108 </style></head>
109 <body> 109 <body>
110 <h1>Analysis Server API Specification</h1> 110 <h1>Analysis Server API Specification</h1>
111 <h1 style="color:#999999">Version 1.18.1</h1> 111 <h1 style="color:#999999">Version
112 <p> 112 1.18.1
113 This document contains a specification of the API provided by the 113 </h1>
114 analysis server. The API in this document is currently under 114 <p>
115 development. Changes to the API will be accompanied by an update to the 115 This document contains a specification of the API provided by the
116 protocol version number according to the principles of semantic 116 analysis server. The API in this document is currently under
117 versioning (<a href="http://semver.org/">semver.org</a>). 117 development. Changes to the API will be accompanied by an update to the
118 </p> 118 protocol version number according to the principles of semantic
119 <h2>Overview</h2> 119 versioning (<a href="http://semver.org/">semver.org</a>).
120 <p> 120 </p>
121 The analysis server API is a bi-directional client-server 121 <h2>Overview</h2>
122 API. The API is independent of the transport mechanism used, but 122 <p>
123 is heavily influenced by a model in which sockets or character 123 The analysis server API is a bi-directional client-server
124 streams are used to transport JSON-RPC encoded information. 124 API. The API is independent of the transport mechanism used, but
125 </p> 125 is heavily influenced by a model in which sockets or character
126 <h3>Transport Mechanism</h3> 126 streams are used to transport JSON-RPC encoded information.
127 <p> 127 </p>
128 The characters passed to the server are expected to be encoded 128 <h3>Transport Mechanism</h3>
129 using UTF-8. 129 <p>
130 </p> 130 The characters passed to the server are expected to be encoded
131 <p> 131 using UTF-8.
132 When character streams are used as the transport, messages are 132 </p>
133 delineated by newlines. This means, in particular, that the JSON 133 <p>
134 encoding process must not introduce newlines within a 134 When character streams are used as the transport, messages are
135 message. Note however that newlines are used in this document 135 delineated by newlines. This means, in particular, that the JSON
136 for readability. 136 encoding process must not introduce newlines within a
137 </p> 137 message. Note however that newlines are used in this document
138 <p> 138 for readability.
139 It is the client's responsibility to read output from the server to 139 </p>
140 avoid its blocking. 140 <p>
141 </p> 141 It is the client's responsibility to read output from the server to
142 <p> 142 avoid its blocking.
143 To ease interoperability with Lisp-based clients (which may not 143 </p>
144 be able to easily distinguish between empty lists, empty maps, 144 <p>
145 and null), client-to-server communication is allowed to replace 145 To ease interoperability with Lisp-based clients (which may not
146 any instance of "<tt>{}</tt>" or "<tt>[]</tt>" with null. The 146 be able to easily distinguish between empty lists, empty maps,
147 server will always properly represent empty lists as 147 and null), client-to-server communication is allowed to replace
148 "<tt>[]</tt>" and empty maps as "<tt>{}</tt>". 148 any instance of "<tt>{}</tt>" or "<tt>[]</tt>" with null. The
149 </p> 149 server will always properly represent empty lists as
150 <h3>Communication Structure</h3> 150 "<tt>[]</tt>" and empty maps as "<tt>{}</tt>".
151 <p> 151 </p>
152 Clients can make a request of the server and the server will 152 <h3>Communication Structure</h3>
153 provide a response for each request that it receives. While many 153 <p>
154 of the requests that can be made by a client are informational 154 Clients can make a request of the server and the server will
155 in nature, we have chosen to always return a response so that 155 provide a response for each request that it receives. While many
156 clients can know whether the request was received and was 156 of the requests that can be made by a client are informational
157 correct. 157 in nature, we have chosen to always return a response so that
158 </p> 158 clients can know whether the request was received and was
159 <p> 159 correct.
160 There is no guarantee concerning the order in which responses 160 </p>
161 will be returned, but there is a guarantee that the server will 161 <p>
162 process requests in the order in which they are sent as long as 162 There is no guarantee concerning the order in which responses
163 the transport mechanism also makes this guarantee. Responses can 163 will be returned, but there is a guarantee that the server will
164 be returned in an order that is different from the order in 164 process requests in the order in which they are sent as long as
165 which the requests were received because some requests take 165 the transport mechanism also makes this guarantee. Responses can
166 longer to process than others. 166 be returned in an order that is different from the order in
167 </p> 167 which the requests were received because some requests take
168 <p> 168 longer to process than others.
169 Every request is required to have two fields and may have two 169 </p>
170 additional optional fields. The first required field is the ‘id’ 170 <p>
171 field, which is only used by the server to associate a response 171 Every request is required to have two fields and may have two
172 with the request that generated the response. The second 172 additional optional fields. The first required field is the ‘id’
173 required field is the ‘method’ field, which is used to determine 173 field, which is only used by the server to associate a response
174 what the server is being requested to do. One optional field is 174 with the request that generated the response. The second
175 the ‘params’ field, whose structure is dependent on the method 175 required field is the ‘method’ field, which is used to determine
176 being requested. The structure of this field is described with 176 what the server is being requested to do. One optional field is
177 each request for which it is required. The other optional field 177 the ‘params’ field, whose structure is dependent on the method
178 is the 'clientRequestTime' field, which is a number indicating 178 being requested. The structure of this field is described with
179 the time at which the client made the request (milliseconds 179 each request for which it is required. The other optional field
180 since epoch). Providing clientRequestTime helps us track 180 is the 'clientRequestTime' field, which is a number indicating
181 how responsive analysis server is to client requests 181 the time at which the client made the request (milliseconds
182 and better address any issues that occur. 182 since epoch). Providing clientRequestTime helps us track
183 </p> 183 how responsive analysis server is to client requests
184 <p> 184 and better address any issues that occur.
185 Every response has up to three fields. The first field is the 185 </p>
186 ‘id’ field, which is always present and whose value is the 186 <p>
187 identifier that was passed to the request that generated the 187 Every response has up to three fields. The first field is the
188 response. The second field is the ‘error’ field, which is only 188 ‘id’ field, which is always present and whose value is the
189 present if an error was encountered while processing the 189 identifier that was passed to the request that generated the
190 request. The third field is the ‘result’ field, whose structure 190 response. The second field is the ‘error’ field, which is only
191 is dependent on the method being responded to, and is described 191 present if an error was encountered while processing the
192 with each request that will produce it. 192 request. The third field is the ‘result’ field, whose structure
193 </p> 193 is dependent on the method being responded to, and is described
194 <p> 194 with each request that will produce it.
195 The server can also communicate to the clients by sending a 195 </p>
196 notification. The purpose of these notifications is to provide 196 <p>
197 information to clients as it becomes available rather than to 197 The server can also communicate to the clients by sending a
198 require that clients poll for it. Unless explicitly stated, all 198 notification. The purpose of these notifications is to provide
199 notifications are designed to return the complete information 199 information to clients as it becomes available rather than to
200 available at the time the notification is sent; clients are not 200 require that clients poll for it. Unless explicitly stated, all
201 required to update previously communicated 201 notifications are designed to return the complete information
202 results. Consequently, the server can and should return partial 202 available at the time the notification is sent; clients are not
203 results before all results are available. For example, the 203 required to update previously communicated
204 syntactic errors for a file can be returned as soon as the 204 results. Consequently, the server can and should return partial
205 syntactic analysis is complete, and both syntactic and semantic 205 results before all results are available. For example, the
206 errors can be returned together at a later time. 206 syntactic errors for a file can be returned as soon as the
207 </p> 207 syntactic analysis is complete, and both syntactic and semantic
208 <p> 208 errors can be returned together at a later time.
209 Each notification has two fields. The first field is the ‘event’ 209 </p>
210 field, which identifies the kind of notification. The second 210 <p>
211 field is the ‘params’ field, whose structure is dependent on the 211 Each notification has two fields. The first field is the ‘event’
212 kind of notification being sent. The structure of this field is 212 field, which identifies the kind of notification. The second
213 described with each notification. 213 field is the ‘params’ field, whose structure is dependent on the
214 </p> 214 kind of notification being sent. The structure of this field is
215 <p> 215 described with each notification.
216 In order to be backward compatible, clients should ignore fields that were 216 </p>
217 not specified in the version of the API on which they were based. Clients 217 <p>
218 should also use the server.getVersion request to test that the version of 218 In order to be backward compatible, clients should ignore fields that were
219 the server supports an API before using it. 219 not specified in the version of the API on which they were based. Clients
220 </p> 220 should also use the server.getVersion request to test that the version of
221 <h3>Eventual Consistency</h3> 221 the server supports an API before using it.
222 <p> 222 </p>
223 The analysis server satisfies requests under the principle of 223 <h3>Eventual Consistency</h3>
224 <a href="https://en.wikipedia.org/wiki/Eventual_consistency">eventual cons istency</a>. 224 <p>
225 That is, in some cases it may return responses with the currently availabl e 225 The analysis server satisfies requests under the principle of
226 results while it's catching up with unprocessed changes. 226 <a href="https://en.wikipedia.org/wiki/Eventual_consistency">eventual
227 </p> 227 consistency</a>.
228 <h3>Domains</h3> 228 That is, in some cases it may return responses with the currently available
229 <p> 229 results while it's catching up with unprocessed changes.
230 For convenience, the API is divided into domains. Each domain is specified 230 </p>
231 in a separate section below. The specifications of the API’s refer to data 231 <h3>Domains</h3>
232 structures beyond the standard JSON primitives. These data structures are 232 <p>
233 documented in the section titled <a href="#types">Types</a>. 233 For convenience, the API is divided into domains. Each domain is specified
234 </p> 234 in a separate section below. The specifications of the API’s refer to data
235 235 structures beyond the standard JSON primitives. These data structures are
236 documented in the section titled <a href="#types">Types</a>.
237 </p>
238
236 <p><a href="#domain_server">Server</a></p><ul><li><a href="#request_server.getVe rsion">server.getVersion</a></li> 239 <p><a href="#domain_server">Server</a></p><ul><li><a href="#request_server.getVe rsion">server.getVersion</a></li>
237 <li><a href="#request_server.shutdown">server.shutdown</a></li> 240 <li><a href="#request_server.shutdown">server.shutdown</a></li>
238 <li><a href="#request_server.setSubscriptions">server.setSubscriptions</a></li> 241 <li><a href="#request_server.setSubscriptions">server.setSubscriptions</a></li>
239 </ul> 242 </ul>
240 243
241 <p><a href="#domain_analysis">Analysis</a></p><ul><li><a href="#request_analysis .getErrors">analysis.getErrors</a></li> 244 <p><a href="#domain_analysis">Analysis</a></p><ul><li><a href="#request_analysis .getErrors">analysis.getErrors</a></li>
242 <li><a href="#request_analysis.getHover">analysis.getHover</a></li> 245 <li><a href="#request_analysis.getHover">analysis.getHover</a></li>
243 <li><a href="#request_analysis.getReachableSources">analysis.getReachableSources </a></li> 246 <li><a href="#request_analysis.getReachableSources">analysis.getReachableSources </a></li>
244 <li><a href="#request_analysis.getLibraryDependencies">analysis.getLibraryDepend encies</a></li> 247 <li><a href="#request_analysis.getLibraryDependencies">analysis.getLibraryDepend encies</a></li>
245 <li><a href="#request_analysis.getNavigation">analysis.getNavigation</a></li> 248 <li><a href="#request_analysis.getNavigation">analysis.getNavigation</a></li>
(...skipping 29 matching lines...) Expand all
275 <p><a href="#domain_execution">Execution</a></p><ul><li><a href="#request_execut ion.createContext">execution.createContext</a></li> 278 <p><a href="#domain_execution">Execution</a></p><ul><li><a href="#request_execut ion.createContext">execution.createContext</a></li>
276 <li><a href="#request_execution.deleteContext">execution.deleteContext</a></li> 279 <li><a href="#request_execution.deleteContext">execution.deleteContext</a></li>
277 <li><a href="#request_execution.mapUri">execution.mapUri</a></li> 280 <li><a href="#request_execution.mapUri">execution.mapUri</a></li>
278 <li><a class="deprecated" href="#request_execution.setSubscriptions">execution.s etSubscriptions</a></li> 281 <li><a class="deprecated" href="#request_execution.setSubscriptions">execution.s etSubscriptions</a></li>
279 </ul> 282 </ul>
280 283
281 <p><a href="#domain_diagnostic">Diagnostic</a></p><ul><li><a href="#request_diag nostic.getDiagnostics">diagnostic.getDiagnostics</a></li> 284 <p><a href="#domain_diagnostic">Diagnostic</a></p><ul><li><a href="#request_diag nostic.getDiagnostics">diagnostic.getDiagnostics</a></li>
282 <li><a href="#request_diagnostic.getServerPort">diagnostic.getServerPort</a></li > 285 <li><a href="#request_diagnostic.getServerPort">diagnostic.getServerPort</a></li >
283 </ul> 286 </ul>
284 287
285 <h3>Command-line Arguments</h3> 288 <h3>Command-line Arguments</h3>
286 <p> 289 <p>
287 The command-line arguments that can be passed to the server. 290 The command-line arguments that can be passed to the server.
288 </p> 291 </p>
289 <h4>Options</h4> 292 <h4>Options</h4>
290 <blockquote> 293 <blockquote>
291 <dl> 294 <dl>
292 <dt>--client-id</dt> 295 <dt>--client-id</dt>
293 <dd> 296 <dd>
294 <p> 297 <p>
295 Specifies an identifier associated with the client. Used when 298 Specifies an identifier associated with the client. Used when
296 generating error reports. 299 generating error reports.
297 </p>
298 <p>
299 Clients are strongly encouraged to provide this information in
300 order to improve the quality of information that can be provided
301 to them.
302 </p>
303 </dd>
304 </dl>
305 <dl>
306 <dt>--client-version</dt>
307 <dd>
308 <p>
309 Specifies the version of the client that is communicating with
310 the server. Used when generating error reports.
311 </p> 300 </p>
312 <p> 301 <p>
313 Clients are strongly encouraged to provide this information in 302 Clients are strongly encouraged to provide this information in
314 order to improve the quality of information that can be provided 303 order to improve the quality of information that can be provided
315 to them. 304 to them.
316 </p> 305 </p>
317 </dd> 306 </dd>
318 </dl> 307 </dl>
319 <dl> 308 <dl>
320 <dt class="deprecated">--no-error-notification</dt> 309 <dt>--client-version</dt>
321 <dd> 310 <dd>
322 <p><b>Deprecated:</b> clients should no longer pass this option in</p>
323 Disable notifications about errors (see analysis.error). If this
324 flag is not specified then notifications will be sent for all
325 errors produced for all files in the actual analysis roots.
326 </dd>
327 </dl>
328 <dl>
329 <dt class="deprecated">--no-index</dt>
330 <dd>
331 <p><b>Deprecated:</b> clients should no longer pass this option in</p>
332 This flag used to disable the server from generating an index, but now
333 it has no effect.
334 </dd>
335 </dl>
336 <dl>
337 <dt class="deprecated">--file-read-mode</dt>
338 <dd>
339 <p><b>Deprecated:</b> clients should no longer pass this option in</p>
340 An enumeration of the ways files can be read from disk. Some clients
341 normalize end of line characters which would make the file offset and
342 range information incorrect. The default option is <tt>as-is</tt>, but
343 can also be set to <tt>normalize-eol-always</tt>. The default option
344 (<tt>as-is</tt>) reads files as they are on disk. The
345 <tt>normalize-eol-always</tt> option does the following:
346 <ul>
347 <li>'\r\n' is converted to '\n';</li>
348 <li>'\r' by itself is converted to '\n';</li>
349 <li>this happens regardless of the OS editor is running on.</li>
350 </ul>
351 </dd>
352 </dl>
353 </blockquote>
354 <h1>Domains</h1>
355 <h2 class="domain"><a name="domain_server">server domain</a></h2>
356 <p> 311 <p>
357 The server domain contains API’s related to the execution of 312 Specifies the version of the client that is communicating with
358 the server. 313 the server. Used when generating error reports.
359 </p> 314 </p>
360 315 <p>
361 316 Clients are strongly encouraged to provide this information in
362 317 order to improve the quality of information that can be provided
363 318 to them.
364 319 </p>
365 320 </dd>
366 <h3>Requests</h3><dl><dt class="request"><a name="request_server.getVersion" >server.getVersion</a></dt><dd><div class="box"><pre>request: { 321 </dl>
322 <dl>
323 <dt class="deprecated">--no-error-notification</dt>
324 <dd>
325 <p><b>Deprecated:</b> clients should no longer pass this option in</p>
326 Disable notifications about errors (see analysis.error). If this
327 flag is not specified then notifications will be sent for all
328 errors produced for all files in the actual analysis roots.
329 </dd>
330 </dl>
331 <dl>
332 <dt class="deprecated">--no-index</dt>
333 <dd>
334 <p><b>Deprecated:</b> clients should no longer pass this option in</p>
335 This flag used to disable the server from generating an index, but now
336 it has no effect.
337 </dd>
338 </dl>
339 <dl>
340 <dt class="deprecated">--file-read-mode</dt>
341 <dd>
342 <p><b>Deprecated:</b> clients should no longer pass this option in</p>
343 An enumeration of the ways files can be read from disk. Some clients
344 normalize end of line characters which would make the file offset and
345 range information incorrect. The default option is <tt>as-is</tt>, but
346 can also be set to <tt>normalize-eol-always</tt>. The default option
347 (<tt>as-is</tt>) reads files as they are on disk. The
348 <tt>normalize-eol-always</tt> option does the following:
349 <ul>
350 <li>'\r\n' is converted to '\n';</li>
351 <li>'\r' by itself is converted to '\n';</li>
352 <li>this happens regardless of the OS editor is running on.</li>
353 </ul>
354 </dd>
355 </dl>
356 </blockquote>
357 <h1>Domains</h1>
358 <h2 class="domain"><a name="domain_server">server domain</a></h2>
359 <p>
360 The server domain contains API’s related to the execution of
361 the server.
362 </p>
363
364
365
366
367
368
369 <h3>Requests</h3><dl><dt class="request"><a name="request_server.getVersion">ser ver.getVersion</a></dt><dd><div class="box"><pre>request: {
367 "id": String 370 "id": String
368 "method": "server.getVersion" 371 "method": "server.getVersion"
369 }</pre><br><pre>response: { 372 }</pre><br><pre>response: {
370 "id": String 373 "id": String
371 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 374 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
372 "result": { 375 "result": {
373 "<b>version</b>": String 376 "<b>version</b>": String
374 } 377 }
375 }</pre></div> 378 }</pre></div>
376 <p>Return the version number of the analysis server.</p> 379 <p>Return the version number of the analysis server.</p>
380
381 <h4>returns:</h4><dl><dt class="field"><b>version: String</b></dt><dd>
377 382
378 <h4>returns:</h4><dl><dt class="field"><b>version: String</b></dt><dd> 383 <p>The version number of the analysis server.</p>
379 384 </dd></dl></dd><dt class="request"><a name="request_server.shutdown">serve r.shutdown</a></dt><dd><div class="box"><pre>request: {
380 <p>The version number of the analysis server.</p>
381 </dd></dl></dd><dt class="request"><a name="request_server.shutdown">s erver.shutdown</a></dt><dd><div class="box"><pre>request: {
382 "id": String 385 "id": String
383 "method": "server.shutdown" 386 "method": "server.shutdown"
384 }</pre><br><pre>response: { 387 }</pre><br><pre>response: {
385 "id": String 388 "id": String
386 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 389 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
387 }</pre></div> 390 }</pre></div>
388 <p> 391 <p>
389 Cleanly shutdown the analysis server. Requests that are 392 Cleanly shutdown the analysis server. Requests that are
390 received after this request will not be processed. Requests 393 received after this request will not be processed. Requests
391 that were received before this request, but for which a 394 that were received before this request, but for which a
392 response has not yet been sent, will not be responded to. No 395 response has not yet been sent, will not be responded to. No
393 further responses or notifications will be sent after the 396 further responses or notifications will be sent after the
394 response to this request has been sent. 397 response to this request has been sent.
395 </p> 398 </p>
396 </dd><dt class="request"><a name="request_server.setSubscriptions">server. setSubscriptions</a></dt><dd><div class="box"><pre>request: { 399 </dd><dt class="request"><a name="request_server.setSubscriptions">server.setS ubscriptions</a></dt><dd><div class="box"><pre>request: {
397 "id": String 400 "id": String
398 "method": "server.setSubscriptions" 401 "method": "server.setSubscriptions"
399 "params": { 402 "params": {
400 "<b>subscriptions</b>": List&lt;<a href="#type_ServerService">ServerService< /a>&gt; 403 "<b>subscriptions</b>": List&lt;<a href="#type_ServerService">ServerService< /a>&gt;
401 } 404 }
402 }</pre><br><pre>response: { 405 }</pre><br><pre>response: {
403 "id": String 406 "id": String
404 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 407 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
405 }</pre></div> 408 }</pre></div>
406 <p> 409 <p>
407 Subscribe for services. All previous subscriptions are 410 Subscribe for services. All previous subscriptions are
408 replaced by the given set of services. 411 replaced by the given set of services.
409 </p> 412 </p>
410 <p> 413 <p>
411 It is an error if any of the elements in the list are not 414 It is an error if any of the elements in the list are not
412 valid services. If there is an error, then the current 415 valid services. If there is an error, then the current
413 subscriptions will remain unchanged. 416 subscriptions will remain unchanged.
414 </p> 417 </p>
418
419 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: List&lt;<a href="# type_ServerService">ServerService</a>&gt;</b></dt><dd>
415 420
416 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: List&lt;<a hre f="#type_ServerService">ServerService</a>&gt;</b></dt><dd> 421 <p>A list of the services being subscribed to.</p>
417 422 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_server.connected">server.connected</a></dt><dd><div class="bo x"><pre>notification: {
418 <p>A list of the services being subscribed to.</p>
419 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification" ><a name="notification_server.connected">server.connected</a></dt><dd><div class ="box"><pre>notification: {
420 "event": "server.connected" 423 "event": "server.connected"
421 "params": { 424 "params": {
422 "<b>version</b>": String 425 "<b>version</b>": String
423 "<b>pid</b>": int 426 "<b>pid</b>": int
424 "<b>sessionId</b>": <span style="color:#999999">optional</span> String 427 "<b>sessionId</b>": <span style="color:#999999">optional</span> String
425 } 428 }
426 }</pre></div> 429 }</pre></div>
427 <p> 430 <p>
428 Reports that the server is running. This notification is 431 Reports that the server is running. This notification is
429 issued once after the server has started running but before 432 issued once after the server has started running but before
430 any requests are processed to let the client know that it 433 any requests are processed to let the client know that it
431 started correctly. 434 started correctly.
432 </p> 435 </p>
433 <p> 436 <p>
434 It is not possible to subscribe to or unsubscribe from this 437 It is not possible to subscribe to or unsubscribe from this
435 notification. 438 notification.
436 </p> 439 </p>
437 440
438 <h4>parameters:</h4><dl><dt class="field"><b>version: String</b></dt><dd> 441 <h4>parameters:</h4><dl><dt class="field"><b>version: String</b></dt><dd>
439 442
440 <p>The version number of the analysis server.</p> 443 <p>The version number of the analysis server.</p>
441 </dd><dt class="field"><b>pid: int</b></dt><dd> 444 </dd><dt class="field"><b>pid: int</b></dt><dd>
442 445
443 <p>The process id of the analysis server process.</p> 446 <p>The process id of the analysis server process.</p>
444 </dd><dt class="field"><b>sessionId: String<span style="color:#999999"> (optional)</span></b></dt><dd> 447 </dd><dt class="field"><b>sessionId: String<span style="color:#999999"> (o ptional)</span></b></dt><dd>
445 448
446 <p>The session id for this session.</p> 449 <p>The session id for this session.</p>
447 </dd></dl></dd><dt class="notification"><a name="notification_server.er ror">server.error</a></dt><dd><div class="box"><pre>notification: { 450 </dd></dl></dd><dt class="notification"><a name="notification_server.error ">server.error</a></dt><dd><div class="box"><pre>notification: {
448 "event": "server.error" 451 "event": "server.error"
449 "params": { 452 "params": {
450 "<b>isFatal</b>": bool 453 "<b>isFatal</b>": bool
451 "<b>message</b>": String 454 "<b>message</b>": String
452 "<b>stackTrace</b>": String 455 "<b>stackTrace</b>": String
453 } 456 }
454 }</pre></div> 457 }</pre></div>
458 <p>
459 Reports that an unexpected error has occurred while
460 executing the server. This notification is not used for
461 problems with specific requests (which are returned as part
462 of the response) but is used for exceptions that occur while
463 performing other tasks, such as analysis or preparing
464 notifications.
465 </p>
466 <p>
467 It is not possible to subscribe to or unsubscribe from this
468 notification.
469 </p>
470
471 <h4>parameters:</h4><dl><dt class="field"><b>isFatal: bool</b></dt><dd>
472
455 <p> 473 <p>
456 Reports that an unexpected error has occurred while 474 True if the error is a fatal error, meaning that the
457 executing the server. This notification is not used for 475 server will shutdown automatically after sending this
458 problems with specific requests (which are returned as part
459 of the response) but is used for exceptions that occur while
460 performing other tasks, such as analysis or preparing
461 notifications.
462 </p>
463 <p>
464 It is not possible to subscribe to or unsubscribe from this
465 notification. 476 notification.
466 </p> 477 </p>
478 </dd><dt class="field"><b>message: String</b></dt><dd>
467 479
468 <h4>parameters:</h4><dl><dt class="field"><b>isFatal: bool</b></dt><dd> 480 <p>
469 481 The error message indicating what kind of error was
470 <p> 482 encountered.
471 True if the error is a fatal error, meaning that the 483 </p>
472 server will shutdown automatically after sending this 484 </dd><dt class="field"><b>stackTrace: String</b></dt><dd>
473 notification. 485
474 </p> 486 <p>
475 </dd><dt class="field"><b>message: String</b></dt><dd> 487 The stack trace associated with the generation of the
476 488 error, used for debugging the server.
477 <p> 489 </p>
478 The error message indicating what kind of error was 490 </dd></dl></dd><dt class="notification"><a name="notification_server.statu s">server.status</a></dt><dd><div class="box"><pre>notification: {
479 encountered.
480 </p>
481 </dd><dt class="field"><b>stackTrace: String</b></dt><dd>
482
483 <p>
484 The stack trace associated with the generation of the
485 error, used for debugging the server.
486 </p>
487 </dd></dl></dd><dt class="notification"><a name="notification_server.s tatus">server.status</a></dt><dd><div class="box"><pre>notification: {
488 "event": "server.status" 491 "event": "server.status"
489 "params": { 492 "params": {
490 "<b>analysis</b>": <span style="color:#999999">optional</span> <a href="#typ e_AnalysisStatus">AnalysisStatus</a> 493 "<b>analysis</b>": <span style="color:#999999">optional</span> <a href="#typ e_AnalysisStatus">AnalysisStatus</a>
491 "<b>pub</b>": <span style="color:#999999">optional</span> <a href="#type_Pub Status">PubStatus</a> 494 "<b>pub</b>": <span style="color:#999999">optional</span> <a href="#type_Pub Status">PubStatus</a>
492 } 495 }
493 }</pre></div> 496 }</pre></div>
497 <p>
498 Reports the current status of the server. Parameters are
499 omitted if there has been no change in the status
500 represented by that parameter.
501 </p>
502 <p>
503 This notification is not subscribed to by default. Clients
504 can subscribe by including the value <tt>"STATUS"</tt> in
505 the list of services passed in a server.setSubscriptions
506 request.
507 </p>
508
509 <h4>parameters:</h4><dl><dt class="field"><b>analysis: <a href="#type_Analysis Status">AnalysisStatus</a><span style="color:#999999"> (optional)</span></b></dt ><dd>
510
494 <p> 511 <p>
495 Reports the current status of the server. Parameters are 512 The current status of analysis, including whether
496 omitted if there has been no change in the status 513 analysis is being performed and if so what is being
497 represented by that parameter. 514 analyzed.
498 </p> 515 </p>
516 </dd><dt class="field"><b>pub: <a href="#type_PubStatus">PubStatus</a><spa n style="color:#999999"> (optional)</span></b></dt><dd>
517
499 <p> 518 <p>
500 This notification is not subscribed to by default. Clients 519 The current status of pub execution, indicating whether we are
501 can subscribe by including the value <tt>"STATUS"</tt> in 520 currently running pub.
502 the list of services passed in a server.setSubscriptions
503 request.
504 </p> 521 </p>
505 522 </dd></dl></dd></dl>
506 <h4>parameters:</h4><dl><dt class="field"><b>analysis: <a href="#type_Anal ysisStatus">AnalysisStatus</a><span style="color:#999999"> (optional)</span></b> </dt><dd> 523 <h2 class="domain"><a name="domain_analysis">analysis domain</a></h2>
507 524 <p>
508 <p> 525 The analysis domain contains API’s related to the analysis of
509 The current status of analysis, including whether 526 files.
510 analysis is being performed and if so what is being 527 </p>
511 analyzed. 528
512 </p> 529
513 </dd><dt class="field"><b>pub: <a href="#type_PubStatus">PubStatus</a> <span style="color:#999999"> (optional)</span></b></dt><dd> 530
514 531
515 <p> 532
516 The current status of pub execution, indicating whether we are 533
517 currently running pub. 534
518 </p> 535
519 </dd></dl></dd></dl> 536
520 <h2 class="domain"><a name="domain_analysis">analysis domain</a></h2> 537
521 <p> 538
522 The analysis domain contains API’s related to the analysis of 539
523 files. 540
524 </p> 541
525 542
526 543
527 544
528 545
529 546
530 547
531 548
532 549
533 550
534 551 <h3>Requests</h3><dl><dt class="request"><a name="request_analysis.getErrors">an alysis.getErrors</a></dt><dd><div class="box"><pre>request: {
535
536
537
538
539
540
541
542
543
544
545
546
547
548 <h3>Requests</h3><dl><dt class="request"><a name="request_analysis.getErrors ">analysis.getErrors</a></dt><dd><div class="box"><pre>request: {
549 "id": String 552 "id": String
550 "method": "analysis.getErrors" 553 "method": "analysis.getErrors"
551 "params": { 554 "params": {
552 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 555 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
553 } 556 }
554 }</pre><br><pre>response: { 557 }</pre><br><pre>response: {
555 "id": String 558 "id": String
556 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 559 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
557 "result": { 560 "result": {
558 "<b>errors</b>": List&lt;<a href="#type_AnalysisError">AnalysisError</a>&gt; 561 "<b>errors</b>": List&lt;<a href="#type_AnalysisError">AnalysisError</a>&gt;
559 } 562 }
560 }</pre></div> 563 }</pre></div>
564 <p>
565 Return the errors associated with the given file. If the
566 errors for the given file have not yet been computed, or the
567 most recently computed errors for the given file are out of
568 date, then the response for this request will be delayed
569 until they have been computed. If some or all of the errors
570 for the file cannot be computed, then the subset of the
571 errors that can be computed will be returned and the
572 response will contain an error to indicate why the errors
573 could not be computed. If the content of the file changes after this
574 request was received but before a response could be sent, then an
575 error of type <tt>CONTENT_MODIFIED</tt> will be generated.
576 </p>
577 <p>
578 This request is intended to be used by clients that cannot
579 asynchronously apply updated error information. Clients that
580 <b>can</b> apply error information as it becomes available
581 should use the information provided by the 'analysis.errors'
582 notification.
583 </p>
584 <p>
585 If a request is made for a file which does not exist, or
586 which is not currently subject to analysis (e.g. because it
587 is not associated with any analysis root specified to
588 analysis.setAnalysisRoots), an error of type
589 <tt>GET_ERRORS_INVALID_FILE</tt> will be generated.
590 </p>
591
592
593 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
594
561 <p> 595 <p>
562 Return the errors associated with the given file. If the 596 The file for which errors are being requested.
563 errors for the given file have not yet been computed, or the
564 most recently computed errors for the given file are out of
565 date, then the response for this request will be delayed
566 until they have been computed. If some or all of the errors
567 for the file cannot be computed, then the subset of the
568 errors that can be computed will be returned and the
569 response will contain an error to indicate why the errors
570 could not be computed. If the content of the file changes after this
571 request was received but before a response could be sent, then an
572 error of type <tt>CONTENT_MODIFIED</tt> will be generated.
573 </p> 597 </p>
598 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>errors: List&lt;<a hre f="#type_AnalysisError">AnalysisError</a>&gt;</b></dt><dd>
599
574 <p> 600 <p>
575 This request is intended to be used by clients that cannot 601 The errors associated with the file.
576 asynchronously apply updated error information. Clients that
577 <b>can</b> apply error information as it becomes available
578 should use the information provided by the 'analysis.errors'
579 notification.
580 </p> 602 </p>
581 <p> 603 </dd></dl></dd><dt class="request"><a name="request_analysis.getHover">ana lysis.getHover</a></dt><dd><div class="box"><pre>request: {
582 If a request is made for a file which does not exist, or
583 which is not currently subject to analysis (e.g. because it
584 is not associated with any analysis root specified to
585 analysis.setAnalysisRoots), an error of type
586 <tt>GET_ERRORS_INVALID_FILE</tt> will be generated.
587 </p>
588
589
590 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd>
591
592 <p>
593 The file for which errors are being requested.
594 </p>
595 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>errors: List&lt;<a href="#type_AnalysisError">AnalysisError</a>&gt;</b></dt><dd>
596
597 <p>
598 The errors associated with the file.
599 </p>
600 </dd></dl></dd><dt class="request"><a name="request_analysis.getHover" >analysis.getHover</a></dt><dd><div class="box"><pre>request: {
601 "id": String 604 "id": String
602 "method": "analysis.getHover" 605 "method": "analysis.getHover"
603 "params": { 606 "params": {
604 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 607 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
605 "<b>offset</b>": int 608 "<b>offset</b>": int
606 } 609 }
607 }</pre><br><pre>response: { 610 }</pre><br><pre>response: {
608 "id": String 611 "id": String
609 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 612 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
610 "result": { 613 "result": {
611 "<b>hovers</b>": List&lt;<a href="#type_HoverInformation">HoverInformation</ a>&gt; 614 "<b>hovers</b>": List&lt;<a href="#type_HoverInformation">HoverInformation</ a>&gt;
612 } 615 }
613 }</pre></div> 616 }</pre></div>
617 <p>
618 Return the hover information associate with the given
619 location. If some or all of the hover information is not
620 available at the time this request is processed the
621 information will be omitted from the response.
622 </p>
623
624
625 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
626
614 <p> 627 <p>
615 Return the hover information associate with the given 628 The file in which hover information is being requested.
616 location. If some or all of the hover information is not
617 available at the time this request is processed the
618 information will be omitted from the response.
619 </p> 629 </p>
630 </dd><dt class="field"><b>offset: int</b></dt><dd>
620 631
632 <p>
633 The offset for which hover information is being requested.
634 </p>
635 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>hovers: List&lt;<a hre f="#type_HoverInformation">HoverInformation</a>&gt;</b></dt><dd>
621 636
622 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 637 <p>
623 638 The hover information associated with the
624 <p> 639 location. The list will be empty if no information
625 The file in which hover information is being requested. 640 could be determined for the location. The list can
626 </p> 641 contain multiple items if the file is being analyzed
627 </dd><dt class="field"><b>offset: int</b></dt><dd> 642 in multiple contexts in conflicting ways (such as a
628 643 part that is included in multiple libraries).
629 <p> 644 </p>
630 The offset for which hover information is being requested. 645 </dd></dl></dd><dt class="request"><a name="request_analysis.getReachableS ources">analysis.getReachableSources</a></dt><dd><div class="box"><pre>request: {
631 </p>
632 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>hovers: List&lt;<a href="#type_HoverInformation">HoverInformation</a>&gt;</b></dt><dd>
633
634 <p>
635 The hover information associated with the
636 location. The list will be empty if no information
637 could be determined for the location. The list can
638 contain multiple items if the file is being analyzed
639 in multiple contexts in conflicting ways (such as a
640 part that is included in multiple libraries).
641 </p>
642 </dd></dl></dd><dt class="request"><a name="request_analysis.getReacha bleSources">analysis.getReachableSources</a></dt><dd><div class="box"><pre>reque st: {
643 "id": String 646 "id": String
644 "method": "analysis.getReachableSources" 647 "method": "analysis.getReachableSources"
645 "params": { 648 "params": {
646 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 649 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
647 } 650 }
648 }</pre><br><pre>response: { 651 }</pre><br><pre>response: {
649 "id": String 652 "id": String
650 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 653 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
651 "result": { 654 "result": {
652 "<b>sources</b>": Map&lt;String, List&lt;String&gt;&gt; 655 "<b>sources</b>": Map&lt;String, List&lt;String&gt;&gt;
653 } 656 }
654 }</pre></div> 657 }</pre></div>
658 <p>
659 Return the transitive closure of reachable sources for a given file.
660 </p>
661 <p>
662 If a request is made for a file which does not exist, or
663 which is not currently subject to analysis (e.g. because it
664 is not associated with any analysis root specified to
665 analysis.setAnalysisRoots), an error of type
666 <tt>GET_REACHABLE_SOURCES_INVALID_FILE</tt> will be generated.
667 </p>
668
669
670 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
671
655 <p> 672 <p>
656 Return the transitive closure of reachable sources for a given file. 673 The file for which reachable source information is being requested.
657 </p> 674 </p>
675 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>sources: Map&lt;String , List&lt;String&gt;&gt;</b></dt><dd>
676
658 <p> 677 <p>
659 If a request is made for a file which does not exist, or 678 A mapping from source URIs to directly reachable source URIs. For
660 which is not currently subject to analysis (e.g. because it 679 example,
661 is not associated with any analysis root specified to 680 a file "foo.dart" that imports "bar.dart" would have the corresponding
662 analysis.setAnalysisRoots), an error of type 681 mapping
663 <tt>GET_REACHABLE_SOURCES_INVALID_FILE</tt> will be generated. 682 { "file:///foo.dart" : ["file:///bar.dart"] }. If "bar.dart" has
683 further imports
684 (or exports) there will be a mapping from the URI "file:///bar.dart"
685 to them.
686 To check if a specific URI is reachable from a given file, clients can
687 check
688 for its presence in the resulting key set.
664 </p> 689 </p>
665 690 </dd></dl></dd><dt class="request"><a name="request_analysis.getLibraryDep endencies">analysis.getLibraryDependencies</a></dt><dd><div class="box"><pre>req uest: {
666
667 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd>
668
669 <p>
670 The file for which reachable source information is being requested .
671 </p>
672 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>sources: Map&lt;St ring, List&lt;String&gt;&gt;</b></dt><dd>
673
674 <p>
675 A mapping from source URIs to directly reachable source URIs. For example,
676 a file "foo.dart" that imports "bar.dart" would have the correspon ding mapping
677 { "file:///foo.dart" : ["file:///bar.dart"] }. If "bar.dart" has further imports
678 (or exports) there will be a mapping from the URI "file:///bar.dar t" to them.
679 To check if a specific URI is reachable from a given file, clients can check
680 for its presence in the resulting key set.
681 </p>
682 </dd></dl></dd><dt class="request"><a name="request_analysis.getLibrar yDependencies">analysis.getLibraryDependencies</a></dt><dd><div class="box"><pre >request: {
683 "id": String 691 "id": String
684 "method": "analysis.getLibraryDependencies" 692 "method": "analysis.getLibraryDependencies"
685 }</pre><br><pre>response: { 693 }</pre><br><pre>response: {
686 "id": String 694 "id": String
687 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 695 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
688 "result": { 696 "result": {
689 "<b>libraries</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 697 "<b>libraries</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
690 "<b>packageMap</b>": Map&lt;String, Map&lt;String, List&lt;<a href="#type_Fi lePath">FilePath</a>&gt;&gt;&gt; 698 "<b>packageMap</b>": Map&lt;String, Map&lt;String, List&lt;<a href="#type_Fi lePath">FilePath</a>&gt;&gt;&gt;
691 } 699 }
692 }</pre></div> 700 }</pre></div>
701 <p>
702 Return library dependency information for use in client-side indexing
703 and package URI resolution.
704 </p>
705 <p>
706 Clients that are only using the libraries field should consider using the
707 analyzedFiles notification instead.
708 </p>
709
710 <h4>returns:</h4><dl><dt class="field"><b>libraries: List&lt;<a href="#type_Fi lePath">FilePath</a>&gt;</b></dt><dd>
711
693 <p> 712 <p>
694 Return library dependency information for use in client-side indexing 713 A list of the paths of library elements referenced by
695 and package URI resolution. 714 files in existing analysis roots.
696 </p> 715 </p>
716 </dd><dt class="field"><b>packageMap: Map&lt;String, Map&lt;String, List&l t;<a href="#type_FilePath">FilePath</a>&gt;&gt;&gt;</b></dt><dd>
717
697 <p> 718 <p>
698 Clients that are only using the libraries field should consider using th e 719 A mapping from context source roots to package maps which map
699 analyzedFiles notification instead. 720 package names to source directories for use in client-side
721 package URI resolution.
700 </p> 722 </p>
701 723 </dd></dl></dd><dt class="request"><a name="request_analysis.getNavigation ">analysis.getNavigation</a></dt><dd><div class="box"><pre>request: {
702 <h4>returns:</h4><dl><dt class="field"><b>libraries: List&lt;<a href="#typ e_FilePath">FilePath</a>&gt;</b></dt><dd>
703
704 <p>
705 A list of the paths of library elements referenced by
706 files in existing analysis roots.
707 </p>
708 </dd><dt class="field"><b>packageMap: Map&lt;String, Map&lt;String, List&lt;<a href="#type_FilePath">FilePath</a>&gt;&gt;&gt;</b></dt><dd>
709
710 <p>
711 A mapping from context source roots to package maps which map
712 package names to source directories for use in client-side
713 package URI resolution.
714 </p>
715 </dd></dl></dd><dt class="request"><a name="request_analysis.getNavi gation">analysis.getNavigation</a></dt><dd><div class="box"><pre>request: {
716 "id": String 724 "id": String
717 "method": "analysis.getNavigation" 725 "method": "analysis.getNavigation"
718 "params": { 726 "params": {
719 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 727 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
720 "<b>offset</b>": int 728 "<b>offset</b>": int
721 "<b>length</b>": int 729 "<b>length</b>": int
722 } 730 }
723 }</pre><br><pre>response: { 731 }</pre><br><pre>response: {
724 "id": String 732 "id": String
725 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 733 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
726 "result": { 734 "result": {
727 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 735 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
728 "<b>targets</b>": List&lt;<a href="#type_NavigationTarget">NavigationTarget< /a>&gt; 736 "<b>targets</b>": List&lt;<a href="#type_NavigationTarget">NavigationTarget< /a>&gt;
729 "<b>regions</b>": List&lt;<a href="#type_NavigationRegion">NavigationRegion< /a>&gt; 737 "<b>regions</b>": List&lt;<a href="#type_NavigationRegion">NavigationRegion< /a>&gt;
730 } 738 }
731 }</pre></div> 739 }</pre></div>
740 <p>
741 Return the navigation information associated with the given region of
742 the given file. If the navigation information for the given file has
743 not yet been computed, or the most recently computed navigation
744 information for the given file is out of date, then the response for
745 this request will be delayed until it has been computed. If the
746 content of the file changes after this request was received but before
747 a response could be sent, then an error of type
748 <tt>CONTENT_MODIFIED</tt> will be generated.
749 </p>
750 <p>
751 If a navigation region overlaps (but extends either before or after)
752 the given region of the file it will be included in the result. This
753 means that it is theoretically possible to get the same navigation
754 region in response to multiple requests. Clients can avoid this by
755 always choosing a region that starts at the beginning of a line and
756 ends at the end of a (possibly different) line in the file.
757 </p>
758 <p>
759 If a request is made for a file which does not exist, or
760 which is not currently subject to analysis (e.g. because it
761 is not associated with any analysis root specified to
762 analysis.setAnalysisRoots), an error of type
763 <tt>GET_NAVIGATION_INVALID_FILE</tt> will be generated.
764 </p>
765
766
767 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
768
732 <p> 769 <p>
733 Return the navigation information associated with the given region of 770 The file in which navigation information is being requested.
734 the given file. If the navigation information for the given file has
735 not yet been computed, or the most recently computed navigation
736 information for the given file is out of date, then the response for
737 this request will be delayed until it has been computed. If the
738 content of the file changes after this request was received but before
739 a response could be sent, then an error of type
740 <tt>CONTENT_MODIFIED</tt> will be generated.
741 </p> 771 </p>
772 </dd><dt class="field"><b>offset: int</b></dt><dd>
773
742 <p> 774 <p>
743 If a navigation region overlaps (but extends either before or after) 775 The offset of the region for which navigation information is being
744 the given region of the file it will be included in the result. This 776 requested.
745 means that it is theoretically possible to get the same navigation
746 region in response to multiple requests. Clients can avoid this by
747 always choosing a region that starts at the beginning of a line and
748 ends at the end of a (possibly different) line in the file.
749 </p> 777 </p>
778 </dd><dt class="field"><b>length: int</b></dt><dd>
779
750 <p> 780 <p>
751 If a request is made for a file which does not exist, or 781 The length of the region for which navigation information is being
752 which is not currently subject to analysis (e.g. because it 782 requested.
753 is not associated with any analysis root specified to
754 analysis.setAnalysisRoots), an error of type
755 <tt>GET_NAVIGATION_INVALID_FILE</tt> will be generated.
756 </p> 783 </p>
784 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>files: List&lt;<a href ="#type_FilePath">FilePath</a>&gt;</b></dt><dd>
757 785
786 <p>
787 A list of the paths of files that are referenced by the navigation
788 targets.
789 </p>
790 </dd><dt class="field"><b>targets: List&lt;<a href="#type_NavigationTarget ">NavigationTarget</a>&gt;</b></dt><dd>
758 791
759 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 792 <p>
760 793 A list of the navigation targets that are referenced by the
761 <p> 794 navigation regions.
762 The file in which navigation information is being requested. 795 </p>
763 </p> 796 </dd><dt class="field"><b>regions: List&lt;<a href="#type_NavigationRegion ">NavigationRegion</a>&gt;</b></dt><dd>
764 </dd><dt class="field"><b>offset: int</b></dt><dd> 797
765 798 <p>
766 <p> 799 A list of the navigation regions within the requested region of
767 The offset of the region for which navigation information is being 800 the file.
768 requested. 801 </p>
769 </p> 802 </dd></dl></dd><dt class="request"><a name="request_analysis.reanalyze">an alysis.reanalyze</a></dt><dd><div class="box"><pre>request: {
770 </dd><dt class="field"><b>length: int</b></dt><dd>
771
772 <p>
773 The length of the region for which navigation information is being
774 requested.
775 </p>
776 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>files: List&lt;<a href="#type_FilePath">FilePath</a>&gt;</b></dt><dd>
777
778 <p>
779 A list of the paths of files that are referenced by the navigation
780 targets.
781 </p>
782 </dd><dt class="field"><b>targets: List&lt;<a href="#type_NavigationTa rget">NavigationTarget</a>&gt;</b></dt><dd>
783
784 <p>
785 A list of the navigation targets that are referenced by the
786 navigation regions.
787 </p>
788 </dd><dt class="field"><b>regions: List&lt;<a href="#type_NavigationRe gion">NavigationRegion</a>&gt;</b></dt><dd>
789
790 <p>
791 A list of the navigation regions within the requested region of
792 the file.
793 </p>
794 </dd></dl></dd><dt class="request"><a name="request_analysis.reanalyze ">analysis.reanalyze</a></dt><dd><div class="box"><pre>request: {
795 "id": String 803 "id": String
796 "method": "analysis.reanalyze" 804 "method": "analysis.reanalyze"
797 "params": { 805 "params": {
798 "<b>roots</b>": <span style="color:#999999">optional</span> List&lt;<a href= "#type_FilePath">FilePath</a>&gt; 806 "<b>roots</b>": <span style="color:#999999">optional</span> List&lt;<a href= "#type_FilePath">FilePath</a>&gt;
799 } 807 }
800 }</pre><br><pre>response: { 808 }</pre><br><pre>response: {
801 "id": String 809 "id": String
802 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 810 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
803 }</pre></div> 811 }</pre></div>
812 <p>
813 Force the re-analysis of everything contained in the specified
814 analysis roots. This will cause all previously computed analysis
815 results to be discarded and recomputed, and will cause all subscribed
816 notifications to be re-sent.
817 </p>
818 <p>
819 If no analysis roots are provided, then all current analysis roots
820 will be re-analyzed. If an empty list of analysis roots is provided,
821 then nothing will be re-analyzed. If the list contains one or more
822 paths that are not currently analysis roots, then an error of type
823 <tt>INVALID_ANALYSIS_ROOT</tt> will be generated.
824 </p>
825
826 <h4>parameters:</h4><dl><dt class="field"><b>roots: List&lt;<a href="#type_Fil ePath">FilePath</a>&gt;<span style="color:#999999"> (optional)</span></b></dt><d d>
827
804 <p> 828 <p>
805 Force the re-analysis of everything contained in the specified 829 A list of the analysis roots that are to be re-analyzed.
806 analysis roots. This will cause all previously computed analysis
807 results to be discarded and recomputed, and will cause all subscribed
808 notifications to be re-sent.
809 </p> 830 </p>
810 <p> 831 </dd></dl></dd><dt class="request"><a name="request_analysis.setAnalysisRo ots">analysis.setAnalysisRoots</a></dt><dd><div class="box"><pre>request: {
811 If no analysis roots are provided, then all current analysis roots
812 will be re-analyzed. If an empty list of analysis roots is provided,
813 then nothing will be re-analyzed. If the list contains one or more
814 paths that are not currently analysis roots, then an error of type
815 <tt>INVALID_ANALYSIS_ROOT</tt> will be generated.
816 </p>
817
818 <h4>parameters:</h4><dl><dt class="field"><b>roots: List&lt;<a href="#type _FilePath">FilePath</a>&gt;<span style="color:#999999"> (optional)</span></b></d t><dd>
819
820 <p>
821 A list of the analysis roots that are to be re-analyzed.
822 </p>
823 </dd></dl></dd><dt class="request"><a name="request_analysis.setAnalys isRoots">analysis.setAnalysisRoots</a></dt><dd><div class="box"><pre>request: {
824 "id": String 832 "id": String
825 "method": "analysis.setAnalysisRoots" 833 "method": "analysis.setAnalysisRoots"
826 "params": { 834 "params": {
827 "<b>included</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 835 "<b>included</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
828 "<b>excluded</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 836 "<b>excluded</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
829 "<b>packageRoots</b>": <span style="color:#999999">optional</span> Map&lt;<a href="#type_FilePath">FilePath</a>, <a href="#type_FilePath">FilePath</a>&gt; 837 "<b>packageRoots</b>": <span style="color:#999999">optional</span> Map&lt;<a href="#type_FilePath">FilePath</a>, <a href="#type_FilePath">FilePath</a>&gt;
830 } 838 }
831 }</pre><br><pre>response: { 839 }</pre><br><pre>response: {
832 "id": String 840 "id": String
833 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 841 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
834 }</pre></div> 842 }</pre></div>
843 <p>
844 Sets the root paths used to determine which files to analyze. The set
845 of files to be analyzed are all of the files in one of the root paths
846 that are not either explicitly or implicitly excluded. A file is
847 explicitly excluded if it is in one of the excluded paths. A file is
848 implicitly excluded if it is in a subdirectory of one of the root
849 paths where the name of the subdirectory starts with a period (that
850 is, a hidden directory).
851 </p>
852 <p>
853 Note that this request determines the set of requested
854 analysis roots. The actual set of analysis roots at any
855 given time is the intersection of this set with the set of
856 files and directories actually present on the
857 filesystem. When the filesystem changes, the actual set of
858 analysis roots is automatically updated, but the set of
859 requested analysis roots is unchanged. This means that if
860 the client sets an analysis root before the root becomes
861 visible to server in the filesystem, there is no error; once
862 the server sees the root in the filesystem it will start
863 analyzing it. Similarly, server will stop analyzing files
864 that are removed from the file system but they will remain
865 in the set of requested roots.
866 </p>
867 <p>
868 If an included path represents a file, then server will look
869 in the directory containing the file for a pubspec.yaml
870 file. If none is found, then the parents of the directory
871 will be searched until such a file is found or the root of
872 the file system is reached. If such a file is found, it will
873 be used to resolve package: URI’s within the file.
874 </p>
875
876 <h4>parameters:</h4><dl><dt class="field"><b>included: List&lt;<a href="#type_ FilePath">FilePath</a>&gt;</b></dt><dd>
877
835 <p> 878 <p>
836 Sets the root paths used to determine which files to analyze. The set 879 A list of the files and directories that should be
837 of files to be analyzed are all of the files in one of the root paths 880 analyzed.
838 that are not either explicitly or implicitly excluded. A file is 881 </p>
839 explicitly excluded if it is in one of the excluded paths. A file is 882 </dd><dt class="field"><b>excluded: List&lt;<a href="#type_FilePath">FileP ath</a>&gt;</b></dt><dd>
840 implicitly excluded if it is in a subdirectory of one of the root 883
841 paths where the name of the subdirectory starts with a period (that 884 <p>
842 is, a hidden directory). 885 A list of the files and directories within the
886 included directories that should not be analyzed.
887 </p>
888 </dd><dt class="field"><b>packageRoots: Map&lt;<a href="#type_FilePath">Fi lePath</a>, <a href="#type_FilePath">FilePath</a>&gt;<span style="color:#999999" > (optional)</span></b></dt><dd>
889
890 <p>
891 A mapping from source directories to package roots
892 that should override the normal package: URI resolution
893 mechanism.
843 </p> 894 </p>
844 <p> 895 <p>
845 Note that this request determines the set of requested 896 If a package root is a directory, then
846 analysis roots. The actual set of analysis roots at any 897 the analyzer will behave as though the associated
847 given time is the intersection of this set with the set of 898 source directory in the map contains a special
848 files and directories actually present on the 899 pubspec.yaml file which resolves any package: URI to the
849 filesystem. When the filesystem changes, the actual set of 900 corresponding path within that package root directory. The
850 analysis roots is automatically updated, but the set of 901 effect is the same as specifying the package root directory as
851 requested analysis roots is unchanged. This means that if 902 a "--package_root" parameter to the Dart VM when
852 the client sets an analysis root before the root becomes 903 executing any Dart file inside the source directory.
853 visible to server in the filesystem, there is no error; once
854 the server sees the root in the filesystem it will start
855 analyzing it. Similarly, server will stop analyzing files
856 that are removed from the file system but they will remain
857 in the set of requested roots.
858 </p> 904 </p>
859 <p> 905 <p>
860 If an included path represents a file, then server will look 906 If a package root is a file, then the analyzer
861 in the directory containing the file for a pubspec.yaml 907 will behave as though that file is a ".packages" file in the
862 file. If none is found, then the parents of the directory 908 source directory. The effect is the same as specifying the file
863 will be searched until such a file is found or the root of 909 as a "--packages" parameter to the Dart VM when
864 the file system is reached. If such a file is found, it will 910 executing any Dart file inside the source directory.
865 be used to resolve package: URI’s within the file.
866 </p> 911 </p>
867 912 <p>
868 <h4>parameters:</h4><dl><dt class="field"><b>included: List&lt;<a href="#t ype_FilePath">FilePath</a>&gt;</b></dt><dd> 913 Files in any directories that are not overridden by this
869 914 mapping have their package: URI's resolved using the
870 <p> 915 normal pubspec.yaml mechanism. If this field is absent,
871 A list of the files and directories that should be 916 or the empty map is specified, that indicates that the
872 analyzed. 917 normal pubspec.yaml mechanism should always be used.
873 </p> 918 </p>
874 </dd><dt class="field"><b>excluded: List&lt;<a href="#type_FilePath">F ilePath</a>&gt;</b></dt><dd> 919 </dd></dl></dd><dt class="request"><a name="request_analysis.setGeneralSub scriptions">analysis.setGeneralSubscriptions</a></dt><dd><div class="box"><pre>r equest: {
875
876 <p>
877 A list of the files and directories within the
878 included directories that should not be analyzed.
879 </p>
880 </dd><dt class="field"><b>packageRoots: Map&lt;<a href="#type_FilePath ">FilePath</a>, <a href="#type_FilePath">FilePath</a>&gt;<span style="color:#999 999"> (optional)</span></b></dt><dd>
881
882 <p>
883 A mapping from source directories to package roots
884 that should override the normal package: URI resolution
885 mechanism.
886 </p>
887 <p>
888 If a package root is a directory, then
889 the analyzer will behave as though the associated
890 source directory in the map contains a special
891 pubspec.yaml file which resolves any package: URI to the
892 corresponding path within that package root directory. The
893 effect is the same as specifying the package root directory as
894 a "--package_root" parameter to the Dart VM when
895 executing any Dart file inside the source directory.
896 </p>
897 <p>
898 If a package root is a file, then the analyzer
899 will behave as though that file is a ".packages" file in the
900 source directory. The effect is the same as specifying the file
901 as a "--packages" parameter to the Dart VM when
902 executing any Dart file inside the source directory.
903 </p>
904 <p>
905 Files in any directories that are not overridden by this
906 mapping have their package: URI's resolved using the
907 normal pubspec.yaml mechanism. If this field is absent,
908 or the empty map is specified, that indicates that the
909 normal pubspec.yaml mechanism should always be used.
910 </p>
911 </dd></dl></dd><dt class="request"><a name="request_analysis.setGenera lSubscriptions">analysis.setGeneralSubscriptions</a></dt><dd><div class="box"><p re>request: {
912 "id": String 920 "id": String
913 "method": "analysis.setGeneralSubscriptions" 921 "method": "analysis.setGeneralSubscriptions"
914 "params": { 922 "params": {
915 "<b>subscriptions</b>": List&lt;<a href="#type_GeneralAnalysisService">Gener alAnalysisService</a>&gt; 923 "<b>subscriptions</b>": List&lt;<a href="#type_GeneralAnalysisService">Gener alAnalysisService</a>&gt;
916 } 924 }
917 }</pre><br><pre>response: { 925 }</pre><br><pre>response: {
918 "id": String 926 "id": String
919 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 927 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
920 }</pre></div> 928 }</pre></div>
921 <p> 929 <p>
922 Subscribe for general services (that is, services that are not 930 Subscribe for general services (that is, services that are not
923 specific to individual files). All previous subscriptions are replaced 931 specific to individual files). All previous subscriptions are replaced
924 by the given set of services. 932 by the given set of services.
925 </p> 933 </p>
926 <p> 934 <p>
927 It is an error if any of the elements in the list are not valid 935 It is an error if any of the elements in the list are not valid
928 services. If there is an error, then the current subscriptions will 936 services. If there is an error, then the current subscriptions will
929 remain unchanged. 937 remain unchanged.
930 </p> 938 </p>
939
940 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: List&lt;<a href="# type_GeneralAnalysisService">GeneralAnalysisService</a>&gt;</b></dt><dd>
931 941
932 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: List&lt;<a hre f="#type_GeneralAnalysisService">GeneralAnalysisService</a>&gt;</b></dt><dd> 942 <p>A list of the services being subscribed to.</p>
933 943 </dd></dl></dd><dt class="request"><a name="request_analysis.setPriorityFi les">analysis.setPriorityFiles</a></dt><dd><div class="box"><pre>request: {
934 <p>A list of the services being subscribed to.</p>
935 </dd></dl></dd><dt class="request"><a name="request_analysis.setPriori tyFiles">analysis.setPriorityFiles</a></dt><dd><div class="box"><pre>request: {
936 "id": String 944 "id": String
937 "method": "analysis.setPriorityFiles" 945 "method": "analysis.setPriorityFiles"
938 "params": { 946 "params": {
939 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 947 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
940 } 948 }
941 }</pre><br><pre>response: { 949 }</pre><br><pre>response: {
942 "id": String 950 "id": String
943 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 951 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
944 }</pre></div> 952 }</pre></div>
953 <p>
954 Set the priority files to the files in the given list. A
955 priority file is a file that is given priority when
956 scheduling which analysis work to do first. The list
957 typically contains those files that are visible to the user
958 and those for which analysis results will have the biggest
959 impact on the user experience. The order of the files within
960 the list is significant: the first file will be given higher
961 priority than the second, the second higher priority than
962 the third, and so on.
963 </p>
964 <p>
965 Note that this request determines the set of requested
966 priority files. The actual set of priority files is the
967 intersection of the requested set of priority files with the
968 set of files currently subject to analysis. (See
969 analysis.setSubscriptions for a description of files that
970 are subject to analysis.)
971 </p>
972 <p>
973 If a requested priority file is a directory it is ignored,
974 but remains in the set of requested priority files so that
975 if it later becomes a file it can be included in the set of
976 actual priority files.
977 </p>
978
979 <h4>parameters:</h4><dl><dt class="field"><b>files: List&lt;<a href="#type_Fil ePath">FilePath</a>&gt;</b></dt><dd>
980
945 <p> 981 <p>
946 Set the priority files to the files in the given list. A 982 The files that are to be a priority for analysis.
947 priority file is a file that is given priority when
948 scheduling which analysis work to do first. The list
949 typically contains those files that are visible to the user
950 and those for which analysis results will have the biggest
951 impact on the user experience. The order of the files within
952 the list is significant: the first file will be given higher
953 priority than the second, the second higher priority than
954 the third, and so on.
955 </p> 983 </p>
956 <p> 984 </dd></dl></dd><dt class="request"><a name="request_analysis.setSubscripti ons">analysis.setSubscriptions</a></dt><dd><div class="box"><pre>request: {
957 Note that this request determines the set of requested
958 priority files. The actual set of priority files is the
959 intersection of the requested set of priority files with the
960 set of files currently subject to analysis. (See
961 analysis.setSubscriptions for a description of files that
962 are subject to analysis.)
963 </p>
964 <p>
965 If a requested priority file is a directory it is ignored,
966 but remains in the set of requested priority files so that
967 if it later becomes a file it can be included in the set of
968 actual priority files.
969 </p>
970
971 <h4>parameters:</h4><dl><dt class="field"><b>files: List&lt;<a href="#type _FilePath">FilePath</a>&gt;</b></dt><dd>
972
973 <p>
974 The files that are to be a priority for analysis.
975 </p>
976 </dd></dl></dd><dt class="request"><a name="request_analysis.setSubscr iptions">analysis.setSubscriptions</a></dt><dd><div class="box"><pre>request: {
977 "id": String 985 "id": String
978 "method": "analysis.setSubscriptions" 986 "method": "analysis.setSubscriptions"
979 "params": { 987 "params": {
980 "<b>subscriptions</b>": Map&lt;<a href="#type_AnalysisService">AnalysisServi ce</a>, List&lt;<a href="#type_FilePath">FilePath</a>&gt;&gt; 988 "<b>subscriptions</b>": Map&lt;<a href="#type_AnalysisService">AnalysisServi ce</a>, List&lt;<a href="#type_FilePath">FilePath</a>&gt;&gt;
981 } 989 }
982 }</pre><br><pre>response: { 990 }</pre><br><pre>response: {
983 "id": String 991 "id": String
984 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 992 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
985 }</pre></div> 993 }</pre></div>
994 <p>
995 Subscribe for services that are specific to individual files.
996 All previous subscriptions are replaced by the current set of
997 subscriptions. If a given service is not included as a key in the map
998 then no files will be subscribed to the service, exactly as if the
999 service had been included in the map with an explicit empty list of
1000 files.
1001 </p>
1002 <p>
1003 Note that this request determines the set of requested
1004 subscriptions. The actual set of subscriptions at any given
1005 time is the intersection of this set with the set of files
1006 currently subject to analysis. The files currently subject
1007 to analysis are the set of files contained within an actual
1008 analysis root but not excluded, plus all of the files
1009 transitively reachable from those files via import, export
1010 and part directives. (See analysis.setAnalysisRoots for an
1011 explanation of how the actual analysis roots are
1012 determined.) When the actual analysis roots change, the
1013 actual set of subscriptions is automatically updated, but
1014 the set of requested subscriptions is unchanged.
1015 </p>
1016 <p>
1017 If a requested subscription is a directory it is ignored,
1018 but remains in the set of requested subscriptions so that if
1019 it later becomes a file it can be included in the set of
1020 actual subscriptions.
1021 </p>
1022 <p>
1023 It is an error if any of the keys in the map are not valid
1024 services. If there is an error, then the existing
1025 subscriptions will remain unchanged.
1026 </p>
1027
1028 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: Map&lt;<a href="#t ype_AnalysisService">AnalysisService</a>, List&lt;<a href="#type_FilePath">FileP ath</a>&gt;&gt;</b></dt><dd>
1029
986 <p> 1030 <p>
987 Subscribe for services that are specific to individual files. 1031 A table mapping services to a list of the files being
988 All previous subscriptions are replaced by the current set of 1032 subscribed to the service.
989 subscriptions. If a given service is not included as a key in the map
990 then no files will be subscribed to the service, exactly as if the
991 service had been included in the map with an explicit empty list of
992 files.
993 </p> 1033 </p>
994 <p> 1034 </dd></dl></dd><dt class="request"><a name="request_analysis.updateContent ">analysis.updateContent</a></dt><dd><div class="box"><pre>request: {
995 Note that this request determines the set of requested
996 subscriptions. The actual set of subscriptions at any given
997 time is the intersection of this set with the set of files
998 currently subject to analysis. The files currently subject
999 to analysis are the set of files contained within an actual
1000 analysis root but not excluded, plus all of the files
1001 transitively reachable from those files via import, export
1002 and part directives. (See analysis.setAnalysisRoots for an
1003 explanation of how the actual analysis roots are
1004 determined.) When the actual analysis roots change, the
1005 actual set of subscriptions is automatically updated, but
1006 the set of requested subscriptions is unchanged.
1007 </p>
1008 <p>
1009 If a requested subscription is a directory it is ignored,
1010 but remains in the set of requested subscriptions so that if
1011 it later becomes a file it can be included in the set of
1012 actual subscriptions.
1013 </p>
1014 <p>
1015 It is an error if any of the keys in the map are not valid
1016 services. If there is an error, then the existing
1017 subscriptions will remain unchanged.
1018 </p>
1019
1020 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: Map&lt;<a href ="#type_AnalysisService">AnalysisService</a>, List&lt;<a href="#type_FilePath">F ilePath</a>&gt;&gt;</b></dt><dd>
1021
1022 <p>
1023 A table mapping services to a list of the files being
1024 subscribed to the service.
1025 </p>
1026 </dd></dl></dd><dt class="request"><a name="request_analysis.updateCon tent">analysis.updateContent</a></dt><dd><div class="box"><pre>request: {
1027 "id": String 1035 "id": String
1028 "method": "analysis.updateContent" 1036 "method": "analysis.updateContent"
1029 "params": { 1037 "params": {
1030 "<b>files</b>": Map&lt;<a href="#type_FilePath">FilePath</a>, <a href="#type _AddContentOverlay">AddContentOverlay</a> | <a href="#type_ChangeContentOverlay" >ChangeContentOverlay</a> | <a href="#type_RemoveContentOverlay">RemoveContentOv erlay</a>&gt; 1038 "<b>files</b>": Map&lt;<a href="#type_FilePath">FilePath</a>, <a href="#type _AddContentOverlay">AddContentOverlay</a> | <a href="#type_ChangeContentOverlay" >ChangeContentOverlay</a> | <a href="#type_RemoveContentOverlay">RemoveContentOv erlay</a>&gt;
1031 } 1039 }
1032 }</pre><br><pre>response: { 1040 }</pre><br><pre>response: {
1033 "id": String 1041 "id": String
1034 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1042 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1035 "result": { 1043 "result": {
1036 } 1044 }
1037 }</pre></div> 1045 }</pre></div>
1046 <p>
1047 Update the content of one or more files. Files that were
1048 previously updated but not included in this update remain
1049 unchanged. This effectively represents an overlay of the
1050 filesystem. The files whose content is overridden are
1051 therefore seen by server as being files with the given
1052 content, even if the files do not exist on the filesystem or
1053 if the file path represents the path to a directory on the
1054 filesystem.
1055 </p>
1056
1057
1058 <h4>parameters:</h4><dl><dt class="field"><b>files: Map&lt;<a href="#type_File Path">FilePath</a>, <a href="#type_AddContentOverlay">AddContentOverlay</a> | <a href="#type_ChangeContentOverlay">ChangeContentOverlay</a> | <a href="#type_Rem oveContentOverlay">RemoveContentOverlay</a>&gt;</b></dt><dd>
1059
1038 <p> 1060 <p>
1039 Update the content of one or more files. Files that were 1061 A table mapping the files whose content has changed to a
1040 previously updated but not included in this update remain 1062 description of the content change.
1041 unchanged. This effectively represents an overlay of the
1042 filesystem. The files whose content is overridden are
1043 therefore seen by server as being files with the given
1044 content, even if the files do not exist on the filesystem or
1045 if the file path represents the path to a directory on the
1046 filesystem.
1047 </p> 1063 </p>
1048 1064 </dd></dl><h4>returns:</h4><dl></dl></dd><dt class="request deprecated"><a name="request_analysis.updateOptions">analysis.updateOptions</a></dt><dd><div c lass="box"><pre>request: {
1049
1050 <h4>parameters:</h4><dl><dt class="field"><b>files: Map&lt;<a href="#type_ FilePath">FilePath</a>, <a href="#type_AddContentOverlay">AddContentOverlay</a> | <a href="#type_ChangeContentOverlay">ChangeContentOverlay</a> | <a href="#type _RemoveContentOverlay">RemoveContentOverlay</a>&gt;</b></dt><dd>
1051
1052 <p>
1053 A table mapping the files whose content has changed to a
1054 description of the content change.
1055 </p>
1056 </dd></dl><h4>returns:</h4><dl></dl></dd><dt class="request deprecated "><a name="request_analysis.updateOptions">analysis.updateOptions</a></dt><dd><d iv class="box"><pre>request: {
1057 "id": String 1065 "id": String
1058 "method": "analysis.updateOptions" 1066 "method": "analysis.updateOptions"
1059 "params": { 1067 "params": {
1060 "<b>options</b>": <a href="#type_AnalysisOptions">AnalysisOptions</a> 1068 "<b>options</b>": <a href="#type_AnalysisOptions">AnalysisOptions</a>
1061 } 1069 }
1062 }</pre><br><pre>response: { 1070 }</pre><br><pre>response: {
1063 "id": String 1071 "id": String
1064 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1072 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1065 }</pre></div> 1073 }</pre></div>
1066 <p><b>Deprecated:</b> all of the options can be set by users in 1074 <p><b>Deprecated:</b> all of the options can be set by users in
1067 an analysis options file.</p> 1075 an analysis options file.</p>
1076 <p>
1077 Update the options controlling analysis based on the given
1078 set of options. Any options that are not included in the
1079 analysis options will not be changed. If there are options
1080 in the analysis options that are not valid, they will be
1081 silently ignored.
1082 </p>
1083
1084 <h4>parameters:</h4><dl><dt class="field"><b>options: <a href="#type_AnalysisO ptions">AnalysisOptions</a></b></dt><dd>
1085
1068 <p> 1086 <p>
1069 Update the options controlling analysis based on the given 1087 The options that are to be used to control analysis.
1070 set of options. Any options that are not included in the
1071 analysis options will not be changed. If there are options
1072 in the analysis options that are not valid, they will be
1073 silently ignored.
1074 </p> 1088 </p>
1075 1089 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_analysis.analyzedFiles">analysis.analyzedFiles</a></dt><dd><d iv class="box"><pre>notification: {
1076 <h4>parameters:</h4><dl><dt class="field"><b>options: <a href="#type_Analy sisOptions">AnalysisOptions</a></b></dt><dd>
1077
1078 <p>
1079 The options that are to be used to control analysis.
1080 </p>
1081 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification" ><a name="notification_analysis.analyzedFiles">analysis.analyzedFiles</a></dt><d d><div class="box"><pre>notification: {
1082 "event": "analysis.analyzedFiles" 1090 "event": "analysis.analyzedFiles"
1083 "params": { 1091 "params": {
1084 "<b>directories</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 1092 "<b>directories</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
1085 } 1093 }
1086 }</pre></div> 1094 }</pre></div>
1095 <p>
1096 Reports the paths of the files that are being analyzed.
1097 </p>
1098 <p>
1099 This notification is not subscribed to by default. Clients can
1100 subscribe by including the value <tt>"ANALYZED_FILES"</tt> in the list
1101 of services passed in an analysis.setGeneralSubscriptions request.
1102 </p>
1103
1104 <h4>parameters:</h4><dl><dt class="field"><b>directories: List&lt;<a href="#ty pe_FilePath">FilePath</a>&gt;</b></dt><dd>
1105
1087 <p> 1106 <p>
1088 Reports the paths of the files that are being analyzed. 1107 A list of the paths of the files that are being analyzed.
1089 </p> 1108 </p>
1090 <p> 1109 </dd></dl></dd><dt class="notification"><a name="notification_analysis.err ors">analysis.errors</a></dt><dd><div class="box"><pre>notification: {
1091 This notification is not subscribed to by default. Clients can
1092 subscribe by including the value <tt>"ANALYZED_FILES"</tt> in the list
1093 of services passed in an analysis.setGeneralSubscriptions request.
1094 </p>
1095
1096 <h4>parameters:</h4><dl><dt class="field"><b>directories: List&lt;<a href= "#type_FilePath">FilePath</a>&gt;</b></dt><dd>
1097
1098 <p>
1099 A list of the paths of the files that are being analyzed.
1100 </p>
1101 </dd></dl></dd><dt class="notification"><a name="notification_analys is.errors">analysis.errors</a></dt><dd><div class="box"><pre>notification: {
1102 "event": "analysis.errors" 1110 "event": "analysis.errors"
1103 "params": { 1111 "params": {
1104 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1112 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1105 "<b>errors</b>": List&lt;<a href="#type_AnalysisError">AnalysisError</a>&gt; 1113 "<b>errors</b>": List&lt;<a href="#type_AnalysisError">AnalysisError</a>&gt;
1106 } 1114 }
1107 }</pre></div> 1115 }</pre></div>
1116 <p>
1117 Reports the errors associated with a given file. The set of
1118 errors included in the notification is always a complete
1119 list that supersedes any previously reported errors.
1120 </p>
1121
1122 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1123
1108 <p> 1124 <p>
1109 Reports the errors associated with a given file. The set of 1125 The file containing the errors.
1110 errors included in the notification is always a complete
1111 list that supersedes any previously reported errors.
1112 </p> 1126 </p>
1127 </dd><dt class="field"><b>errors: List&lt;<a href="#type_AnalysisError">An alysisError</a>&gt;</b></dt><dd>
1113 1128
1114 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1129 <p>
1115 1130 The errors contained in the file.
1116 <p> 1131 </p>
1117 The file containing the errors. 1132 </dd></dl></dd><dt class="notification"><a name="notification_analysis.flu shResults">analysis.flushResults</a></dt><dd><div class="box"><pre>notification: {
1118 </p>
1119 </dd><dt class="field"><b>errors: List&lt;<a href="#type_AnalysisError ">AnalysisError</a>&gt;</b></dt><dd>
1120
1121 <p>
1122 The errors contained in the file.
1123 </p>
1124 </dd></dl></dd><dt class="notification"><a name="notification_analysis .flushResults">analysis.flushResults</a></dt><dd><div class="box"><pre>notificat ion: {
1125 "event": "analysis.flushResults" 1133 "event": "analysis.flushResults"
1126 "params": { 1134 "params": {
1127 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 1135 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
1128 } 1136 }
1129 }</pre></div> 1137 }</pre></div>
1138 <p>
1139 Reports that any analysis results that were previously
1140 associated with the given files should be considered to be
1141 invalid because those files are no longer being analyzed,
1142 either because the analysis root that contained it is no
1143 longer being analyzed or because the file no longer exists.
1144 </p>
1145 <p>
1146 If a file is included in this notification and at some later
1147 time a notification with results for the file is received,
1148 clients should assume that the file is once again being
1149 analyzed and the information should be processed.
1150 </p>
1151 <p>
1152 It is not possible to subscribe to or unsubscribe from this
1153 notification.
1154 </p>
1155
1156 <h4>parameters:</h4><dl><dt class="field"><b>files: List&lt;<a href="#type_Fil ePath">FilePath</a>&gt;</b></dt><dd>
1157
1130 <p> 1158 <p>
1131 Reports that any analysis results that were previously 1159 The files that are no longer being analyzed.
1132 associated with the given files should be considered to be
1133 invalid because those files are no longer being analyzed,
1134 either because the analysis root that contained it is no
1135 longer being analyzed or because the file no longer exists.
1136 </p> 1160 </p>
1137 <p> 1161 </dd></dl></dd><dt class="notification"><a name="notification_analysis.fol ding">analysis.folding</a></dt><dd><div class="box"><pre>notification: {
1138 If a file is included in this notification and at some later
1139 time a notification with results for the file is received,
1140 clients should assume that the file is once again being
1141 analyzed and the information should be processed.
1142 </p>
1143 <p>
1144 It is not possible to subscribe to or unsubscribe from this
1145 notification.
1146 </p>
1147
1148 <h4>parameters:</h4><dl><dt class="field"><b>files: List&lt;<a href="#type _FilePath">FilePath</a>&gt;</b></dt><dd>
1149
1150 <p>
1151 The files that are no longer being analyzed.
1152 </p>
1153 </dd></dl></dd><dt class="notification"><a name="notification_analysis .folding">analysis.folding</a></dt><dd><div class="box"><pre>notification: {
1154 "event": "analysis.folding" 1162 "event": "analysis.folding"
1155 "params": { 1163 "params": {
1156 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1164 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1157 "<b>regions</b>": List&lt;<a href="#type_FoldingRegion">FoldingRegion</a>&gt ; 1165 "<b>regions</b>": List&lt;<a href="#type_FoldingRegion">FoldingRegion</a>&gt ;
1158 } 1166 }
1159 }</pre></div> 1167 }</pre></div>
1168 <p>
1169 Reports the folding regions associated with a given
1170 file. Folding regions can be nested, but will not be
1171 overlapping. Nesting occurs when a foldable element, such as
1172 a method, is nested inside another foldable element such as
1173 a class.
1174 </p>
1175 <p>
1176 This notification is not subscribed to by default. Clients
1177 can subscribe by including the value <tt>"FOLDING"</tt> in
1178 the list of services passed in an analysis.setSubscriptions
1179 request.
1180 </p>
1181
1182 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1183
1160 <p> 1184 <p>
1161 Reports the folding regions associated with a given 1185 The file containing the folding regions.
1162 file. Folding regions can be nested, but will not be
1163 overlapping. Nesting occurs when a foldable element, such as
1164 a method, is nested inside another foldable element such as
1165 a class.
1166 </p> 1186 </p>
1187 </dd><dt class="field"><b>regions: List&lt;<a href="#type_FoldingRegion">F oldingRegion</a>&gt;</b></dt><dd>
1188
1167 <p> 1189 <p>
1168 This notification is not subscribed to by default. Clients 1190 The folding regions contained in the file.
1169 can subscribe by including the value <tt>"FOLDING"</tt> in
1170 the list of services passed in an analysis.setSubscriptions
1171 request.
1172 </p> 1191 </p>
1173 1192 </dd></dl></dd><dt class="notification"><a name="notification_analysis.hig hlights">analysis.highlights</a></dt><dd><div class="box"><pre>notification: {
1174 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd>
1175
1176 <p>
1177 The file containing the folding regions.
1178 </p>
1179 </dd><dt class="field"><b>regions: List&lt;<a href="#type_FoldingRegio n">FoldingRegion</a>&gt;</b></dt><dd>
1180
1181 <p>
1182 The folding regions contained in the file.
1183 </p>
1184 </dd></dl></dd><dt class="notification"><a name="notification_analysis .highlights">analysis.highlights</a></dt><dd><div class="box"><pre>notification: {
1185 "event": "analysis.highlights" 1193 "event": "analysis.highlights"
1186 "params": { 1194 "params": {
1187 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1195 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1188 "<b>regions</b>": List&lt;<a href="#type_HighlightRegion">HighlightRegion</a >&gt; 1196 "<b>regions</b>": List&lt;<a href="#type_HighlightRegion">HighlightRegion</a >&gt;
1189 } 1197 }
1190 }</pre></div> 1198 }</pre></div>
1199 <p>
1200 Reports the highlight regions associated with a given file.
1201 </p>
1202 <p>
1203 This notification is not subscribed to by default. Clients
1204 can subscribe by including the value <tt>"HIGHLIGHTS"</tt>
1205 in the list of services passed in an
1206 analysis.setSubscriptions request.
1207 </p>
1208
1209 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1210
1191 <p> 1211 <p>
1192 Reports the highlight regions associated with a given file. 1212 The file containing the highlight regions.
1193 </p> 1213 </p>
1214 </dd><dt class="field"><b>regions: List&lt;<a href="#type_HighlightRegion" >HighlightRegion</a>&gt;</b></dt><dd>
1215
1194 <p> 1216 <p>
1195 This notification is not subscribed to by default. Clients 1217 The highlight regions contained in the file. Each
1196 can subscribe by including the value <tt>"HIGHLIGHTS"</tt> 1218 highlight region represents a particular syntactic or
1197 in the list of services passed in an 1219 semantic meaning associated with some range. Note that
1198 analysis.setSubscriptions request. 1220 the highlight regions that are returned can overlap
1221 other highlight regions if there is more than one
1222 meaning associated with a particular region.
1199 </p> 1223 </p>
1200 1224 </dd></dl></dd><dt class="notification"><a name="notification_analysis.imp lemented">analysis.implemented</a></dt><dd><div class="box"><pre>notification: {
1201 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd>
1202
1203 <p>
1204 The file containing the highlight regions.
1205 </p>
1206 </dd><dt class="field"><b>regions: List&lt;<a href="#type_HighlightReg ion">HighlightRegion</a>&gt;</b></dt><dd>
1207
1208 <p>
1209 The highlight regions contained in the file. Each
1210 highlight region represents a particular syntactic or
1211 semantic meaning associated with some range. Note that
1212 the highlight regions that are returned can overlap
1213 other highlight regions if there is more than one
1214 meaning associated with a particular region.
1215 </p>
1216 </dd></dl></dd><dt class="notification"><a name="notification_analysis .implemented">analysis.implemented</a></dt><dd><div class="box"><pre>notificatio n: {
1217 "event": "analysis.implemented" 1225 "event": "analysis.implemented"
1218 "params": { 1226 "params": {
1219 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1227 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1220 "<b>classes</b>": List&lt;<a href="#type_ImplementedClass">ImplementedClass< /a>&gt; 1228 "<b>classes</b>": List&lt;<a href="#type_ImplementedClass">ImplementedClass< /a>&gt;
1221 "<b>members</b>": List&lt;<a href="#type_ImplementedMember">ImplementedMembe r</a>&gt; 1229 "<b>members</b>": List&lt;<a href="#type_ImplementedMember">ImplementedMembe r</a>&gt;
1222 } 1230 }
1223 }</pre></div> 1231 }</pre></div>
1232 <p>
1233 Reports the classes that are implemented or extended and
1234 class members that are implemented or overridden in a file.
1235 </p>
1236 <p>
1237 This notification is not subscribed to by default. Clients
1238 can subscribe by including the value <tt>"IMPLEMENTED"</tt> in
1239 the list of services passed in an analysis.setSubscriptions
1240 request.
1241 </p>
1242
1243 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1244
1224 <p> 1245 <p>
1225 Reports the classes that are implemented or extended and 1246 The file with which the implementations are associated.
1226 class members that are implemented or overridden in a file.
1227 </p> 1247 </p>
1248 </dd><dt class="field"><b>classes: List&lt;<a href="#type_ImplementedClass ">ImplementedClass</a>&gt;</b></dt><dd>
1249
1228 <p> 1250 <p>
1229 This notification is not subscribed to by default. Clients 1251 The classes defined in the file that are implemented or extended.
1230 can subscribe by including the value <tt>"IMPLEMENTED"</tt> in
1231 the list of services passed in an analysis.setSubscriptions
1232 request.
1233 </p> 1252 </p>
1253 </dd><dt class="field"><b>members: List&lt;<a href="#type_ImplementedMembe r">ImplementedMember</a>&gt;</b></dt><dd>
1234 1254
1235 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1255 <p>
1236 1256 The member defined in the file that are implemented or overridden.
1237 <p> 1257 </p>
1238 The file with which the implementations are associated. 1258 </dd></dl></dd><dt class="notification"><a name="notification_analysis.inv alidate">analysis.invalidate</a></dt><dd><div class="box"><pre>notification: {
1239 </p>
1240 </dd><dt class="field"><b>classes: List&lt;<a href="#type_ImplementedC lass">ImplementedClass</a>&gt;</b></dt><dd>
1241
1242 <p>
1243 The classes defined in the file that are implemented or extended.
1244 </p>
1245 </dd><dt class="field"><b>members: List&lt;<a href="#type_ImplementedM ember">ImplementedMember</a>&gt;</b></dt><dd>
1246
1247 <p>
1248 The member defined in the file that are implemented or overridden.
1249 </p>
1250 </dd></dl></dd><dt class="notification"><a name="notification_analysis .invalidate">analysis.invalidate</a></dt><dd><div class="box"><pre>notification: {
1251 "event": "analysis.invalidate" 1259 "event": "analysis.invalidate"
1252 "params": { 1260 "params": {
1253 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1261 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1254 "<b>offset</b>": int 1262 "<b>offset</b>": int
1255 "<b>length</b>": int 1263 "<b>length</b>": int
1256 "<b>delta</b>": int 1264 "<b>delta</b>": int
1257 } 1265 }
1258 }</pre></div> 1266 }</pre></div>
1267 <p>
1268 Reports that the navigation information associated with a region of a
1269 single file has become invalid and should be re-requested.
1270 </p>
1271 <p>
1272 This notification is not subscribed to by default. Clients can
1273 subscribe by including the value <tt>"INVALIDATE"</tt> in the list of
1274 services passed in an analysis.setSubscriptions request.
1275 </p>
1276
1277 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1278
1259 <p> 1279 <p>
1260 Reports that the navigation information associated with a region of a 1280 The file whose information has been invalidated.
1261 single file has become invalid and should be re-requested.
1262 </p> 1281 </p>
1282 </dd><dt class="field"><b>offset: int</b></dt><dd>
1283
1263 <p> 1284 <p>
1264 This notification is not subscribed to by default. Clients can 1285 The offset of the invalidated region.
1265 subscribe by including the value <tt>"INVALIDATE"</tt> in the list of
1266 services passed in an analysis.setSubscriptions request.
1267 </p> 1286 </p>
1287 </dd><dt class="field"><b>length: int</b></dt><dd>
1268 1288
1269 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1289 <p>
1270 1290 The length of the invalidated region.
1271 <p> 1291 </p>
1272 The file whose information has been invalidated. 1292 </dd><dt class="field"><b>delta: int</b></dt><dd>
1273 </p> 1293
1274 </dd><dt class="field"><b>offset: int</b></dt><dd> 1294 <p>
1275 1295 The delta to be applied to the offsets in information that follows
1276 <p> 1296 the invalidated region in order to update it so that it doesn't
1277 The offset of the invalidated region. 1297 need to be re-requested.
1278 </p> 1298 </p>
1279 </dd><dt class="field"><b>length: int</b></dt><dd> 1299 </dd></dl></dd><dt class="notification"><a name="notification_analysis.nav igation">analysis.navigation</a></dt><dd><div class="box"><pre>notification: {
1280
1281 <p>
1282 The length of the invalidated region.
1283 </p>
1284 </dd><dt class="field"><b>delta: int</b></dt><dd>
1285
1286 <p>
1287 The delta to be applied to the offsets in information that follows
1288 the invalidated region in order to update it so that it doesn't
1289 need to be re-requested.
1290 </p>
1291 </dd></dl></dd><dt class="notification"><a name="notification_analysis .navigation">analysis.navigation</a></dt><dd><div class="box"><pre>notification: {
1292 "event": "analysis.navigation" 1300 "event": "analysis.navigation"
1293 "params": { 1301 "params": {
1294 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1302 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1295 "<b>regions</b>": List&lt;<a href="#type_NavigationRegion">NavigationRegion< /a>&gt; 1303 "<b>regions</b>": List&lt;<a href="#type_NavigationRegion">NavigationRegion< /a>&gt;
1296 "<b>targets</b>": List&lt;<a href="#type_NavigationTarget">NavigationTarget< /a>&gt; 1304 "<b>targets</b>": List&lt;<a href="#type_NavigationTarget">NavigationTarget< /a>&gt;
1297 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt; 1305 "<b>files</b>": List&lt;<a href="#type_FilePath">FilePath</a>&gt;
1298 } 1306 }
1299 }</pre></div> 1307 }</pre></div>
1308 <p>
1309 Reports the navigation targets associated with a given file.
1310 </p>
1311 <p>
1312 This notification is not subscribed to by default. Clients
1313 can subscribe by including the value <tt>"NAVIGATION"</tt>
1314 in the list of services passed in an
1315 analysis.setSubscriptions request.
1316 </p>
1317
1318 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1319
1300 <p> 1320 <p>
1301 Reports the navigation targets associated with a given file. 1321 The file containing the navigation regions.
1302 </p> 1322 </p>
1323 </dd><dt class="field"><b>regions: List&lt;<a href="#type_NavigationRegion ">NavigationRegion</a>&gt;</b></dt><dd>
1324
1303 <p> 1325 <p>
1304 This notification is not subscribed to by default. Clients 1326 The navigation regions contained in the file.
1305 can subscribe by including the value <tt>"NAVIGATION"</tt> 1327 The regions are sorted by their offsets.
1306 in the list of services passed in an 1328 Each navigation region represents a list of targets
1307 analysis.setSubscriptions request. 1329 associated with some range. The lists will usually
1330 contain a single target, but can contain more in the
1331 case of a part that is included in multiple libraries
1332 or in Dart code that is compiled against multiple
1333 versions of a package. Note that the navigation
1334 regions that are returned do not overlap other
1335 navigation regions.
1308 </p> 1336 </p>
1337 </dd><dt class="field"><b>targets: List&lt;<a href="#type_NavigationTarget ">NavigationTarget</a>&gt;</b></dt><dd>
1309 1338
1310 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1339 <p>
1311 1340 The navigation targets referenced in the file.
1312 <p> 1341 They are referenced by <tt>NavigationRegion</tt>s by their
1313 The file containing the navigation regions. 1342 index in this array.
1314 </p> 1343 </p>
1315 </dd><dt class="field"><b>regions: List&lt;<a href="#type_NavigationRe gion">NavigationRegion</a>&gt;</b></dt><dd> 1344 </dd><dt class="field"><b>files: List&lt;<a href="#type_FilePath">FilePath </a>&gt;</b></dt><dd>
1316 1345
1317 <p> 1346 <p>
1318 The navigation regions contained in the file. 1347 The files containing navigation targets referenced in the file.
1319 The regions are sorted by their offsets. 1348 They are referenced by <tt>NavigationTarget</tt>s by their
1320 Each navigation region represents a list of targets 1349 index in this array.
1321 associated with some range. The lists will usually 1350 </p>
1322 contain a single target, but can contain more in the 1351 </dd></dl></dd><dt class="notification"><a name="notification_analysis.occ urrences">analysis.occurrences</a></dt><dd><div class="box"><pre>notification: {
1323 case of a part that is included in multiple libraries
1324 or in Dart code that is compiled against multiple
1325 versions of a package. Note that the navigation
1326 regions that are returned do not overlap other
1327 navigation regions.
1328 </p>
1329 </dd><dt class="field"><b>targets: List&lt;<a href="#type_NavigationTa rget">NavigationTarget</a>&gt;</b></dt><dd>
1330
1331 <p>
1332 The navigation targets referenced in the file.
1333 They are referenced by <tt>NavigationRegion</tt>s by their
1334 index in this array.
1335 </p>
1336 </dd><dt class="field"><b>files: List&lt;<a href="#type_FilePath">File Path</a>&gt;</b></dt><dd>
1337
1338 <p>
1339 The files containing navigation targets referenced in the file.
1340 They are referenced by <tt>NavigationTarget</tt>s by their
1341 index in this array.
1342 </p>
1343 </dd></dl></dd><dt class="notification"><a name="notification_analysis .occurrences">analysis.occurrences</a></dt><dd><div class="box"><pre>notificatio n: {
1344 "event": "analysis.occurrences" 1352 "event": "analysis.occurrences"
1345 "params": { 1353 "params": {
1346 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1354 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1347 "<b>occurrences</b>": List&lt;<a href="#type_Occurrences">Occurrences</a>&gt ; 1355 "<b>occurrences</b>": List&lt;<a href="#type_Occurrences">Occurrences</a>&gt ;
1348 } 1356 }
1349 }</pre></div> 1357 }</pre></div>
1358 <p>
1359 Reports the occurrences of references to elements within a
1360 single file.
1361 </p>
1362 <p>
1363 This notification is not subscribed to by default. Clients
1364 can subscribe by including the value <tt>"OCCURRENCES"</tt>
1365 in the list of services passed in an
1366 analysis.setSubscriptions request.
1367 </p>
1368
1369 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1370
1350 <p> 1371 <p>
1351 Reports the occurrences of references to elements within a 1372 The file in which the references occur.
1352 single file.
1353 </p> 1373 </p>
1374 </dd><dt class="field"><b>occurrences: List&lt;<a href="#type_Occurrences" >Occurrences</a>&gt;</b></dt><dd>
1375
1354 <p> 1376 <p>
1355 This notification is not subscribed to by default. Clients 1377 The occurrences of references to elements within the
1356 can subscribe by including the value <tt>"OCCURRENCES"</tt> 1378 file.
1357 in the list of services passed in an
1358 analysis.setSubscriptions request.
1359 </p> 1379 </p>
1360 1380 </dd></dl></dd><dt class="notification"><a name="notification_analysis.out line">analysis.outline</a></dt><dd><div class="box"><pre>notification: {
1361 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd>
1362
1363 <p>
1364 The file in which the references occur.
1365 </p>
1366 </dd><dt class="field"><b>occurrences: List&lt;<a href="#type_Occurren ces">Occurrences</a>&gt;</b></dt><dd>
1367
1368 <p>
1369 The occurrences of references to elements within the
1370 file.
1371 </p>
1372 </dd></dl></dd><dt class="notification"><a name="notification_analysis .outline">analysis.outline</a></dt><dd><div class="box"><pre>notification: {
1373 "event": "analysis.outline" 1381 "event": "analysis.outline"
1374 "params": { 1382 "params": {
1375 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1383 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1376 "<b>kind</b>": <a href="#type_FileKind">FileKind</a> 1384 "<b>kind</b>": <a href="#type_FileKind">FileKind</a>
1377 "<b>libraryName</b>": <span style="color:#999999">optional</span> String 1385 "<b>libraryName</b>": <span style="color:#999999">optional</span> String
1378 "<b>outline</b>": <a href="#type_Outline">Outline</a> 1386 "<b>outline</b>": <a href="#type_Outline">Outline</a>
1379 } 1387 }
1380 }</pre></div> 1388 }</pre></div>
1389 <p>
1390 Reports the outline associated with a single file.
1391 </p>
1392 <p>
1393 This notification is not subscribed to by default. Clients
1394 can subscribe by including the value <tt>"OUTLINE"</tt> in
1395 the list of services passed in an analysis.setSubscriptions
1396 request.
1397 </p>
1398
1399 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1400
1381 <p> 1401 <p>
1382 Reports the outline associated with a single file. 1402 The file with which the outline is associated.
1383 </p> 1403 </p>
1404 </dd><dt class="field"><b>kind: <a href="#type_FileKind">FileKind</a></b>< /dt><dd>
1405
1384 <p> 1406 <p>
1385 This notification is not subscribed to by default. Clients 1407 The kind of the file.
1386 can subscribe by including the value <tt>"OUTLINE"</tt> in
1387 the list of services passed in an analysis.setSubscriptions
1388 request.
1389 </p> 1408 </p>
1409 </dd><dt class="field"><b>libraryName: String<span style="color:#999999"> (optional)</span></b></dt><dd>
1390 1410
1391 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1411 <p>
1392 1412 The name of the library defined by the file using a "library"
1393 <p> 1413 directive, or referenced by a "part of" directive. If both
1394 The file with which the outline is associated. 1414 "library" and "part of" directives are present, then the
1395 </p> 1415 "library" directive takes precedence.
1396 </dd><dt class="field"><b>kind: <a href="#type_FileKind">FileKind</a>< /b></dt><dd> 1416 This field will be omitted if the file has neither "library"
1397 1417 nor "part of" directives.
1398 <p> 1418 </p>
1399 The kind of the file. 1419 </dd><dt class="field"><b>outline: <a href="#type_Outline">Outline</a></b> </dt><dd>
1400 </p> 1420
1401 </dd><dt class="field"><b>libraryName: String<span style="color:#99999 9"> (optional)</span></b></dt><dd> 1421 <p>
1402 1422 The outline associated with the file.
1403 <p> 1423 </p>
1404 The name of the library defined by the file using a "library" 1424 </dd></dl></dd><dt class="notification"><a name="notification_analysis.ove rrides">analysis.overrides</a></dt><dd><div class="box"><pre>notification: {
1405 directive, or referenced by a "part of" directive. If both
1406 "library" and "part of" directives are present, then the
1407 "library" directive takes precedence.
1408 This field will be omitted if the file has neither "library"
1409 nor "part of" directives.
1410 </p>
1411 </dd><dt class="field"><b>outline: <a href="#type_Outline">Outline</a> </b></dt><dd>
1412
1413 <p>
1414 The outline associated with the file.
1415 </p>
1416 </dd></dl></dd><dt class="notification"><a name="notification_analysis .overrides">analysis.overrides</a></dt><dd><div class="box"><pre>notification: {
1417 "event": "analysis.overrides" 1425 "event": "analysis.overrides"
1418 "params": { 1426 "params": {
1419 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1427 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1420 "<b>overrides</b>": List&lt;<a href="#type_Override">Override</a>&gt; 1428 "<b>overrides</b>": List&lt;<a href="#type_Override">Override</a>&gt;
1421 } 1429 }
1422 }</pre></div> 1430 }</pre></div>
1431 <p>
1432 Reports the overriding members in a file.
1433 </p>
1434 <p>
1435 This notification is not subscribed to by default. Clients
1436 can subscribe by including the value <tt>"OVERRIDES"</tt> in
1437 the list of services passed in an analysis.setSubscriptions
1438 request.
1439 </p>
1440
1441 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1442
1423 <p> 1443 <p>
1424 Reports the overriding members in a file. 1444 The file with which the overrides are associated.
1425 </p> 1445 </p>
1446 </dd><dt class="field"><b>overrides: List&lt;<a href="#type_Override">Over ride</a>&gt;</b></dt><dd>
1447
1426 <p> 1448 <p>
1427 This notification is not subscribed to by default. Clients 1449 The overrides associated with the file.
1428 can subscribe by including the value <tt>"OVERRIDES"</tt> in
1429 the list of services passed in an analysis.setSubscriptions
1430 request.
1431 </p> 1450 </p>
1432 1451 </dd></dl></dd></dl>
1433 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1452 <h2 class="domain"><a name="domain_completion">completion domain</a></h2>
1434 1453 <p>
1435 <p> 1454 The code completion domain contains commands related to
1436 The file with which the overrides are associated. 1455 getting code completion suggestions.
1437 </p> 1456 </p>
1438 </dd><dt class="field"><b>overrides: List&lt;<a href="#type_Override"> Override</a>&gt;</b></dt><dd> 1457
1439 1458
1440 <p> 1459 <h3>Requests</h3><dl><dt class="request"><a name="request_completion.getSuggesti ons">completion.getSuggestions</a></dt><dd><div class="box"><pre>request: {
1441 The overrides associated with the file.
1442 </p>
1443 </dd></dl></dd></dl>
1444 <h2 class="domain"><a name="domain_completion">completion domain</a></h2>
1445 <p>
1446 The code completion domain contains commands related to
1447 getting code completion suggestions.
1448 </p>
1449
1450
1451 <h3>Requests</h3><dl><dt class="request"><a name="request_completion.getSugg estions">completion.getSuggestions</a></dt><dd><div class="box"><pre>request: {
1452 "id": String 1460 "id": String
1453 "method": "completion.getSuggestions" 1461 "method": "completion.getSuggestions"
1454 "params": { 1462 "params": {
1455 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1463 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1456 "<b>offset</b>": int 1464 "<b>offset</b>": int
1457 } 1465 }
1458 }</pre><br><pre>response: { 1466 }</pre><br><pre>response: {
1459 "<b>id</b>": String 1467 "<b>id</b>": String
1460 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1468 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1461 "result": { 1469 "result": {
1462 "<b>id</b>": <a href="#type_CompletionId">CompletionId</a> 1470 "<b>id</b>": <a href="#type_CompletionId">CompletionId</a>
1463 } 1471 }
1464 }</pre></div> 1472 }</pre></div>
1473 <p>
1474 Request that completion suggestions for the given offset in
1475 the given file be returned.
1476 </p>
1477
1478
1479 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1480
1465 <p> 1481 <p>
1466 Request that completion suggestions for the given offset in 1482 The file containing the point at which suggestions are
1467 the given file be returned. 1483 to be made.
1468 </p> 1484 </p>
1485 </dd><dt class="field"><b>offset: int</b></dt><dd>
1469 1486
1487 <p>
1488 The offset within the file at which suggestions are to
1489 be made.
1490 </p>
1491 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type_Com pletionId">CompletionId</a></b></dt><dd>
1470 1492
1471 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1493 <p>
1472 1494 The identifier used to associate results with this
1473 <p> 1495 completion request.
1474 The file containing the point at which suggestions are 1496 </p>
1475 to be made. 1497 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_completion.results">completion.results</a></dt><dd><div class ="box"><pre>notification: {
1476 </p>
1477 </dd><dt class="field"><b>offset: int</b></dt><dd>
1478
1479 <p>
1480 The offset within the file at which suggestions are to
1481 be made.
1482 </p>
1483 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type _CompletionId">CompletionId</a></b></dt><dd>
1484
1485 <p>
1486 The identifier used to associate results with this
1487 completion request.
1488 </p>
1489 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification" ><a name="notification_completion.results">completion.results</a></dt><dd><div c lass="box"><pre>notification: {
1490 "event": "completion.results" 1498 "event": "completion.results"
1491 "params": { 1499 "params": {
1492 "<b>id</b>": <a href="#type_CompletionId">CompletionId</a> 1500 "<b>id</b>": <a href="#type_CompletionId">CompletionId</a>
1493 "<b>replacementOffset</b>": int 1501 "<b>replacementOffset</b>": int
1494 "<b>replacementLength</b>": int 1502 "<b>replacementLength</b>": int
1495 "<b>results</b>": List&lt;<a href="#type_CompletionSuggestion">CompletionSug gestion</a>&gt; 1503 "<b>results</b>": List&lt;<a href="#type_CompletionSuggestion">CompletionSug gestion</a>&gt;
1496 "<b>isLast</b>": bool 1504 "<b>isLast</b>": bool
1497 } 1505 }
1498 }</pre></div> 1506 }</pre></div>
1507 <p>
1508 Reports the completion suggestions that should be presented
1509 to the user. The set of suggestions included in the
1510 notification is always a complete list that supersedes any
1511 previously reported suggestions.
1512 </p>
1513
1514 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_CompletionId"> CompletionId</a></b></dt><dd>
1515
1499 <p> 1516 <p>
1500 Reports the completion suggestions that should be presented 1517 The id associated with the completion.
1501 to the user. The set of suggestions included in the
1502 notification is always a complete list that supersedes any
1503 previously reported suggestions.
1504 </p> 1518 </p>
1519 </dd><dt class="field"><b>replacementOffset: int</b></dt><dd>
1505 1520
1506 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_Completion Id">CompletionId</a></b></dt><dd> 1521 <p>
1507 1522 The offset of the start of the text to be
1508 <p> 1523 replaced. This will be different than the offset used
1509 The id associated with the completion. 1524 to request the completion suggestions if there was a
1510 </p> 1525 portion of an identifier before the original
1511 </dd><dt class="field"><b>replacementOffset: int</b></dt><dd> 1526 offset. In particular, the replacementOffset will be
1512 1527 the offset of the beginning of said identifier.
1513 <p> 1528 </p>
1514 The offset of the start of the text to be 1529 </dd><dt class="field"><b>replacementLength: int</b></dt><dd>
1515 replaced. This will be different than the offset used 1530
1516 to request the completion suggestions if there was a 1531 <p>
1517 portion of an identifier before the original 1532 The length of the text to be replaced if the remainder
1518 offset. In particular, the replacementOffset will be 1533 of the identifier containing the cursor is to be
1519 the offset of the beginning of said identifier. 1534 replaced when the suggestion is applied (that is, the
1520 </p> 1535 number of characters in the existing identifier).
1521 </dd><dt class="field"><b>replacementLength: int</b></dt><dd> 1536 </p>
1522 1537 </dd><dt class="field"><b>results: List&lt;<a href="#type_CompletionSugges tion">CompletionSuggestion</a>&gt;</b></dt><dd>
1523 <p> 1538
1524 The length of the text to be replaced if the remainder 1539 <p>
1525 of the identifier containing the cursor is to be 1540 The completion suggestions being reported. The
1526 replaced when the suggestion is applied (that is, the 1541 notification contains all possible completions at the
1527 number of characters in the existing identifier). 1542 requested cursor position, even those that do not match
1528 </p> 1543 the characters the user has already typed. This allows
1529 </dd><dt class="field"><b>results: List&lt;<a href="#type_CompletionSu ggestion">CompletionSuggestion</a>&gt;</b></dt><dd> 1544 the client to respond to further keystrokes from the
1530 1545 user without having to make additional requests.
1531 <p> 1546 </p>
1532 The completion suggestions being reported. The 1547 </dd><dt class="field"><b>isLast: bool</b></dt><dd>
1533 notification contains all possible completions at the 1548
1534 requested cursor position, even those that do not match 1549 <p>
1535 the characters the user has already typed. This allows 1550 True if this is that last set of results that will be
1536 the client to respond to further keystrokes from the 1551 returned for the indicated completion.
1537 user without having to make additional requests. 1552 </p>
1538 </p> 1553 </dd></dl></dd></dl>
1539 </dd><dt class="field"><b>isLast: bool</b></dt><dd> 1554 <h2 class="domain"><a name="domain_search">search domain</a></h2>
1540 1555 <p>
1541 <p> 1556 The search domain contains commands related to searches that
1542 True if this is that last set of results that will be 1557 can be performed against the code base.
1543 returned for the indicated completion. 1558 </p>
1544 </p> 1559
1545 </dd></dl></dd></dl> 1560
1546 <h2 class="domain"><a name="domain_search">search domain</a></h2> 1561
1547 <p> 1562
1548 The search domain contains commands related to searches that 1563
1549 can be performed against the code base. 1564
1550 </p> 1565 <h3>Requests</h3><dl><dt class="request"><a name="request_search.findElementRefe rences">search.findElementReferences</a></dt><dd><div class="box"><pre>request: {
1551
1552
1553
1554
1555
1556
1557 <h3>Requests</h3><dl><dt class="request"><a name="request_search.findElement References">search.findElementReferences</a></dt><dd><div class="box"><pre>reque st: {
1558 "id": String 1566 "id": String
1559 "method": "search.findElementReferences" 1567 "method": "search.findElementReferences"
1560 "params": { 1568 "params": {
1561 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1569 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1562 "<b>offset</b>": int 1570 "<b>offset</b>": int
1563 "<b>includePotential</b>": bool 1571 "<b>includePotential</b>": bool
1564 } 1572 }
1565 }</pre><br><pre>response: { 1573 }</pre><br><pre>response: {
1566 "<b>id</b>": String 1574 "<b>id</b>": String
1567 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1575 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1568 "result": { 1576 "result": {
1569 "<b>id</b>": <span style="color:#999999">optional</span> <a href="#type_Sear chId">SearchId</a> 1577 "<b>id</b>": <span style="color:#999999">optional</span> <a href="#type_Sear chId">SearchId</a>
1570 "<b>element</b>": <span style="color:#999999">optional</span> <a href="#type _Element">Element</a> 1578 "<b>element</b>": <span style="color:#999999">optional</span> <a href="#type _Element">Element</a>
1571 } 1579 }
1572 }</pre></div> 1580 }</pre></div>
1581 <p>
1582 Perform a search for references to the element defined or
1583 referenced at the given offset in the given file.
1584 </p>
1585 <p>
1586 An identifier is returned immediately, and individual
1587 results will be returned via the search.results notification
1588 as they become available.
1589 </p>
1590
1591
1592 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1593
1573 <p> 1594 <p>
1574 Perform a search for references to the element defined or 1595 The file containing the declaration of or reference to
1575 referenced at the given offset in the given file. 1596 the element used to define the search.
1597 </p>
1598 </dd><dt class="field"><b>offset: int</b></dt><dd>
1599
1600 <p>
1601 The offset within the file of the declaration of or
1602 reference to the element.
1603 </p>
1604 </dd><dt class="field"><b>includePotential: bool</b></dt><dd>
1605
1606 <p>
1607 True if potential matches are to be included in the
1608 results.
1609 </p>
1610 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type_Sea rchId">SearchId</a><span style="color:#999999"> (optional)</span></b></dt><dd>
1611
1612 <p>
1613 The identifier used to associate results with this
1614 search request.
1576 </p> 1615 </p>
1577 <p> 1616 <p>
1578 An identifier is returned immediately, and individual 1617 If no element was found at the given location, this
1579 results will be returned via the search.results notification 1618 field will be absent, and no results will be reported
1580 as they become available. 1619 via the search.results notification.
1581 </p> 1620 </p>
1621 </dd><dt class="field"><b>element: <a href="#type_Element">Element</a><spa n style="color:#999999"> (optional)</span></b></dt><dd>
1582 1622
1583 1623 <p>
1584 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1624 The element referenced or defined at the given offset
1585 1625 and whose references will be returned in the search
1586 <p> 1626 results.
1587 The file containing the declaration of or reference to 1627 </p>
1588 the element used to define the search. 1628 <p>
1589 </p> 1629 If no element was found at the given location, this
1590 </dd><dt class="field"><b>offset: int</b></dt><dd> 1630 field will be absent.
1591 1631 </p>
1592 <p> 1632 </dd></dl></dd><dt class="request"><a name="request_search.findMemberDecla rations">search.findMemberDeclarations</a></dt><dd><div class="box"><pre>request : {
1593 The offset within the file of the declaration of or
1594 reference to the element.
1595 </p>
1596 </dd><dt class="field"><b>includePotential: bool</b></dt><dd>
1597
1598 <p>
1599 True if potential matches are to be included in the
1600 results.
1601 </p>
1602 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type _SearchId">SearchId</a><span style="color:#999999"> (optional)</span></b></dt><d d>
1603
1604 <p>
1605 The identifier used to associate results with this
1606 search request.
1607 </p>
1608 <p>
1609 If no element was found at the given location, this
1610 field will be absent, and no results will be reported
1611 via the search.results notification.
1612 </p>
1613 </dd><dt class="field"><b>element: <a href="#type_Element">Element</a> <span style="color:#999999"> (optional)</span></b></dt><dd>
1614
1615 <p>
1616 The element referenced or defined at the given offset
1617 and whose references will be returned in the search
1618 results.
1619 </p>
1620 <p>
1621 If no element was found at the given location, this
1622 field will be absent.
1623 </p>
1624 </dd></dl></dd><dt class="request"><a name="request_search.findMemberD eclarations">search.findMemberDeclarations</a></dt><dd><div class="box"><pre>req uest: {
1625 "id": String 1633 "id": String
1626 "method": "search.findMemberDeclarations" 1634 "method": "search.findMemberDeclarations"
1627 "params": { 1635 "params": {
1628 "<b>name</b>": String 1636 "<b>name</b>": String
1629 } 1637 }
1630 }</pre><br><pre>response: { 1638 }</pre><br><pre>response: {
1631 "<b>id</b>": String 1639 "<b>id</b>": String
1632 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1640 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1633 "result": { 1641 "result": {
1634 "<b>id</b>": <a href="#type_SearchId">SearchId</a> 1642 "<b>id</b>": <a href="#type_SearchId">SearchId</a>
1635 } 1643 }
1636 }</pre></div> 1644 }</pre></div>
1645 <p>
1646 Perform a search for declarations of members whose name is
1647 equal to the given name.
1648 </p>
1649 <p>
1650 An identifier is returned immediately, and individual
1651 results will be returned via the search.results notification
1652 as they become available.
1653 </p>
1654
1655
1656 <h4>parameters:</h4><dl><dt class="field"><b>name: String</b></dt><dd>
1657
1637 <p> 1658 <p>
1638 Perform a search for declarations of members whose name is 1659 The name of the declarations to be found.
1639 equal to the given name.
1640 </p> 1660 </p>
1661 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type_Sea rchId">SearchId</a></b></dt><dd>
1662
1641 <p> 1663 <p>
1642 An identifier is returned immediately, and individual 1664 The identifier used to associate results with this
1643 results will be returned via the search.results notification 1665 search request.
1644 as they become available.
1645 </p> 1666 </p>
1646 1667 </dd></dl></dd><dt class="request"><a name="request_search.findMemberRefer ences">search.findMemberReferences</a></dt><dd><div class="box"><pre>request: {
1647
1648 <h4>parameters:</h4><dl><dt class="field"><b>name: String</b></dt><dd>
1649
1650 <p>
1651 The name of the declarations to be found.
1652 </p>
1653 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type _SearchId">SearchId</a></b></dt><dd>
1654
1655 <p>
1656 The identifier used to associate results with this
1657 search request.
1658 </p>
1659 </dd></dl></dd><dt class="request"><a name="request_search.findMemberR eferences">search.findMemberReferences</a></dt><dd><div class="box"><pre>request : {
1660 "id": String 1668 "id": String
1661 "method": "search.findMemberReferences" 1669 "method": "search.findMemberReferences"
1662 "params": { 1670 "params": {
1663 "<b>name</b>": String 1671 "<b>name</b>": String
1664 } 1672 }
1665 }</pre><br><pre>response: { 1673 }</pre><br><pre>response: {
1666 "<b>id</b>": String 1674 "<b>id</b>": String
1667 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1675 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1668 "result": { 1676 "result": {
1669 "<b>id</b>": <a href="#type_SearchId">SearchId</a> 1677 "<b>id</b>": <a href="#type_SearchId">SearchId</a>
1670 } 1678 }
1671 }</pre></div> 1679 }</pre></div>
1680 <p>
1681 Perform a search for references to members whose name is
1682 equal to the given name. This search does not check to see
1683 that there is a member defined with the given name, so it is
1684 able to find references to undefined members as well.
1685 </p>
1686 <p>
1687 An identifier is returned immediately, and individual
1688 results will be returned via the search.results notification
1689 as they become available.
1690 </p>
1691
1692
1693 <h4>parameters:</h4><dl><dt class="field"><b>name: String</b></dt><dd>
1694
1672 <p> 1695 <p>
1673 Perform a search for references to members whose name is 1696 The name of the references to be found.
1674 equal to the given name. This search does not check to see
1675 that there is a member defined with the given name, so it is
1676 able to find references to undefined members as well.
1677 </p> 1697 </p>
1698 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type_Sea rchId">SearchId</a></b></dt><dd>
1699
1678 <p> 1700 <p>
1679 An identifier is returned immediately, and individual 1701 The identifier used to associate results with this
1680 results will be returned via the search.results notification 1702 search request.
1681 as they become available.
1682 </p> 1703 </p>
1683 1704 </dd></dl></dd><dt class="request"><a name="request_search.findTopLevelDec larations">search.findTopLevelDeclarations</a></dt><dd><div class="box"><pre>req uest: {
1684
1685 <h4>parameters:</h4><dl><dt class="field"><b>name: String</b></dt><dd>
1686
1687 <p>
1688 The name of the references to be found.
1689 </p>
1690 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type _SearchId">SearchId</a></b></dt><dd>
1691
1692 <p>
1693 The identifier used to associate results with this
1694 search request.
1695 </p>
1696 </dd></dl></dd><dt class="request"><a name="request_search.findTopLeve lDeclarations">search.findTopLevelDeclarations</a></dt><dd><div class="box"><pre >request: {
1697 "id": String 1705 "id": String
1698 "method": "search.findTopLevelDeclarations" 1706 "method": "search.findTopLevelDeclarations"
1699 "params": { 1707 "params": {
1700 "<b>pattern</b>": String 1708 "<b>pattern</b>": String
1701 } 1709 }
1702 }</pre><br><pre>response: { 1710 }</pre><br><pre>response: {
1703 "<b>id</b>": String 1711 "<b>id</b>": String
1704 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1712 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1705 "result": { 1713 "result": {
1706 "<b>id</b>": <a href="#type_SearchId">SearchId</a> 1714 "<b>id</b>": <a href="#type_SearchId">SearchId</a>
1707 } 1715 }
1708 }</pre></div> 1716 }</pre></div>
1717 <p>
1718 Perform a search for declarations of top-level elements
1719 (classes, typedefs, getters, setters, functions and fields)
1720 whose name matches the given pattern.
1721 </p>
1722 <p>
1723 An identifier is returned immediately, and individual
1724 results will be returned via the search.results notification
1725 as they become available.
1726 </p>
1727
1728
1729 <h4>parameters:</h4><dl><dt class="field"><b>pattern: String</b></dt><dd>
1730
1709 <p> 1731 <p>
1710 Perform a search for declarations of top-level elements 1732 The regular expression used to match the names of the
1711 (classes, typedefs, getters, setters, functions and fields) 1733 declarations to be found.
1712 whose name matches the given pattern.
1713 </p> 1734 </p>
1735 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type_Sea rchId">SearchId</a></b></dt><dd>
1736
1714 <p> 1737 <p>
1715 An identifier is returned immediately, and individual 1738 The identifier used to associate results with this
1716 results will be returned via the search.results notification 1739 search request.
1717 as they become available.
1718 </p> 1740 </p>
1719 1741 </dd></dl></dd><dt class="request"><a name="request_search.getTypeHierarch y">search.getTypeHierarchy</a></dt><dd><div class="box"><pre>request: {
1720
1721 <h4>parameters:</h4><dl><dt class="field"><b>pattern: String</b></dt><dd>
1722
1723 <p>
1724 The regular expression used to match the names of the
1725 declarations to be found.
1726 </p>
1727 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type _SearchId">SearchId</a></b></dt><dd>
1728
1729 <p>
1730 The identifier used to associate results with this
1731 search request.
1732 </p>
1733 </dd></dl></dd><dt class="request"><a name="request_search.getTypeHier archy">search.getTypeHierarchy</a></dt><dd><div class="box"><pre>request: {
1734 "id": String 1742 "id": String
1735 "method": "search.getTypeHierarchy" 1743 "method": "search.getTypeHierarchy"
1736 "params": { 1744 "params": {
1737 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1745 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1738 "<b>offset</b>": int 1746 "<b>offset</b>": int
1739 "<b>superOnly</b>": <span style="color:#999999">optional</span> bool 1747 "<b>superOnly</b>": <span style="color:#999999">optional</span> bool
1740 } 1748 }
1741 }</pre><br><pre>response: { 1749 }</pre><br><pre>response: {
1742 "id": String 1750 "id": String
1743 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1751 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1744 "result": { 1752 "result": {
1745 "<b>hierarchyItems</b>": <span style="color:#999999">optional</span> List&lt ;<a href="#type_TypeHierarchyItem">TypeHierarchyItem</a>&gt; 1753 "<b>hierarchyItems</b>": <span style="color:#999999">optional</span> List&lt ;<a href="#type_TypeHierarchyItem">TypeHierarchyItem</a>&gt;
1746 } 1754 }
1747 }</pre></div> 1755 }</pre></div>
1756 <p>
1757 Return the type hierarchy of the class declared or
1758 referenced at the given location.
1759 </p>
1760
1761
1762 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1763
1748 <p> 1764 <p>
1749 Return the type hierarchy of the class declared or 1765 The file containing the declaration or reference to the
1750 referenced at the given location. 1766 type for which a hierarchy is being requested.
1751 </p> 1767 </p>
1768 </dd><dt class="field"><b>offset: int</b></dt><dd>
1752 1769
1770 <p>
1771 The offset of the name of the type within the file.
1772 </p>
1773 </dd><dt class="field"><b>superOnly: bool<span style="color:#999999"> (opt ional)</span></b></dt><dd>
1753 1774
1754 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1775 <p>
1755 1776 True if the client is only requesting superclasses and
1756 <p> 1777 interfaces hierarchy.
1757 The file containing the declaration or reference to the 1778 </p>
1758 type for which a hierarchy is being requested. 1779 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>hierarchyItems: List&l t;<a href="#type_TypeHierarchyItem">TypeHierarchyItem</a>&gt;<span style="color: #999999"> (optional)</span></b></dt><dd>
1759 </p> 1780
1760 </dd><dt class="field"><b>offset: int</b></dt><dd> 1781 <p>
1761 1782 A list of the types in the requested hierarchy. The
1762 <p> 1783 first element of the list is the item representing the
1763 The offset of the name of the type within the file. 1784 type for which the hierarchy was requested. The index of
1764 </p> 1785 other elements of the list is unspecified, but
1765 </dd><dt class="field"><b>superOnly: bool<span style="color:#999999"> (optional)</span></b></dt><dd> 1786 correspond to the integers used to reference supertype
1766 1787 and subtype items within the items.
1767 <p> 1788 </p>
1768 True if the client is only requesting superclasses and 1789 <p>
1769 interfaces hierarchy. 1790 This field will be absent if the code at the given file
1770 </p> 1791 and offset does not represent a type, or if the file has
1771 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>hierarchyItems: Li st&lt;<a href="#type_TypeHierarchyItem">TypeHierarchyItem</a>&gt;<span style="co lor:#999999"> (optional)</span></b></dt><dd> 1792 not been sufficiently analyzed to allow a type hierarchy
1772 1793 to be produced.
1773 <p> 1794 </p>
1774 A list of the types in the requested hierarchy. The 1795 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_search.results">search.results</a></dt><dd><div class="box">< pre>notification: {
1775 first element of the list is the item representing the
1776 type for which the hierarchy was requested. The index of
1777 other elements of the list is unspecified, but
1778 correspond to the integers used to reference supertype
1779 and subtype items within the items.
1780 </p>
1781 <p>
1782 This field will be absent if the code at the given file
1783 and offset does not represent a type, or if the file has
1784 not been sufficiently analyzed to allow a type hierarchy
1785 to be produced.
1786 </p>
1787 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification" ><a name="notification_search.results">search.results</a></dt><dd><div class="bo x"><pre>notification: {
1788 "event": "search.results" 1796 "event": "search.results"
1789 "params": { 1797 "params": {
1790 "<b>id</b>": <a href="#type_SearchId">SearchId</a> 1798 "<b>id</b>": <a href="#type_SearchId">SearchId</a>
1791 "<b>results</b>": List&lt;<a href="#type_SearchResult">SearchResult</a>&gt; 1799 "<b>results</b>": List&lt;<a href="#type_SearchResult">SearchResult</a>&gt;
1792 "<b>isLast</b>": bool 1800 "<b>isLast</b>": bool
1793 } 1801 }
1794 }</pre></div> 1802 }</pre></div>
1803 <p>
1804 Reports some or all of the results of performing a requested
1805 search. Unlike other notifications, this notification
1806 contains search results that should be added to any
1807 previously received search results associated with the same
1808 search id.
1809 </p>
1810
1811 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_SearchId">Sear chId</a></b></dt><dd>
1812
1795 <p> 1813 <p>
1796 Reports some or all of the results of performing a requested 1814 The id associated with the search.
1797 search. Unlike other notifications, this notification
1798 contains search results that should be added to any
1799 previously received search results associated with the same
1800 search id.
1801 </p> 1815 </p>
1816 </dd><dt class="field"><b>results: List&lt;<a href="#type_SearchResult">Se archResult</a>&gt;</b></dt><dd>
1802 1817
1803 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_SearchId"> SearchId</a></b></dt><dd> 1818 <p>
1804 1819 The search results being reported.
1805 <p> 1820 </p>
1806 The id associated with the search. 1821 </dd><dt class="field"><b>isLast: bool</b></dt><dd>
1807 </p> 1822
1808 </dd><dt class="field"><b>results: List&lt;<a href="#type_SearchResult ">SearchResult</a>&gt;</b></dt><dd> 1823 <p>
1809 1824 True if this is that last set of results that will be
1810 <p> 1825 returned for the indicated search.
1811 The search results being reported. 1826 </p>
1812 </p> 1827 </dd></dl></dd></dl>
1813 </dd><dt class="field"><b>isLast: bool</b></dt><dd> 1828 <h2 class="domain"><a name="domain_edit">edit domain</a></h2>
1814 1829 <p>
1815 <p> 1830 The edit domain contains commands related to edits that can be
1816 True if this is that last set of results that will be 1831 applied to the code.
1817 returned for the indicated search. 1832 </p>
1818 </p> 1833
1819 </dd></dl></dd></dl> 1834
1820 <h2 class="domain"><a name="domain_edit">edit domain</a></h2> 1835
1821 <p> 1836
1822 The edit domain contains commands related to edits that can be 1837
1823 applied to the code. 1838
1824 </p> 1839
1825 1840
1826 1841 <h3>Requests</h3><dl><dt class="request"><a name="request_edit.format">edit.form at</a></dt><dd><div class="box"><pre>request: {
1827
1828
1829
1830
1831
1832
1833 <h3>Requests</h3><dl><dt class="request"><a name="request_edit.format">edit. format</a></dt><dd><div class="box"><pre>request: {
1834 "id": String 1842 "id": String
1835 "method": "edit.format" 1843 "method": "edit.format"
1836 "params": { 1844 "params": {
1837 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1845 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1838 "<b>selectionOffset</b>": int 1846 "<b>selectionOffset</b>": int
1839 "<b>selectionLength</b>": int 1847 "<b>selectionLength</b>": int
1840 "<b>lineLength</b>": <span style="color:#999999">optional</span> int 1848 "<b>lineLength</b>": <span style="color:#999999">optional</span> int
1841 } 1849 }
1842 }</pre><br><pre>response: { 1850 }</pre><br><pre>response: {
1843 "id": String 1851 "id": String
1844 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1852 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1845 "result": { 1853 "result": {
1846 "<b>edits</b>": List&lt;<a href="#type_SourceEdit">SourceEdit</a>&gt; 1854 "<b>edits</b>": List&lt;<a href="#type_SourceEdit">SourceEdit</a>&gt;
1847 "<b>selectionOffset</b>": int 1855 "<b>selectionOffset</b>": int
1848 "<b>selectionLength</b>": int 1856 "<b>selectionLength</b>": int
1849 } 1857 }
1850 }</pre></div> 1858 }</pre></div>
1859 <p>
1860 Format the contents of a single file. The currently selected region of
1861 text is passed in so that the selection can be preserved across the
1862 formatting operation. The updated selection will be as close to
1863 matching the original as possible, but whitespace at the beginning or
1864 end of the selected region will be ignored. If preserving selection
1865 information is not required, zero (0) can be specified for both the
1866 selection offset and selection length.
1867 </p>
1868 <p>
1869 If a request is made for a file which does not exist, or which is not
1870 currently subject to analysis (e.g. because it is not associated with
1871 any analysis root specified to analysis.setAnalysisRoots), an error of
1872 type <tt>FORMAT_INVALID_FILE</tt> will be generated. If the source
1873 contains syntax errors, an error of type <tt>FORMAT_WITH_ERRORS</tt>
1874 will be generated.
1875 </p>
1876
1877
1878 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1879
1851 <p> 1880 <p>
1852 Format the contents of a single file. The currently selected region of 1881 The file containing the code to be formatted.
1853 text is passed in so that the selection can be preserved across the
1854 formatting operation. The updated selection will be as close to
1855 matching the original as possible, but whitespace at the beginning or
1856 end of the selected region will be ignored. If preserving selection
1857 information is not required, zero (0) can be specified for both the
1858 selection offset and selection length.
1859 </p> 1882 </p>
1883 </dd><dt class="field"><b>selectionOffset: int</b></dt><dd>
1884
1860 <p> 1885 <p>
1861 If a request is made for a file which does not exist, or which is not 1886 The offset of the current selection in the file.
1862 currently subject to analysis (e.g. because it is not associated with
1863 any analysis root specified to analysis.setAnalysisRoots), an error of
1864 type <tt>FORMAT_INVALID_FILE</tt> will be generated. If the source
1865 contains syntax errors, an error of type <tt>FORMAT_WITH_ERRORS</tt>
1866 will be generated.
1867 </p> 1887 </p>
1888 </dd><dt class="field"><b>selectionLength: int</b></dt><dd>
1868 1889
1890 <p>
1891 The length of the current selection in the file.
1892 </p>
1893 </dd><dt class="field"><b>lineLength: int<span style="color:#999999"> (opt ional)</span></b></dt><dd>
1869 1894
1870 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1895 <p>
1871 1896 The line length to be used by the formatter.
1872 <p> 1897 </p>
1873 The file containing the code to be formatted. 1898 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>edits: List&lt;<a href ="#type_SourceEdit">SourceEdit</a>&gt;</b></dt><dd>
1874 </p> 1899
1875 </dd><dt class="field"><b>selectionOffset: int</b></dt><dd> 1900 <p>
1876 1901 The edit(s) to be applied in order to format the code. The list
1877 <p> 1902 will be empty if the code was already formatted (there are no
1878 The offset of the current selection in the file. 1903 changes).
1879 </p> 1904 </p>
1880 </dd><dt class="field"><b>selectionLength: int</b></dt><dd> 1905 </dd><dt class="field"><b>selectionOffset: int</b></dt><dd>
1881 1906
1882 <p> 1907 <p>
1883 The length of the current selection in the file. 1908 The offset of the selection after formatting the code.
1884 </p> 1909 </p>
1885 </dd><dt class="field"><b>lineLength: int<span style="color:#999999"> (optional)</span></b></dt><dd> 1910 </dd><dt class="field"><b>selectionLength: int</b></dt><dd>
1886 1911
1887 <p> 1912 <p>
1888 The line length to be used by the formatter. 1913 The length of the selection after formatting the code.
1889 </p> 1914 </p>
1890 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>edits: List&lt;<a href="#type_SourceEdit">SourceEdit</a>&gt;</b></dt><dd> 1915 </dd></dl></dd><dt class="request"><a name="request_edit.getAssists">edit. getAssists</a></dt><dd><div class="box"><pre>request: {
1891
1892 <p>
1893 The edit(s) to be applied in order to format the code. The list
1894 will be empty if the code was already formatted (there are no
1895 changes).
1896 </p>
1897 </dd><dt class="field"><b>selectionOffset: int</b></dt><dd>
1898
1899 <p>
1900 The offset of the selection after formatting the code.
1901 </p>
1902 </dd><dt class="field"><b>selectionLength: int</b></dt><dd>
1903
1904 <p>
1905 The length of the selection after formatting the code.
1906 </p>
1907 </dd></dl></dd><dt class="request"><a name="request_edit.getAssists">e dit.getAssists</a></dt><dd><div class="box"><pre>request: {
1908 "id": String 1916 "id": String
1909 "method": "edit.getAssists" 1917 "method": "edit.getAssists"
1910 "params": { 1918 "params": {
1911 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1919 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1912 "<b>offset</b>": int 1920 "<b>offset</b>": int
1913 "<b>length</b>": int 1921 "<b>length</b>": int
1914 } 1922 }
1915 }</pre><br><pre>response: { 1923 }</pre><br><pre>response: {
1916 "id": String 1924 "id": String
1917 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1925 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1918 "result": { 1926 "result": {
1919 "<b>assists</b>": List&lt;<a href="#type_SourceChange">SourceChange</a>&gt; 1927 "<b>assists</b>": List&lt;<a href="#type_SourceChange">SourceChange</a>&gt;
1920 } 1928 }
1921 }</pre></div> 1929 }</pre></div>
1930 <p>
1931 Return the set of assists that are available at the given
1932 location. An assist is distinguished from a refactoring
1933 primarily by the fact that it affects a single file and does
1934 not require user input in order to be performed.
1935 </p>
1936
1937
1938 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1939
1922 <p> 1940 <p>
1923 Return the set of assists that are available at the given 1941 The file containing the code for which assists are being
1924 location. An assist is distinguished from a refactoring 1942 requested.
1925 primarily by the fact that it affects a single file and does
1926 not require user input in order to be performed.
1927 </p> 1943 </p>
1944 </dd><dt class="field"><b>offset: int</b></dt><dd>
1928 1945
1946 <p>
1947 The offset of the code for which assists are being
1948 requested.
1949 </p>
1950 </dd><dt class="field"><b>length: int</b></dt><dd>
1929 1951
1930 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1952 <p>
1931 1953 The length of the code for which assists are being
1932 <p> 1954 requested.
1933 The file containing the code for which assists are being 1955 </p>
1934 requested. 1956 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>assists: List&lt;<a hr ef="#type_SourceChange">SourceChange</a>&gt;</b></dt><dd>
1935 </p> 1957
1936 </dd><dt class="field"><b>offset: int</b></dt><dd> 1958 <p>
1937 1959 The assists that are available at the given location.
1938 <p> 1960 </p>
1939 The offset of the code for which assists are being 1961 </dd></dl></dd><dt class="request"><a name="request_edit.getAvailableRefac torings">edit.getAvailableRefactorings</a></dt><dd><div class="box"><pre>request : {
1940 requested.
1941 </p>
1942 </dd><dt class="field"><b>length: int</b></dt><dd>
1943
1944 <p>
1945 The length of the code for which assists are being
1946 requested.
1947 </p>
1948 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>assists: List&lt;< a href="#type_SourceChange">SourceChange</a>&gt;</b></dt><dd>
1949
1950 <p>
1951 The assists that are available at the given location.
1952 </p>
1953 </dd></dl></dd><dt class="request"><a name="request_edit.getAvailableR efactorings">edit.getAvailableRefactorings</a></dt><dd><div class="box"><pre>req uest: {
1954 "id": String 1962 "id": String
1955 "method": "edit.getAvailableRefactorings" 1963 "method": "edit.getAvailableRefactorings"
1956 "params": { 1964 "params": {
1957 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 1965 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
1958 "<b>offset</b>": int 1966 "<b>offset</b>": int
1959 "<b>length</b>": int 1967 "<b>length</b>": int
1960 } 1968 }
1961 }</pre><br><pre>response: { 1969 }</pre><br><pre>response: {
1962 "id": String 1970 "id": String
1963 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 1971 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
1964 "result": { 1972 "result": {
1965 "<b>kinds</b>": List&lt;<a href="#type_RefactoringKind">RefactoringKind</a>& gt; 1973 "<b>kinds</b>": List&lt;<a href="#type_RefactoringKind">RefactoringKind</a>& gt;
1966 } 1974 }
1967 }</pre></div> 1975 }</pre></div>
1976 <p>
1977 Get a list of the kinds of refactorings that are valid for
1978 the given selection in the given file.
1979 </p>
1980
1981
1982 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
1983
1968 <p> 1984 <p>
1969 Get a list of the kinds of refactorings that are valid for 1985 The file containing the code on which the refactoring
1970 the given selection in the given file. 1986 would be based.
1971 </p> 1987 </p>
1988 </dd><dt class="field"><b>offset: int</b></dt><dd>
1972 1989
1990 <p>
1991 The offset of the code on which the refactoring would be
1992 based.
1993 </p>
1994 </dd><dt class="field"><b>length: int</b></dt><dd>
1973 1995
1974 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 1996 <p>
1975 1997 The length of the code on which the refactoring would be
1976 <p> 1998 based.
1977 The file containing the code on which the refactoring 1999 </p>
1978 would be based. 2000 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>kinds: List&lt;<a href ="#type_RefactoringKind">RefactoringKind</a>&gt;</b></dt><dd>
1979 </p> 2001
1980 </dd><dt class="field"><b>offset: int</b></dt><dd> 2002 <p>
1981 2003 The kinds of refactorings that are valid for the given
1982 <p> 2004 selection.
1983 The offset of the code on which the refactoring would be 2005 </p>
1984 based. 2006 </dd></dl></dd><dt class="request"><a name="request_edit.getFixes">edit.ge tFixes</a></dt><dd><div class="box"><pre>request: {
1985 </p>
1986 </dd><dt class="field"><b>length: int</b></dt><dd>
1987
1988 <p>
1989 The length of the code on which the refactoring would be
1990 based.
1991 </p>
1992 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>kinds: List&lt;<a href="#type_RefactoringKind">RefactoringKind</a>&gt;</b></dt><dd>
1993
1994 <p>
1995 The kinds of refactorings that are valid for the given
1996 selection.
1997 </p>
1998 </dd></dl></dd><dt class="request"><a name="request_edit.getFixes">edi t.getFixes</a></dt><dd><div class="box"><pre>request: {
1999 "id": String 2007 "id": String
2000 "method": "edit.getFixes" 2008 "method": "edit.getFixes"
2001 "params": { 2009 "params": {
2002 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 2010 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
2003 "<b>offset</b>": int 2011 "<b>offset</b>": int
2004 } 2012 }
2005 }</pre><br><pre>response: { 2013 }</pre><br><pre>response: {
2006 "id": String 2014 "id": String
2007 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2015 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2008 "result": { 2016 "result": {
2009 "<b>fixes</b>": List&lt;<a href="#type_AnalysisErrorFixes">AnalysisErrorFixe s</a>&gt; 2017 "<b>fixes</b>": List&lt;<a href="#type_AnalysisErrorFixes">AnalysisErrorFixe s</a>&gt;
2010 } 2018 }
2011 }</pre></div> 2019 }</pre></div>
2020 <p>
2021 Return the set of fixes that are available for the errors at
2022 a given offset in a given file.
2023 </p>
2024
2025
2026 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
2027
2012 <p> 2028 <p>
2013 Return the set of fixes that are available for the errors at 2029 The file containing the errors for which fixes are being
2014 a given offset in a given file. 2030 requested.
2015 </p> 2031 </p>
2032 </dd><dt class="field"><b>offset: int</b></dt><dd>
2016 2033
2034 <p>
2035 The offset used to select the errors for which fixes
2036 will be returned.
2037 </p>
2038 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>fixes: List&lt;<a href ="#type_AnalysisErrorFixes">AnalysisErrorFixes</a>&gt;</b></dt><dd>
2017 2039
2018 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 2040 <p>
2019 2041 The fixes that are available for the errors at the given offset.
2020 <p> 2042 </p>
2021 The file containing the errors for which fixes are being 2043 </dd></dl></dd><dt class="request"><a name="request_edit.getRefactoring">e dit.getRefactoring</a></dt><dd><div class="box"><pre>request: {
2022 requested.
2023 </p>
2024 </dd><dt class="field"><b>offset: int</b></dt><dd>
2025
2026 <p>
2027 The offset used to select the errors for which fixes
2028 will be returned.
2029 </p>
2030 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>fixes: List&lt;<a href="#type_AnalysisErrorFixes">AnalysisErrorFixes</a>&gt;</b></dt><dd>
2031
2032 <p>
2033 The fixes that are available for the errors at the given offset.
2034 </p>
2035 </dd></dl></dd><dt class="request"><a name="request_edit.getRefactorin g">edit.getRefactoring</a></dt><dd><div class="box"><pre>request: {
2036 "id": String 2044 "id": String
2037 "method": "edit.getRefactoring" 2045 "method": "edit.getRefactoring"
2038 "params": { 2046 "params": {
2039 "<b>kind</b>": <a href="#type_RefactoringKind">RefactoringKind</a> 2047 "<b>kind</b>": <a href="#type_RefactoringKind">RefactoringKind</a>
2040 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 2048 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
2041 "<b>offset</b>": int 2049 "<b>offset</b>": int
2042 "<b>length</b>": int 2050 "<b>length</b>": int
2043 "<b>validateOnly</b>": bool 2051 "<b>validateOnly</b>": bool
2044 "<b>options</b>": <span style="color:#999999">optional</span> <a href="#type _RefactoringOptions">RefactoringOptions</a> 2052 "<b>options</b>": <span style="color:#999999">optional</span> <a href="#type _RefactoringOptions">RefactoringOptions</a>
2045 } 2053 }
2046 }</pre><br><pre>response: { 2054 }</pre><br><pre>response: {
2047 "id": String 2055 "id": String
2048 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2056 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2049 "result": { 2057 "result": {
2050 "<b>initialProblems</b>": List&lt;<a href="#type_RefactoringProblem">Refacto ringProblem</a>&gt; 2058 "<b>initialProblems</b>": List&lt;<a href="#type_RefactoringProblem">Refacto ringProblem</a>&gt;
2051 "<b>optionsProblems</b>": List&lt;<a href="#type_RefactoringProblem">Refacto ringProblem</a>&gt; 2059 "<b>optionsProblems</b>": List&lt;<a href="#type_RefactoringProblem">Refacto ringProblem</a>&gt;
2052 "<b>finalProblems</b>": List&lt;<a href="#type_RefactoringProblem">Refactori ngProblem</a>&gt; 2060 "<b>finalProblems</b>": List&lt;<a href="#type_RefactoringProblem">Refactori ngProblem</a>&gt;
2053 "<b>feedback</b>": <span style="color:#999999">optional</span> <a href="#typ e_RefactoringFeedback">RefactoringFeedback</a> 2061 "<b>feedback</b>": <span style="color:#999999">optional</span> <a href="#typ e_RefactoringFeedback">RefactoringFeedback</a>
2054 "<b>change</b>": <span style="color:#999999">optional</span> <a href="#type_ SourceChange">SourceChange</a> 2062 "<b>change</b>": <span style="color:#999999">optional</span> <a href="#type_ SourceChange">SourceChange</a>
2055 "<b>potentialEdits</b>": <span style="color:#999999">optional</span> List&lt ;String&gt; 2063 "<b>potentialEdits</b>": <span style="color:#999999">optional</span> List&lt ;String&gt;
2056 } 2064 }
2057 }</pre></div> 2065 }</pre></div>
2066 <p>
2067 Get the changes required to perform a refactoring.
2068 </p>
2069 <p>
2070 If another refactoring request is received during the processing
2071 of this one, an error of type <tt>REFACTORING_REQUEST_CANCELLED</tt>
2072 will be generated.
2073 </p>
2074
2075
2076 <h4>parameters:</h4><dl><dt class="field"><b>kind: <a href="#type_RefactoringK ind">RefactoringKind</a></b></dt><dd>
2077
2058 <p> 2078 <p>
2059 Get the changes required to perform a refactoring. 2079 The kind of refactoring to be performed.
2060 </p> 2080 </p>
2081 </dd><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b>< /dt><dd>
2082
2061 <p> 2083 <p>
2062 If another refactoring request is received during the processing 2084 The file containing the code involved in the
2063 of this one, an error of type <tt>REFACTORING_REQUEST_CANCELLED</tt> 2085 refactoring.
2064 will be generated.
2065 </p> 2086 </p>
2087 </dd><dt class="field"><b>offset: int</b></dt><dd>
2066 2088
2089 <p>
2090 The offset of the region involved in the refactoring.
2091 </p>
2092 </dd><dt class="field"><b>length: int</b></dt><dd>
2067 2093
2068 <h4>parameters:</h4><dl><dt class="field"><b>kind: <a href="#type_Refactor ingKind">RefactoringKind</a></b></dt><dd> 2094 <p>
2069 2095 The length of the region involved in the refactoring.
2070 <p> 2096 </p>
2071 The kind of refactoring to be performed. 2097 </dd><dt class="field"><b>validateOnly: bool</b></dt><dd>
2072 </p> 2098
2073 </dd><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a>< /b></dt><dd> 2099 <p>
2074 2100 True if the client is only requesting that the values of
2075 <p> 2101 the options be validated and no change be generated.
2076 The file containing the code involved in the 2102 </p>
2077 refactoring. 2103 </dd><dt class="field"><b>options: <a href="#type_RefactoringOptions">Refa ctoringOptions</a><span style="color:#999999"> (optional)</span></b></dt><dd>
2078 </p> 2104
2079 </dd><dt class="field"><b>offset: int</b></dt><dd> 2105 <p>
2080 2106 Data used to provide values provided by the user. The
2081 <p> 2107 structure of the data is dependent on the kind of
2082 The offset of the region involved in the refactoring. 2108 refactoring being performed. The data that is expected is
2083 </p> 2109 documented in the section titled <a href="#refactorings">Refactorings< /a>, labeled as
2084 </dd><dt class="field"><b>length: int</b></dt><dd> 2110 "Options". This field can be omitted if the refactoring
2085 2111 does not require any options or if the values of those
2086 <p> 2112 options are not known.
2087 The length of the region involved in the refactoring. 2113 </p>
2088 </p> 2114 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>initialProblems: List& lt;<a href="#type_RefactoringProblem">RefactoringProblem</a>&gt;</b></dt><dd>
2089 </dd><dt class="field"><b>validateOnly: bool</b></dt><dd> 2115
2090 2116 <p>
2091 <p> 2117 The initial status of the refactoring, i.e. problems related to
2092 True if the client is only requesting that the values of 2118 the context in which the refactoring is requested.
2093 the options be validated and no change be generated. 2119 The array will be empty if there are no known problems.
2094 </p> 2120 </p>
2095 </dd><dt class="field"><b>options: <a href="#type_RefactoringOptions"> RefactoringOptions</a><span style="color:#999999"> (optional)</span></b></dt><dd > 2121 </dd><dt class="field"><b>optionsProblems: List&lt;<a href="#type_Refactor ingProblem">RefactoringProblem</a>&gt;</b></dt><dd>
2096 2122
2097 <p> 2123 <p>
2098 Data used to provide values provided by the user. The 2124 The options validation status, i.e. problems in the given options,
2099 structure of the data is dependent on the kind of 2125 such as light-weight validation of a new name, flags
2100 refactoring being performed. The data that is expected is 2126 compatibility, etc.
2101 documented in the section titled <a href="#refactorings">Refactori ngs</a>, labeled as 2127 The array will be empty if there are no known problems.
2102 "Options". This field can be omitted if the refactoring 2128 </p>
2103 does not require any options or if the values of those 2129 </dd><dt class="field"><b>finalProblems: List&lt;<a href="#type_Refactorin gProblem">RefactoringProblem</a>&gt;</b></dt><dd>
2104 options are not known. 2130
2105 </p> 2131 <p>
2106 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>initialProblems: L ist&lt;<a href="#type_RefactoringProblem">RefactoringProblem</a>&gt;</b></dt><dd > 2132 The final status of the refactoring, i.e. problems identified in
2107 2133 the result of a full, potentially expensive validation and / or
2108 <p> 2134 change creation.
2109 The initial status of the refactoring, i.e. problems related to 2135 The array will be empty if there are no known problems.
2110 the context in which the refactoring is requested. 2136 </p>
2111 The array will be empty if there are no known problems. 2137 </dd><dt class="field"><b>feedback: <a href="#type_RefactoringFeedback">Re factoringFeedback</a><span style="color:#999999"> (optional)</span></b></dt><dd>
2112 </p> 2138
2113 </dd><dt class="field"><b>optionsProblems: List&lt;<a href="#type_Refa ctoringProblem">RefactoringProblem</a>&gt;</b></dt><dd> 2139 <p>
2114 2140 Data used to provide feedback to the user. The structure
2115 <p> 2141 of the data is dependent on the kind of refactoring
2116 The options validation status, i.e. problems in the given options, 2142 being created. The data that is returned is documented
2117 such as light-weight validation of a new name, flags 2143 in the section titled <a href="#refactorings">Refactorings</a>, labele d as
2118 compatibility, etc. 2144 "Feedback".
2119 The array will be empty if there are no known problems. 2145 </p>
2120 </p> 2146 </dd><dt class="field"><b>change: <a href="#type_SourceChange">SourceChang e</a><span style="color:#999999"> (optional)</span></b></dt><dd>
2121 </dd><dt class="field"><b>finalProblems: List&lt;<a href="#type_Refact oringProblem">RefactoringProblem</a>&gt;</b></dt><dd> 2147
2122 2148 <p>
2123 <p> 2149 The changes that are to be applied to affect the
2124 The final status of the refactoring, i.e. problems identified in 2150 refactoring. This field will be omitted if there are
2125 the result of a full, potentially expensive validation and / or 2151 problems that prevent a set of changes from being
2126 change creation. 2152 computed, such as having no options specified for a
2127 The array will be empty if there are no known problems. 2153 refactoring that requires them, or if only validation
2128 </p> 2154 was requested.
2129 </dd><dt class="field"><b>feedback: <a href="#type_RefactoringFeedback ">RefactoringFeedback</a><span style="color:#999999"> (optional)</span></b></dt> <dd> 2155 </p>
2130 2156 </dd><dt class="field"><b>potentialEdits: List&lt;String&gt;<span style="c olor:#999999"> (optional)</span></b></dt><dd>
2131 <p> 2157
2132 Data used to provide feedback to the user. The structure 2158 <p>
2133 of the data is dependent on the kind of refactoring 2159 The ids of source edits that are not known to be valid. An edit is
2134 being created. The data that is returned is documented 2160 not known to be valid if there was insufficient type information
2135 in the section titled <a href="#refactorings">Refactorings</a>, la beled as 2161 for the server to be able to determine whether or not the code
2136 "Feedback". 2162 needs to be modified, such as when a member is being renamed and
2137 </p> 2163 there is a reference to a member from an unknown type. This field
2138 </dd><dt class="field"><b>change: <a href="#type_SourceChange">SourceC hange</a><span style="color:#999999"> (optional)</span></b></dt><dd> 2164 will be omitted if the change field is omitted or if there are no
2139 2165 potential edits for the refactoring.
2140 <p> 2166 </p>
2141 The changes that are to be applied to affect the 2167 </dd></dl></dd><dt class="request"><a name="request_edit.sortMembers">edit .sortMembers</a></dt><dd><div class="box"><pre>request: {
2142 refactoring. This field will be omitted if there are
2143 problems that prevent a set of changes from being
2144 computed, such as having no options specified for a
2145 refactoring that requires them, or if only validation
2146 was requested.
2147 </p>
2148 </dd><dt class="field"><b>potentialEdits: List&lt;String&gt;<span styl e="color:#999999"> (optional)</span></b></dt><dd>
2149
2150 <p>
2151 The ids of source edits that are not known to be valid. An edit is
2152 not known to be valid if there was insufficient type information
2153 for the server to be able to determine whether or not the code
2154 needs to be modified, such as when a member is being renamed and
2155 there is a reference to a member from an unknown type. This field
2156 will be omitted if the change field is omitted or if there are no
2157 potential edits for the refactoring.
2158 </p>
2159 </dd></dl></dd><dt class="request"><a name="request_edit.sortMembers"> edit.sortMembers</a></dt><dd><div class="box"><pre>request: {
2160 "id": String 2168 "id": String
2161 "method": "edit.sortMembers" 2169 "method": "edit.sortMembers"
2162 "params": { 2170 "params": {
2163 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 2171 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
2164 } 2172 }
2165 }</pre><br><pre>response: { 2173 }</pre><br><pre>response: {
2166 "id": String 2174 "id": String
2167 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2175 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2168 "result": { 2176 "result": {
2169 "<b>edit</b>": <a href="#type_SourceFileEdit">SourceFileEdit</a> 2177 "<b>edit</b>": <a href="#type_SourceFileEdit">SourceFileEdit</a>
2170 } 2178 }
2171 }</pre></div> 2179 }</pre></div>
2180 <p>
2181 Sort all of the directives, unit and class members
2182 of the given Dart file.
2183 </p>
2184 <p>
2185 If a request is made for a file that does not exist, does not belong
2186 to an analysis root or is not a Dart file,
2187 <tt>SORT_MEMBERS_INVALID_FILE</tt> will be generated.
2188 </p>
2189 <p>
2190 If the Dart file has scan or parse errors,
2191 <tt>SORT_MEMBERS_PARSE_ERRORS</tt> will be generated.
2192 </p>
2193
2194
2195 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
2196
2172 <p> 2197 <p>
2173 Sort all of the directives, unit and class members 2198 The Dart file to sort.
2174 of the given Dart file.
2175 </p> 2199 </p>
2200 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>edit: <a href="#type_S ourceFileEdit">SourceFileEdit</a></b></dt><dd>
2201
2176 <p> 2202 <p>
2177 If a request is made for a file that does not exist, does not belong 2203 The file edit that is to be applied to the given file to effect
2178 to an analysis root or is not a Dart file, 2204 the sorting.
2179 <tt>SORT_MEMBERS_INVALID_FILE</tt> will be generated.
2180 </p> 2205 </p>
2181 <p> 2206 </dd></dl></dd><dt class="request"><a name="request_edit.organizeDirective s">edit.organizeDirectives</a></dt><dd><div class="box"><pre>request: {
2182 If the Dart file has scan or parse errors,
2183 <tt>SORT_MEMBERS_PARSE_ERRORS</tt> will be generated.
2184 </p>
2185
2186
2187 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd>
2188
2189 <p>
2190 The Dart file to sort.
2191 </p>
2192 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>edit: <a href="#ty pe_SourceFileEdit">SourceFileEdit</a></b></dt><dd>
2193
2194 <p>
2195 The file edit that is to be applied to the given file to effect
2196 the sorting.
2197 </p>
2198 </dd></dl></dd><dt class="request"><a name="request_edit.organizeDirec tives">edit.organizeDirectives</a></dt><dd><div class="box"><pre>request: {
2199 "id": String 2207 "id": String
2200 "method": "edit.organizeDirectives" 2208 "method": "edit.organizeDirectives"
2201 "params": { 2209 "params": {
2202 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 2210 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
2203 } 2211 }
2204 }</pre><br><pre>response: { 2212 }</pre><br><pre>response: {
2205 "id": String 2213 "id": String
2206 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2214 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2207 "result": { 2215 "result": {
2208 "<b>edit</b>": <a href="#type_SourceFileEdit">SourceFileEdit</a> 2216 "<b>edit</b>": <a href="#type_SourceFileEdit">SourceFileEdit</a>
2209 } 2217 }
2210 }</pre></div> 2218 }</pre></div>
2219 <p>
2220 Organizes all of the directives - removes unused imports and sorts
2221 directives of the given Dart file according to the
2222 <a href="https://www.dartlang.org/articles/style-guide/">Dart Style
2223 Guide</a>.
2224 </p>
2225 <p>
2226 If a request is made for a file that does not exist, does not belong
2227 to an analysis root or is not a Dart file,
2228 <tt>FILE_NOT_ANALYZED</tt> will be generated.
2229 </p>
2230 <p>
2231 If directives of the Dart file cannot be organized, for example
2232 because it has scan or parse errors, or by other reasons,
2233 <tt>ORGANIZE_DIRECTIVES_ERROR</tt> will be generated. The message
2234 will provide details about the reason.
2235 </p>
2236
2237
2238 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
2239
2211 <p> 2240 <p>
2212 Organizes all of the directives - removes unused imports and sorts 2241 The Dart file to organize directives in.
2213 directives of the given Dart file according to the
2214 <a href="https://www.dartlang.org/articles/style-guide/">Dart Style Gu ide</a>.
2215 </p> 2242 </p>
2243 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>edit: <a href="#type_S ourceFileEdit">SourceFileEdit</a></b></dt><dd>
2244
2216 <p> 2245 <p>
2217 If a request is made for a file that does not exist, does not belong 2246 The file edit that is to be applied to the given file to effect
2218 to an analysis root or is not a Dart file, 2247 the organizing.
2219 <tt>FILE_NOT_ANALYZED</tt> will be generated.
2220 </p> 2248 </p>
2221 <p> 2249 </dd></dl></dd></dl>
2222 If directives of the Dart file cannot be organized, for example 2250 <h2 class="domain"><a name="domain_execution">execution domain</a></h2>
2223 because it has scan or parse errors, or by other reasons, 2251 <p>
2224 <tt>ORGANIZE_DIRECTIVES_ERROR</tt> will be generated. The message 2252 The execution domain contains commands related to providing an execution
2225 will provide details about the reason. 2253 or debugging experience.
2226 </p> 2254 </p>
2227 2255
2228 2256
2229 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 2257
2230 2258
2231 <p> 2259
2232 The Dart file to organize directives in. 2260 <h3>Requests</h3><dl><dt class="request"><a name="request_execution.createContex t">execution.createContext</a></dt><dd><div class="box"><pre>request: {
2233 </p>
2234 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>edit: <a href="#ty pe_SourceFileEdit">SourceFileEdit</a></b></dt><dd>
2235
2236 <p>
2237 The file edit that is to be applied to the given file to effect
2238 the organizing.
2239 </p>
2240 </dd></dl></dd></dl>
2241 <h2 class="domain"><a name="domain_execution">execution domain</a></h2>
2242 <p>
2243 The execution domain contains commands related to providing an execution
2244 or debugging experience.
2245 </p>
2246
2247
2248
2249
2250
2251 <h3>Requests</h3><dl><dt class="request"><a name="request_execution.createCo ntext">execution.createContext</a></dt><dd><div class="box"><pre>request: {
2252 "id": String 2261 "id": String
2253 "method": "execution.createContext" 2262 "method": "execution.createContext"
2254 "params": { 2263 "params": {
2255 "<b>contextRoot</b>": <a href="#type_FilePath">FilePath</a> 2264 "<b>contextRoot</b>": <a href="#type_FilePath">FilePath</a>
2256 } 2265 }
2257 }</pre><br><pre>response: { 2266 }</pre><br><pre>response: {
2258 "<b>id</b>": String 2267 "<b>id</b>": String
2259 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2268 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2260 "result": { 2269 "result": {
2261 "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a> 2270 "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a>
2262 } 2271 }
2263 }</pre></div> 2272 }</pre></div>
2273 <p>
2274 Create an execution context for the executable file with the given
2275 path. The context that is created will persist until
2276 execution.deleteContext is used to delete it. Clients, therefore, are
2277 responsible for managing the lifetime of execution contexts.
2278 </p>
2279
2280
2281 <h4>parameters:</h4><dl><dt class="field"><b>contextRoot: <a href="#type_FileP ath">FilePath</a></b></dt><dd>
2282
2264 <p> 2283 <p>
2265 Create an execution context for the executable file with the given 2284 The path of the Dart or HTML file that will be launched, or the
2266 path. The context that is created will persist until 2285 path of the directory containing the file.
2267 execution.deleteContext is used to delete it. Clients, therefore, are
2268 responsible for managing the lifetime of execution contexts.
2269 </p> 2286 </p>
2287 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type_Exe cutionContextId">ExecutionContextId</a></b></dt><dd>
2270 2288
2271 2289 <p>
2272 <h4>parameters:</h4><dl><dt class="field"><b>contextRoot: <a href="#type_F ilePath">FilePath</a></b></dt><dd> 2290 The identifier used to refer to the execution context that was
2273 2291 created.
2274 <p> 2292 </p>
2275 The path of the Dart or HTML file that will be launched, or the 2293 </dd></dl></dd><dt class="request"><a name="request_execution.deleteContex t">execution.deleteContext</a></dt><dd><div class="box"><pre>request: {
2276 path of the directory containing the file.
2277 </p>
2278 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>id: <a href="#type _ExecutionContextId">ExecutionContextId</a></b></dt><dd>
2279
2280 <p>
2281 The identifier used to refer to the execution context that was
2282 created.
2283 </p>
2284 </dd></dl></dd><dt class="request"><a name="request_execution.deleteCo ntext">execution.deleteContext</a></dt><dd><div class="box"><pre>request: {
2285 "<b>id</b>": String 2294 "<b>id</b>": String
2286 "method": "execution.deleteContext" 2295 "method": "execution.deleteContext"
2287 "params": { 2296 "params": {
2288 "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a> 2297 "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a>
2289 } 2298 }
2290 }</pre><br><pre>response: { 2299 }</pre><br><pre>response: {
2291 "id": String 2300 "id": String
2292 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2301 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2293 }</pre></div> 2302 }</pre></div>
2303 <p>
2304 Delete the execution context with the given identifier. The context id
2305 is no longer valid after this command. The server is allowed to re-use
2306 ids when they are no longer valid.
2307 </p>
2308
2309 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_ExecutionConte xtId">ExecutionContextId</a></b></dt><dd>
2310
2294 <p> 2311 <p>
2295 Delete the execution context with the given identifier. The context id 2312 The identifier of the execution context that is to be deleted.
2296 is no longer valid after this command. The server is allowed to re-use
2297 ids when they are no longer valid.
2298 </p> 2313 </p>
2299 2314 </dd></dl></dd><dt class="request"><a name="request_execution.mapUri">exec ution.mapUri</a></dt><dd><div class="box"><pre>request: {
2300 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_ExecutionC ontextId">ExecutionContextId</a></b></dt><dd>
2301
2302 <p>
2303 The identifier of the execution context that is to be deleted.
2304 </p>
2305 </dd></dl></dd><dt class="request"><a name="request_execution.mapUri"> execution.mapUri</a></dt><dd><div class="box"><pre>request: {
2306 "<b>id</b>": String 2315 "<b>id</b>": String
2307 "method": "execution.mapUri" 2316 "method": "execution.mapUri"
2308 "params": { 2317 "params": {
2309 "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a> 2318 "<b>id</b>": <a href="#type_ExecutionContextId">ExecutionContextId</a>
2310 "<b>file</b>": <span style="color:#999999">optional</span> <a href="#type_Fi lePath">FilePath</a> 2319 "<b>file</b>": <span style="color:#999999">optional</span> <a href="#type_Fi lePath">FilePath</a>
2311 "<b>uri</b>": <span style="color:#999999">optional</span> String 2320 "<b>uri</b>": <span style="color:#999999">optional</span> String
2312 } 2321 }
2313 }</pre><br><pre>response: { 2322 }</pre><br><pre>response: {
2314 "id": String 2323 "id": String
2315 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2324 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2316 "result": { 2325 "result": {
2317 "<b>file</b>": <span style="color:#999999">optional</span> <a href="#type_Fi lePath">FilePath</a> 2326 "<b>file</b>": <span style="color:#999999">optional</span> <a href="#type_Fi lePath">FilePath</a>
2318 "<b>uri</b>": <span style="color:#999999">optional</span> String 2327 "<b>uri</b>": <span style="color:#999999">optional</span> String
2319 } 2328 }
2320 }</pre></div> 2329 }</pre></div>
2330 <p>
2331 Map a URI from the execution context to the file that it corresponds
2332 to, or map a file to the URI that it corresponds to in the execution
2333 context.
2334 </p>
2335 <p>
2336 Exactly one of the file and uri fields must be provided. If both
2337 fields are provided, then an error of type <tt>INVALID_PARAMETER</tt>
2338 will be generated. Similarly, if neither field is provided, then an
2339 error of type <tt>INVALID_PARAMETER</tt> will be generated.
2340 </p>
2341 <p>
2342 If the file field is provided and the value is not the path of a file
2343 (either the file does not exist or the path references something other
2344 than a file), then an error of type <tt>INVALID_PARAMETER</tt> will
2345 be generated.
2346 </p>
2347 <p>
2348 If the uri field is provided and the value is not a valid URI or if
2349 the URI references something that is not a file (either a file that
2350 does not exist or something other than a file), then an error of type
2351 <tt>INVALID_PARAMETER</tt> will be generated.
2352 </p>
2353 <p>
2354 If the contextRoot used to create the execution context does not
2355 exist, then an error of type <tt>INVALID_EXECUTION_CONTEXT</tt> will
2356 be generated.
2357 </p>
2358
2359
2360 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_ExecutionConte xtId">ExecutionContextId</a></b></dt><dd>
2361
2321 <p> 2362 <p>
2322 Map a URI from the execution context to the file that it corresponds 2363 The identifier of the execution context in which the URI is to be
2323 to, or map a file to the URI that it corresponds to in the execution 2364 mapped.
2324 context.
2325 </p> 2365 </p>
2366 </dd><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a><span style="color:#999999"> (optional)</span></b></dt><dd>
2367
2326 <p> 2368 <p>
2327 Exactly one of the file and uri fields must be provided. If both 2369 The path of the file to be mapped into a URI.
2328 fields are provided, then an error of type <tt>INVALID_PARAMETER</tt>
2329 will be generated. Similarly, if neither field is provided, then an
2330 error of type <tt>INVALID_PARAMETER</tt> will be generated.
2331 </p> 2370 </p>
2371 </dd><dt class="field"><b>uri: String<span style="color:#999999"> (optiona l)</span></b></dt><dd>
2372
2332 <p> 2373 <p>
2333 If the file field is provided and the value is not the path of a file 2374 The URI to be mapped into a file path.
2334 (either the file does not exist or the path references something other
2335 than a file), then an error of type <tt>INVALID_PARAMETER</tt> will
2336 be generated.
2337 </p> 2375 </p>
2376 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>file: <a href="#type_F ilePath">FilePath</a><span style="color:#999999"> (optional)</span></b></dt><dd>
2377
2338 <p> 2378 <p>
2339 If the uri field is provided and the value is not a valid URI or if 2379 The file to which the URI was mapped. This field is omitted if the
2340 the URI references something that is not a file (either a file that 2380 uri field was not given in the request.
2341 does not exist or something other than a file), then an error of type
2342 <tt>INVALID_PARAMETER</tt> will be generated.
2343 </p> 2381 </p>
2382 </dd><dt class="field"><b>uri: String<span style="color:#999999"> (optiona l)</span></b></dt><dd>
2383
2344 <p> 2384 <p>
2345 If the contextRoot used to create the execution context does not 2385 The URI to which the file path was mapped. This field is omitted
2346 exist, then an error of type <tt>INVALID_EXECUTION_CONTEXT</tt> will 2386 if the file field was not given in the request.
2347 be generated.
2348 </p> 2387 </p>
2349 2388 </dd></dl></dd><dt class="request deprecated"><a name="request_execution.s etSubscriptions">execution.setSubscriptions</a></dt><dd><div class="box"><pre>re quest: {
2350
2351 <h4>parameters:</h4><dl><dt class="field"><b>id: <a href="#type_ExecutionC ontextId">ExecutionContextId</a></b></dt><dd>
2352
2353 <p>
2354 The identifier of the execution context in which the URI is to be
2355 mapped.
2356 </p>
2357 </dd><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a>< span style="color:#999999"> (optional)</span></b></dt><dd>
2358
2359 <p>
2360 The path of the file to be mapped into a URI.
2361 </p>
2362 </dd><dt class="field"><b>uri: String<span style="color:#999999"> (opt ional)</span></b></dt><dd>
2363
2364 <p>
2365 The URI to be mapped into a file path.
2366 </p>
2367 </dd></dl><h4>returns:</h4><dl><dt class="field"><b>file: <a href="#ty pe_FilePath">FilePath</a><span style="color:#999999"> (optional)</span></b></dt> <dd>
2368
2369 <p>
2370 The file to which the URI was mapped. This field is omitted if the
2371 uri field was not given in the request.
2372 </p>
2373 </dd><dt class="field"><b>uri: String<span style="color:#999999"> (opt ional)</span></b></dt><dd>
2374
2375 <p>
2376 The URI to which the file path was mapped. This field is omitted
2377 if the file field was not given in the request.
2378 </p>
2379 </dd></dl></dd><dt class="request deprecated"><a name="request_executi on.setSubscriptions">execution.setSubscriptions</a></dt><dd><div class="box"><pr e>request: {
2380 "id": String 2389 "id": String
2381 "method": "execution.setSubscriptions" 2390 "method": "execution.setSubscriptions"
2382 "params": { 2391 "params": {
2383 "<b>subscriptions</b>": List&lt;<a href="#type_ExecutionService">ExecutionSe rvice</a>&gt; 2392 "<b>subscriptions</b>": List&lt;<a href="#type_ExecutionService">ExecutionSe rvice</a>&gt;
2384 } 2393 }
2385 }</pre><br><pre>response: { 2394 }</pre><br><pre>response: {
2386 "id": String 2395 "id": String
2387 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2396 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2388 }</pre></div> 2397 }</pre></div>
2398 <p>
2399 <b>Deprecated:</b> the analysis server no longer fires
2400 <tt>LAUNCH_DATA</tt> events.
2401 </p>
2402 <p>
2403 Subscribe for services. All previous subscriptions are replaced by the
2404 given set of services.
2405 </p>
2406 <p>
2407 It is an error if any of the elements in the list are not valid
2408 services. If there is an error, then the current subscriptions will
2409 remain unchanged.
2410 </p>
2411
2412 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: List&lt;<a href="# type_ExecutionService">ExecutionService</a>&gt;</b></dt><dd>
2413
2389 <p> 2414 <p>
2390 <b>Deprecated:</b> the analysis server no longer fires 2415 A list of the services being subscribed to.
2391 <tt>LAUNCH_DATA</tt> events.
2392 </p> 2416 </p>
2393 <p> 2417 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_execution.launchData">execution.launchData</a></dt><dd><div c lass="box"><pre>notification: {
2394 Subscribe for services. All previous subscriptions are replaced by the
2395 given set of services.
2396 </p>
2397 <p>
2398 It is an error if any of the elements in the list are not valid
2399 services. If there is an error, then the current subscriptions will
2400 remain unchanged.
2401 </p>
2402
2403 <h4>parameters:</h4><dl><dt class="field"><b>subscriptions: List&lt;<a hre f="#type_ExecutionService">ExecutionService</a>&gt;</b></dt><dd>
2404
2405 <p>
2406 A list of the services being subscribed to.
2407 </p>
2408 </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification" ><a name="notification_execution.launchData">execution.launchData</a></dt><dd><d iv class="box"><pre>notification: {
2409 "event": "execution.launchData" 2418 "event": "execution.launchData"
2410 "params": { 2419 "params": {
2411 "<b>file</b>": <a href="#type_FilePath">FilePath</a> 2420 "<b>file</b>": <a href="#type_FilePath">FilePath</a>
2412 "<b>kind</b>": <span style="color:#999999">optional</span> <a href="#type_Ex ecutableKind">ExecutableKind</a> 2421 "<b>kind</b>": <span style="color:#999999">optional</span> <a href="#type_Ex ecutableKind">ExecutableKind</a>
2413 "<b>referencedFiles</b>": <span style="color:#999999">optional</span> List&l t;<a href="#type_FilePath">FilePath</a>&gt; 2422 "<b>referencedFiles</b>": <span style="color:#999999">optional</span> List&l t;<a href="#type_FilePath">FilePath</a>&gt;
2414 } 2423 }
2415 }</pre></div> 2424 }</pre></div>
2425 <p>
2426 Reports information needed to allow a single file to be launched.
2427 </p>
2428 <p>
2429 This notification is not subscribed to by default. Clients can
2430 subscribe by including the value "LAUNCH_DATA" in the list of services
2431 passed in an <tt>execution.setSubscriptions</tt> request.
2432 </p>
2433
2434 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath">Fi lePath</a></b></dt><dd>
2435
2416 <p> 2436 <p>
2417 Reports information needed to allow a single file to be launched. 2437 The file for which launch data is being provided. This will either
2438 be a Dart library or an HTML file.
2418 </p> 2439 </p>
2440 </dd><dt class="field"><b>kind: <a href="#type_ExecutableKind">ExecutableK ind</a><span style="color:#999999"> (optional)</span></b></dt><dd>
2441
2419 <p> 2442 <p>
2420 This notification is not subscribed to by default. Clients can 2443 The kind of the executable file. This field is omitted if the file
2421 subscribe by including the value "LAUNCH_DATA" in the list of services 2444 is not a Dart file.
2422 passed in an <tt>execution.setSubscriptions</tt> request.
2423 </p> 2445 </p>
2446 </dd><dt class="field"><b>referencedFiles: List&lt;<a href="#type_FilePath ">FilePath</a>&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
2424 2447
2425 <h4>parameters:</h4><dl><dt class="field"><b>file: <a href="#type_FilePath ">FilePath</a></b></dt><dd> 2448 <p>
2426 2449 A list of the Dart files that are referenced by the file. This
2427 <p> 2450 field is omitted if the file is not an HTML file.
2428 The file for which launch data is being provided. This will either 2451 </p>
2429 be a Dart library or an HTML file. 2452 </dd></dl></dd></dl>
2430 </p> 2453 <h2 class="domain"><a name="domain_diagnostic">diagnostic domain</a></h2>
2431 </dd><dt class="field"><b>kind: <a href="#type_ExecutableKind">Executa bleKind</a><span style="color:#999999"> (optional)</span></b></dt><dd> 2454 <p>
2432 2455 The diagnostic domain contains server diagnostics APIs.
2433 <p> 2456 </p>
2434 The kind of the executable file. This field is omitted if the file 2457
2435 is not a Dart file. 2458
2436 </p> 2459 <h3>Requests</h3><dl><dt class="request"><a name="request_diagnostic.getDiagnost ics">diagnostic.getDiagnostics</a></dt><dd><div class="box"><pre>request: {
2437 </dd><dt class="field"><b>referencedFiles: List&lt;<a href="#type_File Path">FilePath</a>&gt;<span style="color:#999999"> (optional)</span></b></dt><dd >
2438
2439 <p>
2440 A list of the Dart files that are referenced by the file. This
2441 field is omitted if the file is not an HTML file.
2442 </p>
2443 </dd></dl></dd></dl>
2444 <h2 class="domain"><a name="domain_diagnostic">diagnostic domain</a></h2>
2445 <p>
2446 The diagnostic domain contains server diagnostics APIs.
2447 </p>
2448
2449
2450 <h3>Requests</h3><dl><dt class="request"><a name="request_diagnostic.getDiag nostics">diagnostic.getDiagnostics</a></dt><dd><div class="box"><pre>request: {
2451 "id": String 2460 "id": String
2452 "method": "diagnostic.getDiagnostics" 2461 "method": "diagnostic.getDiagnostics"
2453 }</pre><br><pre>response: { 2462 }</pre><br><pre>response: {
2454 "id": String 2463 "id": String
2455 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2464 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2456 "result": { 2465 "result": {
2457 "<b>contexts</b>": List&lt;<a href="#type_ContextData">ContextData</a>&gt; 2466 "<b>contexts</b>": List&lt;<a href="#type_ContextData">ContextData</a>&gt;
2458 } 2467 }
2459 }</pre></div> 2468 }</pre></div>
2460 <p>Return server diagnostics.</p> 2469 <p>Return server diagnostics.</p>
2470
2471 <h4>returns:</h4><dl><dt class="field"><b>contexts: List&lt;<a href="#type_Con textData">ContextData</a>&gt;</b></dt><dd>
2461 2472
2462 <h4>returns:</h4><dl><dt class="field"><b>contexts: List&lt;<a href="#type _ContextData">ContextData</a>&gt;</b></dt><dd> 2473 <p>The list of analysis contexts.</p>
2463 2474 </dd></dl></dd><dt class="request"><a name="request_diagnostic.getServerPo rt">diagnostic.getServerPort</a></dt><dd><div class="box"><pre>request: {
2464 <p>The list of analysis contexts.</p>
2465 </dd></dl></dd><dt class="request"><a name="request_diagnostic.getServ erPort">diagnostic.getServerPort</a></dt><dd><div class="box"><pre>request: {
2466 "id": String 2475 "id": String
2467 "method": "diagnostic.getServerPort" 2476 "method": "diagnostic.getServerPort"
2468 }</pre><br><pre>response: { 2477 }</pre><br><pre>response: {
2469 "id": String 2478 "id": String
2470 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a> 2479 "error": <span style="color:#999999">optional</span> <a href="#type_RequestErr or">RequestError</a>
2471 "result": { 2480 "result": {
2472 "<b>port</b>": int 2481 "<b>port</b>": int
2473 } 2482 }
2474 }</pre></div> 2483 }</pre></div>
2475 <p> 2484 <p>
2476 Return the port of the diagnostic web server. If the server is not run ning 2485 Return the port of the diagnostic web server. If the server is not running
2477 this call will start the server. If unable to start the diagnostic web server, 2486 this call will start the server. If unable to start the diagnostic web
2478 this call will return an error of <tt>DEBUG_PORT_COULD_NOT_BE_OPENED</ tt>. 2487 server,
2479 </p> 2488 this call will return an error of <tt>DEBUG_PORT_COULD_NOT_BE_OPENED</tt>.
2480 2489 </p>
2481 <h4>returns:</h4><dl><dt class="field"><b>port: int</b></dt><dd> 2490
2482 2491 <h4>returns:</h4><dl><dt class="field"><b>port: int</b></dt><dd>
2483 <p>The diagnostic server port.</p> 2492
2484 </dd></dl></dd></dl> 2493 <p>The diagnostic server port.</p>
2485 2494 </dd></dl></dd></dl>
2486 <h2 class="domain"><a name="types">Types</a></h2> 2495
2487 <p> 2496 <h2 class="domain"><a name="types">Types</a></h2>
2488 This section contains descriptions of the data types referenced 2497 <p>
2489 in the API’s of the various domains. 2498 This section contains descriptions of the data types referenced
2490 </p> 2499 in the API’s of the various domains.
2491 2500 </p>
2492 2501
2493 2502
2494 2503
2495 2504
2496 2505
2497 2506
2498 2507
2499 2508
2500 2509
2501 2510
2502 2511
2503 2512
2504 2513
2505 2514
2506 2515
2507 2516
2508 2517
2509 2518
2510 2519
2511 2520
2512 2521
2513 2522
2514 2523
2515 2524
2516 2525
2517 2526
2518 2527
2519 2528
2520 2529 <dl><dt class="typeDefinition"><a name="type_AddContentOverlay">AddContentOverla y: object</a></dt><dd>
2521 2530 <p>
2522 2531 A directive to begin overlaying the contents of a file. The supplied
2523 2532 content will be used for analysis in place of the file contents in the
2524 2533 filesystem.
2525 2534 </p>
2526 2535 <p>
2527 2536 If this directive is used on a file that already has a file content
2528 2537 overlay, the old overlay is discarded and replaced with the new one.
2529 2538 </p>
2530 2539
2531 2540 <dl><dt class="field"><b>type = "add"</b></dt><dd>
2532 2541
2533 2542 </dd><dt class="field"><b>content: String</b></dt><dd>
2534 2543
2535 2544 <p>
2536 2545 The new content of the file.
2537 2546 </p>
2538 2547 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisError">Ana lysisError: object</a></dt><dd>
2539 2548 <p>
2540 2549 An indication of an error, warning, or hint that was produced by the
2541 2550 analysis.
2542 2551 </p>
2543 2552
2544 2553 <dl><dt class="field"><b>severity: <a href="#type_AnalysisErrorSeverity">Analy sisErrorSeverity</a></b></dt><dd>
2545 2554
2546 2555 <p>
2547 2556 The severity of the error.
2548 2557 </p>
2549 2558 </dd><dt class="field"><b>type: <a href="#type_AnalysisErrorType">Analysis ErrorType</a></b></dt><dd>
2550 <dl><dt class="typeDefinition"><a name="type_AddContentOverlay">AddContentOv erlay: object</a></dt><dd> 2559
2551 <p> 2560 <p>
2552 A directive to begin overlaying the contents of a file. The 2561 The type of the error.
2553 supplied content will be used for analysis in place of the 2562 </p>
2554 file contents in the filesystem. 2563 </dd><dt class="field"><b>location: <a href="#type_Location">Location</a>< /b></dt><dd>
2555 </p> 2564
2556 <p> 2565 <p>
2557 If this directive is used on a file that already has a file 2566 The location associated with the error.
2558 content overlay, the old overlay is discarded and replaced 2567 </p>
2559 with the new one. 2568 </dd><dt class="field"><b>message: String</b></dt><dd>
2560 </p> 2569
2561 2570 <p>
2562 <dl><dt class="field"><b>type = "add"</b></dt><dd></dd><dt class="field">< b>content: String</b></dt><dd> 2571 The message to be displayed for this error. The message should
2563 2572 indicate what is wrong with the code and why it is wrong.
2564 <p> 2573 </p>
2565 The new content of the file. 2574 </dd><dt class="field"><b>correction: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
2566 </p> 2575
2567 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisError" >AnalysisError: object</a></dt><dd> 2576 <p>
2568 <p> 2577 The correction message to be displayed for this error. The correction
2569 An indication of an error, warning, or hint that was produced 2578 message should indicate how the user can fix the error. The field is
2570 by the analysis. 2579 omitted if there is no correction message associated with the error
2571 </p> 2580 code.
2572 2581 </p>
2573 <dl><dt class="field"><b>severity: <a href="#type_AnalysisErrorSeverity">A nalysisErrorSeverity</a></b></dt><dd> 2582 </dd><dt class="field"><b>code: String</b></dt><dd>
2574 2583
2575 <p> 2584 <p>
2576 The severity of the error. 2585 The name, as a string, of the error code associated with this error.
2577 </p> 2586 </p>
2578 </dd><dt class="field"><b>type: <a href="#type_AnalysisErrorType">Anal ysisErrorType</a></b></dt><dd> 2587 </dd><dt class="field"><b>hasFix: bool<span style="color:#999999"> (option al)</span></b></dt><dd>
2579 2588
2580 <p> 2589 <p>
2581 The type of the error. 2590 A hint to indicate to interested clients that this error has an
2582 </p> 2591 associated fix (or fixes). The absence of this field implies there
2583 </dd><dt class="field"><b>location: <a href="#type_Location">Location< /a></b></dt><dd> 2592 are not known to be fixes. Note that since the operation to calculate
2584 2593 whether fixes apply needs to be performant it is possible that
2585 <p> 2594 complicated tests will be skipped and a false negative returned. For
2586 The location associated with the error. 2595 this reason, this attribute should be treated as a "hint". Despite the
2587 </p> 2596 possibility of false negatives, no false positives should be returned.
2588 </dd><dt class="field"><b>message: String</b></dt><dd> 2597 If a client sees this flag set they can proceed with the confidence
2589 2598 that there are in fact associated fixes.
2590 <p> 2599 </p>
2591 The message to be displayed for this error. The message 2600 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorFixes ">AnalysisErrorFixes: object</a></dt><dd>
2592 should indicate what is wrong with the code and why it is 2601 <p>
2593 wrong. 2602 A list of fixes associated with a specific error.
2594 </p> 2603 </p>
2595 </dd><dt class="field"><b>correction: String<span style="color:#999999 "> (optional)</span></b></dt><dd> 2604
2596 2605 <dl><dt class="field"><b>error: <a href="#type_AnalysisError">AnalysisError</a ></b></dt><dd>
2597 <p> 2606
2598 The correction message to be displayed for this error. The 2607 <p>
2599 correction message should indicate how the user can fix 2608 The error with which the fixes are associated.
2600 the error. The field is omitted if there is no correction 2609 </p>
2601 message associated with the error code. 2610 </dd><dt class="field"><b>fixes: List&lt;<a href="#type_SourceChange">Sour ceChange</a>&gt;</b></dt><dd>
2602 </p> 2611
2603 </dd><dt class="field"><b>code: String</b></dt><dd> 2612 <p>
2604 2613 The fixes associated with the error.
2605 <p> 2614 </p>
2606 The name, as a string, of the error code associated with this erro r. 2615 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorSever ity">AnalysisErrorSeverity: String</a></dt><dd>
2607 </p> 2616 <p>
2608 </dd><dt class="field"><b>hasFix: bool<span style="color:#999999"> (op tional)</span></b></dt><dd> 2617 An enumeration of the possible severities of analysis errors.
2609 2618 </p>
2610 <p> 2619
2611 A hint to indicate to interested clients that this error has 2620 <dl><dt class="value">INFO</dt><dt class="value">WARNING</dt><dt class="value" >ERROR</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorType" >AnalysisErrorType: String</a></dt><dd>
2612 an associated fix (or fixes). The absence of this field implies 2621 <p>
2613 there are not known to be fixes. Note that since the operation 2622 An enumeration of the possible types of analysis errors.
2614 to calculate whether fixes apply needs to be performant it is 2623 </p>
2615 possible that complicated tests will be skipped and a false 2624
2616 negative returned. For this reason, this attribute should be 2625 <dl><dt class="value">CHECKED_MODE_COMPILE_TIME_ERROR</dt><dt class="value">CO MPILE_TIME_ERROR</dt><dt class="value">HINT</dt><dt class="value">LINT</dt><dt c lass="value">STATIC_TYPE_WARNING</dt><dt class="value">STATIC_WARNING</dt><dt cl ass="value">SYNTACTIC_ERROR</dt><dt class="value">TODO</dt></dl></dd><dt class=" typeDefinition deprecated"><a name="type_AnalysisOptions">AnalysisOptions: objec t</a></dt><dd>
2617 treated as a "hint". Despite the possibility of false negatives, 2626 <p><b>Deprecated:</b> the only reference to this type has been
2618 no false positives should be returned. If a client sees this 2627 deprecated.</p>
2619 flag set they can proceed with the confidence that there are in 2628 <p>
2620 fact associated fixes. 2629 A set of options controlling what kind of analysis is to be
2621 </p> 2630 performed. If the value of a field is omitted the value of the
2622 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorF ixes">AnalysisErrorFixes: object</a></dt><dd> 2631 option will not be changed.
2623 <p> 2632 </p>
2624 A list of fixes associated with a specific error. 2633
2625 </p> 2634 <dl><dt class="field"><b><span class="deprecated">enableAsync</span>: bool<spa n style="color:#999999"> (optional)</span></b></dt><dd>
2626 2635
2627 <dl><dt class="field"><b>error: <a href="#type_AnalysisError">AnalysisErro r</a></b></dt><dd> 2636 <p><b>Deprecated:</b> this feature is always enabled.</p>
2628 2637 <p>
2629 <p> 2638 True if the client wants to enable support for the
2630 The error with which the fixes are associated. 2639 proposed async feature.
2631 </p> 2640 </p>
2632 </dd><dt class="field"><b>fixes: List&lt;<a href="#type_SourceChange"> SourceChange</a>&gt;</b></dt><dd> 2641 </dd><dt class="field"><b><span class="deprecated">enableDeferredLoading</ span>: bool<span style="color:#999999"> (optional)</span></b></dt><dd>
2633 2642
2634 <p> 2643 <p><b>Deprecated:</b> this feature is always enabled.</p>
2635 The fixes associated with the error. 2644 <p>
2636 </p> 2645 True if the client wants to enable support for the
2637 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorS everity">AnalysisErrorSeverity: String</a></dt><dd> 2646 proposed deferred loading feature.
2638 <p> 2647 </p>
2639 An enumeration of the possible severities of analysis 2648 </dd><dt class="field"><b><span class="deprecated">enableEnums</span>: boo l<span style="color:#999999"> (optional)</span></b></dt><dd>
2649
2650 <p><b>Deprecated:</b> this feature is always enabled.</p>
2651 <p>
2652 True if the client wants to enable support for the
2653 proposed enum feature.
2654 </p>
2655 </dd><dt class="field"><b><span class="deprecated">enableNullAwareOperator s</span>: bool<span style="color:#999999"> (optional)</span></b></dt><dd>
2656
2657 <p><b>Deprecated:</b> this feature is always enabled.</p>
2658 <p>
2659 True if the client wants to enable support for the
2660 proposed "null aware operators" feature.
2661 </p>
2662 </dd><dt class="field"><b>enableSuperMixins: bool<span style="color:#99999 9"> (optional)</span></b></dt><dd>
2663
2664 <p>
2665 True if the client wants to enable support for the
2666 proposed "less restricted mixins" proposal (DEP 34).
2667 </p>
2668 </dd><dt class="field"><b>generateDart2jsHints: bool<span style="color:#99 9999"> (optional)</span></b></dt><dd>
2669
2670 <p>
2671 True if hints that are specific to dart2js should be
2672 generated. This option is ignored if generateHints is false.
2673 </p>
2674 </dd><dt class="field"><b>generateHints: bool<span style="color:#999999"> (optional)</span></b></dt><dd>
2675
2676 <p>
2677 True if hints should be generated as part of generating
2678 errors and warnings.
2679 </p>
2680 </dd><dt class="field"><b>generateLints: bool<span style="color:#999999"> (optional)</span></b></dt><dd>
2681
2682 <p>
2683 True if lints should be generated as part of generating
2684 errors and warnings.
2685 </p>
2686 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisService">A nalysisService: String</a></dt><dd>
2687 <p>
2688 An enumeration of the services provided by the analysis domain that
2689 are related to a specific list of files.
2690 </p>
2691
2692 <dl><dt class="value">FOLDING</dt><dt class="value">HIGHLIGHTS</dt><dt class=" value">IMPLEMENTED</dt><dt class="value">INVALIDATE</dt><dd>
2693
2694 <p>
2695 This service is not currently implemented and will become a
2696 GeneralAnalysisService in a future release.
2697 </p>
2698 </dd><dt class="value">NAVIGATION</dt><dt class="value">OCCURRENCES</dt><d t class="value">OUTLINE</dt><dt class="value">OVERRIDES</dt></dl></dd><dt class= "typeDefinition"><a name="type_AnalysisStatus">AnalysisStatus: object</a></dt><d d>
2699 <p>
2700 An indication of the current state of analysis.
2701 </p>
2702
2703 <dl><dt class="field"><b>isAnalyzing: bool</b></dt><dd>
2704
2705 <p>True if analysis is currently being performed.</p>
2706 </dd><dt class="field"><b>analysisTarget: String<span style="color:#999999 "> (optional)</span></b></dt><dd>
2707
2708 <p>
2709 The name of the current target of analysis. This field is
2710 omitted if analyzing is false.
2711 </p>
2712 </dd></dl></dd><dt class="typeDefinition"><a name="type_ChangeContentOverl ay">ChangeContentOverlay: object</a></dt><dd>
2713 <p>
2714 A directive to modify an existing file content overlay. One or more ranges
2715 of text are deleted from the old file content overlay and replaced with
2716 new text.
2717 </p>
2718 <p>
2719 The edits are applied in the order in which they occur in the list. This
2720 means that the offset of each edit must be correct under the assumption
2721 that all previous edits have been applied.
2722 </p>
2723 <p>
2724 It is an error to use this overlay on a file that does not yet have a file
2725 content overlay or that has had its overlay removed via
2726 <a href="#type_RemoveContentOverlay">RemoveContentOverlay</a>.
2727 </p>
2728 <p>
2729 If any of the edits cannot be applied due to its offset or length being
2730 out of range, an <tt>INVALID_OVERLAY_CHANGE</tt> error will be reported.
2731 </p>
2732
2733 <dl><dt class="field"><b>type = "change"</b></dt><dd>
2734
2735 </dd><dt class="field"><b>edits: List&lt;<a href="#type_SourceEdit">Source Edit</a>&gt;</b></dt><dd>
2736
2737 <p>
2738 The edits to be applied to the file.
2739 </p>
2740 </dd></dl></dd><dt class="typeDefinition"><a name="type_CompletionId">Comp letionId: String</a></dt><dd>
2741
2742 <p>
2743 An identifier used to associate completion results with a
2744 completion request.
2745 </p>
2746 </dd><dt class="typeDefinition"><a name="type_CompletionSuggestion">Completion Suggestion: object</a></dt><dd>
2747 <p>
2748 A suggestion for how to complete partially entered text. Many of the
2749 fields are optional, depending on the kind of element being suggested.
2750 </p>
2751
2752 <dl><dt class="field"><b>kind: <a href="#type_CompletionSuggestionKind">Comple tionSuggestionKind</a></b></dt><dd>
2753
2754 <p>
2755 The kind of element being suggested.
2756 </p>
2757 </dd><dt class="field"><b>relevance: int</b></dt><dd>
2758
2759 <p>
2760 The relevance of this completion suggestion where a higher number
2761 indicates a higher relevance.
2762 </p>
2763 </dd><dt class="field"><b>completion: String</b></dt><dd>
2764
2765 <p>
2766 The identifier to be inserted if the suggestion is selected. If the
2767 suggestion is for a method or function, the client might want to
2768 additionally insert a template for the parameters. The information
2769 required in order to do so is contained in other fields.
2770 </p>
2771 </dd><dt class="field"><b>selectionOffset: int</b></dt><dd>
2772
2773 <p>
2774 The offset, relative to the beginning of the completion, of where the
2775 selection should be placed after insertion.
2776 </p>
2777 </dd><dt class="field"><b>selectionLength: int</b></dt><dd>
2778
2779 <p>
2780 The number of characters that should be selected after insertion.
2781 </p>
2782 </dd><dt class="field"><b>isDeprecated: bool</b></dt><dd>
2783
2784 <p>
2785 True if the suggested element is deprecated.
2786 </p>
2787 </dd><dt class="field"><b>isPotential: bool</b></dt><dd>
2788
2789 <p>
2790 True if the element is not known to be valid for the target. This
2791 happens if the type of the target is dynamic.
2792 </p>
2793 </dd><dt class="field"><b>docSummary: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
2794
2795 <p>
2796 An abbreviated version of the Dartdoc associated with the element
2797 being suggested, This field is omitted if there is no Dartdoc
2798 associated with the element.
2799 </p>
2800 </dd><dt class="field"><b>docComplete: String<span style="color:#999999"> (optional)</span></b></dt><dd>
2801
2802 <p>
2803 The Dartdoc associated with the element being suggested. This field is
2804 omitted if there is no Dartdoc associated with the element.
2805 </p>
2806 </dd><dt class="field"><b>declaringType: String<span style="color:#999999" > (optional)</span></b></dt><dd>
2807
2808 <p>
2809 The class that declares the element being suggested. This field is
2810 omitted if the suggested element is not a member of a class.
2811 </p>
2812 </dd><dt class="field"><b>defaultArgumentListString: String<span style="co lor:#999999"> (optional)</span></b></dt><dd>
2813
2814 <p>
2815 A default String for use in generating argument list source contents
2816 on the client side.
2817 </p>
2818 </dd><dt class="field"><b>defaultArgumentListTextRanges: List&lt;int&gt;<s pan style="color:#999999"> (optional)</span></b></dt><dd>
2819
2820 <p>
2821 Pairs of offsets and lengths describing 'defaultArgumentListString'
2822 text ranges suitable for use by clients to set up linked edits of
2823 default argument source contents. For example, given an argument list
2824 string 'x, y', the corresponding text range [0, 1, 3, 1], indicates
2825 two text ranges of length 1, starting at offsets 0 and 3. Clients can
2826 use these ranges to treat the 'x' and 'y' values specially for linked
2827 edits.
2828 </p>
2829 </dd><dt class="field"><b>element: <a href="#type_Element">Element</a><spa n style="color:#999999"> (optional)</span></b></dt><dd>
2830
2831 <p>
2832 Information about the element reference being suggested.
2833 </p>
2834 </dd><dt class="field"><b>returnType: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
2835
2836 <p>
2837 The return type of the getter, function or method or the type of the
2838 field being suggested. This field is omitted if the suggested element
2839 is not a getter, function or method.
2840 </p>
2841 </dd><dt class="field"><b>parameterNames: List&lt;String&gt;<span style="c olor:#999999"> (optional)</span></b></dt><dd>
2842
2843 <p>
2844 The names of the parameters of the function or method being suggested.
2845 This field is omitted if the suggested element is not a setter,
2846 function or method.
2847 </p>
2848 </dd><dt class="field"><b>parameterTypes: List&lt;String&gt;<span style="c olor:#999999"> (optional)</span></b></dt><dd>
2849
2850 <p>
2851 The types of the parameters of the function or method being suggested.
2852 This field is omitted if the parameterNames field is omitted.
2853 </p>
2854 </dd><dt class="field"><b>requiredParameterCount: int<span style="color:#9 99999"> (optional)</span></b></dt><dd>
2855
2856 <p>
2857 The number of required parameters for the function or method being
2858 suggested. This field is omitted if the parameterNames field is
2859 omitted.
2860 </p>
2861 </dd><dt class="field"><b>hasNamedParameters: bool<span style="color:#9999 99"> (optional)</span></b></dt><dd>
2862
2863 <p>
2864 True if the function or method being suggested has at least one named
2865 parameter. This field is omitted if the parameterNames field is
2866 omitted.
2867 </p>
2868 </dd><dt class="field"><b>parameterName: String<span style="color:#999999" > (optional)</span></b></dt><dd>
2869
2870 <p>
2871 The name of the optional parameter being suggested. This field is
2872 omitted if the suggestion is not the addition of an optional argument
2873 within an argument list.
2874 </p>
2875 </dd><dt class="field"><b>parameterType: String<span style="color:#999999" > (optional)</span></b></dt><dd>
2876
2877 <p>
2878 The type of the options parameter being suggested. This field is
2879 omitted if the parameterName field is omitted.
2880 </p>
2881 </dd><dt class="field"><b>importUri: String<span style="color:#999999"> (o ptional)</span></b></dt><dd>
2882
2883 <p>
2884 The import to be added if the suggestion is out of scope and needs
2885 an import to be added to be in scope.
2886 </p>
2887 </dd></dl></dd><dt class="typeDefinition"><a name="type_CompletionSuggesti onKind">CompletionSuggestionKind: String</a></dt><dd>
2888 <p>
2889 An enumeration of the kinds of elements that can be included in a
2890 completion suggestion.
2891 </p>
2892
2893 <dl><dt class="value">ARGUMENT_LIST</dt><dd>
2894
2895 <p>
2896 A list of arguments for the method or function that is being
2897 invoked. For this suggestion kind, the completion field is a
2898 textual representation of the invocation and the parameterNames,
2899 parameterTypes, and requiredParameterCount attributes are defined.
2900 </p>
2901 </dd><dt class="value">IMPORT</dt><dt class="value">IDENTIFIER</dt><dd>
2902
2903 <p>
2904 The element identifier should be inserted at the completion
2905 location. For example "someMethod" in <tt>import 'myLib.dart' show
2906 someMethod;</tt>. For suggestions of this kind, the element
2907 attribute is defined and the completion field is the element's
2908 identifier.
2909 </p>
2910 </dd><dt class="value">INVOCATION</dt><dd>
2911
2912 <p>
2913 The element is being invoked at the completion location. For
2914 example, 'someMethod' in <tt>x.someMethod();</tt>. For suggestions
2915 of this kind, the element attribute is defined and the completion
2916 field is the element's identifier.
2917 </p>
2918 </dd><dt class="value">KEYWORD</dt><dd>
2919
2920 <p>
2921 A keyword is being suggested. For suggestions of this kind, the
2922 completion is the keyword.
2923 </p>
2924 </dd><dt class="value">NAMED_ARGUMENT</dt><dd>
2925
2926 <p>
2927 A named argument for the current call site is being suggested. For
2928 suggestions of this kind, the completion is the named argument
2929 identifier including a trailing ':' and a space.
2930 </p>
2931 </dd><dt class="value">OPTIONAL_ARGUMENT</dt><dt class="value">PARAMETER</ dt></dl></dd><dt class="typeDefinition"><a name="type_ContextData">ContextData: object</a></dt><dd>
2932 <p>
2933 Information about an analysis context.
2934 </p>
2935
2936 <dl><dt class="field"><b>name: String</b></dt><dd>
2937
2938 <p>
2939 The name of the context.
2940 </p>
2941 </dd><dt class="field"><b>explicitFileCount: int</b></dt><dd>
2942
2943 <p>
2944 Explicitly analyzed files.
2945 </p>
2946 </dd><dt class="field"><b>implicitFileCount: int</b></dt><dd>
2947
2948 <p>
2949 Implicitly analyzed files.
2950 </p>
2951 </dd><dt class="field"><b>workItemQueueLength: int</b></dt><dd>
2952
2953 <p>
2954 The number of work items in the queue.
2955 </p>
2956 </dd><dt class="field"><b>cacheEntryExceptions: List&lt;String&gt;</b></dt ><dd>
2957
2958 <p>
2959 Exceptions associated with cache entries.
2960 </p>
2961 </dd></dl></dd><dt class="typeDefinition"><a name="type_Element">Element: object</a></dt><dd>
2962 <p>
2963 Information about an element (something that can be declared in code).
2964 </p>
2965
2966 <dl><dt class="field"><b>kind: <a href="#type_ElementKind">ElementKind</a></b> </dt><dd>
2967
2968 <p>
2969 The kind of the element.
2970 </p>
2971 </dd><dt class="field"><b>name: String</b></dt><dd>
2972
2973 <p>
2974 The name of the element. This is typically used as the label in the
2975 outline.
2976 </p>
2977 </dd><dt class="field"><b>location: <a href="#type_Location">Location</a>< span style="color:#999999"> (optional)</span></b></dt><dd>
2978
2979 <p>
2980 The location of the name in the declaration of the element.
2981 </p>
2982 </dd><dt class="field"><b>flags: int</b></dt><dd>
2983
2984 <p>
2985 A bit-map containing the following flags:
2986 </p>
2987 <ul>
2988 <li>
2989 0x01 - set if the element is explicitly or implicitly abstract
2990 </li>
2991 <li>
2992 0x02 - set if the element was declared to be ‘const’
2993 </li>
2994 <li>
2995 0x04 - set if the element was declared to be ‘final’
2996 </li>
2997 <li>
2998 0x08 - set if the element is a static member of a class or is a
2999 top-level function or field
3000 </li>
3001 <li>
3002 0x10 - set if the element is private
3003 </li>
3004 <li>
3005 0x20 - set if the element is deprecated
3006 </li>
3007 </ul>
3008 </dd><dt class="field"><b>parameters: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
3009
3010 <p>
3011 The parameter list for the element. If the element is not a method or
3012 function this field will not be defined. If the element doesn't have
3013 parameters (e.g. getter), this field will not be defined. If the
3014 element has zero parameters, this field will have a value of "()".
3015 </p>
3016 </dd><dt class="field"><b>returnType: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
3017
3018 <p>
3019 The return type of the element. If the element is not a method or
3020 function this field will not be defined. If the element does not have
3021 a declared return type, this field will contain an empty string.
3022 </p>
3023 </dd><dt class="field"><b>typeParameters: String<span style="color:#999999 "> (optional)</span></b></dt><dd>
3024
3025 <p>
3026 The type parameter list for the element. If the element doesn't have
3027 type parameters, this field will not be defined.
3028 </p>
3029 </dd></dl></dd><dt class="typeDefinition"><a name="type_ElementKind">Eleme ntKind: String</a></dt><dd>
3030 <p>
3031 An enumeration of the kinds of elements.
3032 </p>
3033
3034 <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt cla ss="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class="val ue">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dt class="value">FILE</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTIO N_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><dt cl ass="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">M ETHOD</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt class ="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">T YPE_PARAMETER</dt><dt class="value deprecated">UNIT_TEST_GROUP</dt><dd>
3035
3036 <p><b>Deprecated:</b> support for tests was removed.</p>
3037 </dd><dt class="value deprecated">UNIT_TEST_TEST</dt><dd>
3038
3039 <p><b>Deprecated:</b> support for tests was removed.</p>
3040 </dd><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition"><a name="type_ExecutableFile">ExecutableFile: object</a></dt><dd>
3041 <p>
3042 A description of an executable file.
3043 </p>
3044
3045 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></dt>< dd>
3046
3047 <p>
3048 The path of the executable file.
3049 </p>
3050 </dd><dt class="field"><b>kind: <a href="#type_ExecutableKind">ExecutableK ind</a></b></dt><dd>
3051
3052 <p>
3053 The kind of the executable file.
3054 </p>
3055 </dd></dl></dd><dt class="typeDefinition"><a name="type_ExecutableKind">Ex ecutableKind: String</a></dt><dd>
3056 <p>
3057 An enumeration of the kinds of executable files.
3058 </p>
3059
3060 <dl><dt class="value">CLIENT</dt><dt class="value">EITHER</dt><dt class="value ">NOT_EXECUTABLE</dt><dt class="value">SERVER</dt></dl></dd><dt class="typeDefin ition"><a name="type_ExecutionContextId">ExecutionContextId: String</a></dt><dd>
3061
3062 <p>
3063 The identifier for a execution context.
3064 </p>
3065 </dd><dt class="typeDefinition"><a name="type_ExecutionService">ExecutionServi ce: String</a></dt><dd>
3066 <p>
3067 An enumeration of the services provided by the execution
3068 domain.
3069 </p>
3070
3071 <dl><dt class="value">LAUNCH_DATA</dt></dl></dd><dt class="typeDefinition"><a name="type_FileKind">FileKind: String</a></dt><dd>
3072 <p>
3073 An enumeration of the kinds of files.
3074 </p>
3075
3076 <dl><dt class="value">LIBRARY</dt><dt class="value">PART</dt></dl></dd><dt cla ss="typeDefinition"><a name="type_FilePath">FilePath: String</a></dt><dd>
3077
3078 <p>
3079 The absolute, normalized path of a file.
3080 </p>
3081 <p>
3082 If the format of a file path in a request is not valid, e.g. the path is
3083 not absolute or is not normalized, then an error of type
3084 <tt>INVALID_FILE_PATH_FORMAT</tt> will be generated.
3085 </p>
3086 </dd><dt class="typeDefinition"><a name="type_FoldingKind">FoldingKind: String </a></dt><dd>
3087 <p>
3088 An enumeration of the kinds of folding regions.
3089 </p>
3090
3091 <dl><dt class="value">COMMENT</dt><dt class="value">CLASS_MEMBER</dt><dt class ="value">DIRECTIVES</dt><dt class="value">DOCUMENTATION_COMMENT</dt><dt class="v alue">TOP_LEVEL_DECLARATION</dt></dl></dd><dt class="typeDefinition"><a name="ty pe_FoldingRegion">FoldingRegion: object</a></dt><dd>
3092 <p>
3093 A description of a region that can be folded.
3094 </p>
3095
3096 <dl><dt class="field"><b>kind: <a href="#type_FoldingKind">FoldingKind</a></b> </dt><dd>
3097
3098 <p>
3099 The kind of the region.
3100 </p>
3101 </dd><dt class="field"><b>offset: int</b></dt><dd>
3102
3103 <p>
3104 The offset of the region to be folded.
3105 </p>
3106 </dd><dt class="field"><b>length: int</b></dt><dd>
3107
3108 <p>
3109 The length of the region to be folded.
3110 </p>
3111 </dd></dl></dd><dt class="typeDefinition"><a name="type_GeneralAnalysisSer vice">GeneralAnalysisService: String</a></dt><dd>
3112 <p>
3113 An enumeration of the services provided by the analysis domain that are
3114 general in nature (that is, are not specific to some list of files).
3115 </p>
3116
3117 <dl><dt class="value">ANALYZED_FILES</dt></dl></dd><dt class="typeDefinition"> <a name="type_HighlightRegion">HighlightRegion: object</a></dt><dd>
3118 <p>
3119 A description of a region that could have special highlighting associated
3120 with it.
3121 </p>
3122
3123 <dl><dt class="field"><b>type: <a href="#type_HighlightRegionType">HighlightRe gionType</a></b></dt><dd>
3124
3125 <p>
3126 The type of highlight associated with the region.
3127 </p>
3128 </dd><dt class="field"><b>offset: int</b></dt><dd>
3129
3130 <p>
3131 The offset of the region to be highlighted.
3132 </p>
3133 </dd><dt class="field"><b>length: int</b></dt><dd>
3134
3135 <p>
3136 The length of the region to be highlighted.
3137 </p>
3138 </dd></dl></dd><dt class="typeDefinition"><a name="type_HighlightRegionTyp e">HighlightRegionType: String</a></dt><dd>
3139 <p>
3140 An enumeration of the kinds of highlighting that can be applied to files.
3141 </p>
3142
3143 <dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt class= "value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMMENT_ DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value">CO NSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE</dt ><dd>
3144
3145 <p>Only for version 1 of highlight.</p>
3146 </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dd>
3147
3148 <p>Only for version 2 of highlight.</p>
3149 </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dd>
3150
3151 <p>Only for version 2 of highlight.</p>
3152 </dd><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dd>
3153
3154 <p>Only for version 2 of highlight.</p>
3155 </dd><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dd>
3156
3157 <p>Only for version 2 of highlight.</p>
3158 </dd><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt cl ass="value">FIELD</dt><dd>
3159
3160 <p>Only for version 1 of highlight.</p>
3161 </dd><dt class="value">FIELD_STATIC</dt><dd>
3162
3163 <p>Only for version 1 of highlight.</p>
3164 </dd><dt class="value">FUNCTION</dt><dd>
3165
3166 <p>Only for version 1 of highlight.</p>
3167 </dd><dt class="value">FUNCTION_DECLARATION</dt><dd>
3168
3169 <p>Only for version 1 of highlight.</p>
3170 </dd><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER_DE CLARATION</dt><dd>
3171
3172 <p>Only for version 1 of highlight.</p>
3173 </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PRE FIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dd>
3174
3175 <p>Only for version 2 of highlight.</p>
3176 </dd><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dd>
3177
3178 <p>Only for version 2 of highlight.</p>
3179 </dd><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dd>
3180
3181 <p>Only for version 2 of highlight.</p>
3182 </dd><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dd>
3183
3184 <p>Only for version 2 of highlight.</p>
3185 </dd><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dd>
3186
3187 <p>Only for version 2 of highlight.</p>
3188 </dd><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dd>
3189
3190 <p>Only for version 2 of highlight.</p>
3191 </dd><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dd>
3192
3193 <p>Only for version 2 of highlight.</p>
3194 </dd><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dd>
3195
3196 <p>Only for version 2 of highlight.</p>
3197 </dd><dt class="value">INVALID_STRING_ESCAPE</dt><dd>
3198
3199 <p>Only for version 2 of highlight.</p>
3200 </dd><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class=" value">LIBRARY_NAME</dt><dd>
3201
3202 <p>Only for version 2 of highlight.</p>
3203 </dd><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBL E</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt>< dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class= "value">LOCAL_FUNCTION_DECLARATION</dt><dd>
3204
3205 <p>Only for version 2 of highlight.</p>
3206 </dd><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dd>
3207
3208 <p>Only for version 2 of highlight.</p>
3209 </dd><dt class="value">LOCAL_VARIABLE</dt><dd>
3210
3211 <p>Only for version 1 of highlight.</p>
3212 </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">LO CAL_VARIABLE_REFERENCE</dt><dd>
3213
3214 <p>Only for version 2 of highlight.</p>
3215 </dd><dt class="value">METHOD</dt><dd>
3216
3217 <p>Only for version 1 of highlight.</p>
3218 </dd><dt class="value">METHOD_DECLARATION</dt><dd>
3219
3220 <p>Only for version 1 of highlight.</p>
3221 </dd><dt class="value">METHOD_DECLARATION_STATIC</dt><dd>
3222
3223 <p>Only for version 1 of highlight.</p>
3224 </dd><dt class="value">METHOD_STATIC</dt><dd>
3225
3226 <p>Only for version 1 of highlight.</p>
3227 </dd><dt class="value">PARAMETER</dt><dd>
3228
3229 <p>Only for version 1 of highlight.</p>
3230 </dd><dt class="value">SETTER_DECLARATION</dt><dd>
3231
3232 <p>Only for version 1 of highlight.</p>
3233 </dd><dt class="value">TOP_LEVEL_VARIABLE</dt><dd>
3234
3235 <p>Only for version 1 of highlight.</p>
3236 </dd><dt class="value">PARAMETER_DECLARATION</dt><dd>
3237
3238 <p>Only for version 2 of highlight.</p>
3239 </dd><dt class="value">PARAMETER_REFERENCE</dt><dd>
3240
3241 <p>Only for version 2 of highlight.</p>
3242 </dd><dt class="value">STATIC_FIELD_DECLARATION</dt><dd>
3243
3244 <p>Only for version 2 of highlight.</p>
3245 </dd><dt class="value">STATIC_GETTER_DECLARATION</dt><dd>
3246
3247 <p>Only for version 2 of highlight.</p>
3248 </dd><dt class="value">STATIC_GETTER_REFERENCE</dt><dd>
3249
3250 <p>Only for version 2 of highlight.</p>
3251 </dd><dt class="value">STATIC_METHOD_DECLARATION</dt><dd>
3252
3253 <p>Only for version 2 of highlight.</p>
3254 </dd><dt class="value">STATIC_METHOD_REFERENCE</dt><dd>
3255
3256 <p>Only for version 2 of highlight.</p>
3257 </dd><dt class="value">STATIC_SETTER_DECLARATION</dt><dd>
3258
3259 <p>Only for version 2 of highlight.</p>
3260 </dd><dt class="value">STATIC_SETTER_REFERENCE</dt><dd>
3261
3262 <p>Only for version 2 of highlight.</p>
3263 </dd><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dd>
3264
3265 <p>Only for version 2 of highlight.</p>
3266 </dd><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dd>
3267
3268 <p>Only for version 2 of highlight.</p>
3269 </dd><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dd>
3270
3271 <p>Only for version 2 of highlight.</p>
3272 </dd><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dd>
3273
3274 <p>Only for version 2 of highlight.</p>
3275 </dd><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dd>
3276
3277 <p>Only for version 2 of highlight.</p>
3278 </dd><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dd>
3279
3280 <p>Only for version 2 of highlight.</p>
3281 </dd><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dd>
3282
3283 <p>Only for version 2 of highlight.</p>
3284 </dd><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAME TER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dd>
3285
3286 <p>Only for version 2 of highlight.</p>
3287 </dd><dt class="value">VALID_STRING_ESCAPE</dt><dd>
3288
3289 <p>Only for version 2 of highlight.</p>
3290 </dd></dl></dd><dt class="typeDefinition"><a name="type_HoverInformation"> HoverInformation: object</a></dt><dd>
3291 <p>
3292 The hover information associated with a specific location.
3293 </p>
3294
3295 <dl><dt class="field"><b>offset: int</b></dt><dd>
3296
3297 <p>
3298 The offset of the range of characters that encompasses the
3299 cursor position and has the same hover information as the
3300 cursor position.
3301 </p>
3302 </dd><dt class="field"><b>length: int</b></dt><dd>
3303
3304 <p>
3305 The length of the range of characters that encompasses the
3306 cursor position and has the same hover information as the
3307 cursor position.
3308 </p>
3309 </dd><dt class="field"><b>containingLibraryPath: String<span style="color: #999999"> (optional)</span></b></dt><dd>
3310
3311 <p>
3312 The path to the defining compilation unit of the library
3313 in which the referenced element is declared. This data is
3314 omitted if there is no referenced element, or if the
3315 element is declared inside an HTML file.
3316 </p>
3317 </dd><dt class="field"><b>containingLibraryName: String<span style="color: #999999"> (optional)</span></b></dt><dd>
3318
3319 <p>
3320 The name of the library in which the referenced element is
3321 declared. This data is omitted if there is no referenced
3322 element, or if the element is declared inside an HTML
3323 file.
3324 </p>
3325 </dd><dt class="field"><b>containingClassDescription: String<span style="c olor:#999999"> (optional)</span></b></dt><dd>
3326
3327 <p>
3328 A human-readable description of the class declaring the element
3329 being referenced. This data is omitted if there is no referenced
3330 element, or if the element is not a class member.
3331 </p>
3332 </dd><dt class="field"><b>dartdoc: String<span style="color:#999999"> (opt ional)</span></b></dt><dd>
3333
3334 <p>
3335 The dartdoc associated with the referenced element. Other
3336 than the removal of the comment delimiters, including
3337 leading asterisks in the case of a block comment, the
3338 dartdoc is unprocessed markdown. This data is omitted if
3339 there is no referenced element, or if the element has no
3340 dartdoc.
3341 </p>
3342 </dd><dt class="field"><b>elementDescription: String<span style="color:#99 9999"> (optional)</span></b></dt><dd>
3343
3344 <p>
3345 A human-readable description of the element being
3346 referenced. This data is omitted if there is no referenced
3347 element.
3348 </p>
3349 </dd><dt class="field"><b>elementKind: String<span style="color:#999999"> (optional)</span></b></dt><dd>
3350
3351 <p>
3352 A human-readable description of the kind of element being
3353 referenced (such as "class" or "function type
3354 alias"). This data is omitted if there is no referenced
3355 element.
3356 </p>
3357 </dd><dt class="field"><b>isDeprecated: bool<span style="color:#999999"> ( optional)</span></b></dt><dd>
3358
3359 <p>
3360 True if the referenced element is deprecated.
3361 </p>
3362 </dd><dt class="field"><b>parameter: String<span style="color:#999999"> (o ptional)</span></b></dt><dd>
3363
3364 <p>
3365 A human-readable description of the parameter
3366 corresponding to the expression being hovered over. This
3367 data is omitted if the location is not in an argument to a
3368 function.
3369 </p>
3370 </dd><dt class="field"><b>propagatedType: String<span style="color:#999999 "> (optional)</span></b></dt><dd>
3371
3372 <p>
3373 The name of the propagated type of the expression. This
3374 data is omitted if the location does not correspond to an
3375 expression or if there is no propagated type information.
3376 </p>
3377 </dd><dt class="field"><b>staticType: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
3378
3379 <p>
3380 The name of the static type of the expression. This data
3381 is omitted if the location does not correspond to an
3382 expression.
3383 </p>
3384 </dd></dl></dd><dt class="typeDefinition"><a name="type_ImplementedClass"> ImplementedClass: object</a></dt><dd>
3385 <p>
3386 A description of a class that is implemented or extended.
3387 </p>
3388
3389 <dl><dt class="field"><b>offset: int</b></dt><dd>
3390
3391 <p>
3392 The offset of the name of the implemented class.
3393 </p>
3394 </dd><dt class="field"><b>length: int</b></dt><dd>
3395
3396 <p>
3397 The length of the name of the implemented class.
3398 </p>
3399 </dd></dl></dd><dt class="typeDefinition"><a name="type_ImplementedMember" >ImplementedMember: object</a></dt><dd>
3400 <p>
3401 A description of a class member that is implemented or overridden.
3402 </p>
3403
3404 <dl><dt class="field"><b>offset: int</b></dt><dd>
3405
3406 <p>
3407 The offset of the name of the implemented member.
3408 </p>
3409 </dd><dt class="field"><b>length: int</b></dt><dd>
3410
3411 <p>
3412 The length of the name of the implemented member.
3413 </p>
3414 </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditGroup">L inkedEditGroup: object</a></dt><dd>
3415 <p>
3416 A collection of positions that should be linked (edited simultaneously)
3417 for the purposes of updating code after a source change. For example, if a
3418 set of edits introduced a new variable name, the group would contain all
3419 of the positions of the variable name so that if the client wanted to let
3420 the user edit the variable name after the operation, all occurrences of
3421 the name could be edited simultaneously.
3422 </p>
3423
3424 <dl><dt class="field"><b>positions: List&lt;<a href="#type_Position">Position< /a>&gt;</b></dt><dd>
3425
3426 <p>
3427 The positions of the regions that should be edited simultaneously.
3428 </p>
3429 </dd><dt class="field"><b>length: int</b></dt><dd>
3430
3431 <p>
3432 The length of the regions that should be edited simultaneously.
3433 </p>
3434 </dd><dt class="field"><b>suggestions: List&lt;<a href="#type_LinkedEditSu ggestion">LinkedEditSuggestion</a>&gt;</b></dt><dd>
3435
3436 <p>
3437 Pre-computed suggestions for what every region might want to be
3438 changed to.
3439 </p>
3440 </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditSuggesti on">LinkedEditSuggestion: object</a></dt><dd>
3441 <p>
3442 A suggestion of a value that could be used to replace all of the linked
3443 edit regions in a <a href="#type_LinkedEditGroup">LinkedEditGroup</a>.
3444 </p>
3445
3446 <dl><dt class="field"><b>value: String</b></dt><dd>
3447
3448 <p>
3449 The value that could be used to replace all of the linked edit
3450 regions.
3451 </p>
3452 </dd><dt class="field"><b>kind: <a href="#type_LinkedEditSuggestionKind">L inkedEditSuggestionKind</a></b></dt><dd>
3453
3454 <p>
3455 The kind of value being proposed.
3456 </p>
3457 </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditSuggesti onKind">LinkedEditSuggestionKind: String</a></dt><dd>
3458 <p>
3459 An enumeration of the kind of values that can be suggested for a linked
3460 edit.
3461 </p>
3462
3463 <dl><dt class="value">METHOD</dt><dt class="value">PARAMETER</dt><dt class="va lue">TYPE</dt><dt class="value">VARIABLE</dt></dl></dd><dt class="typeDefinition "><a name="type_Location">Location: object</a></dt><dd>
3464 <p>
3465 A location (character range) within a file.
3466 </p>
3467
3468 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></dt>< dd>
3469
3470 <p>
3471 The file containing the range.
3472 </p>
3473 </dd><dt class="field"><b>offset: int</b></dt><dd>
3474
3475 <p>
3476 The offset of the range.
3477 </p>
3478 </dd><dt class="field"><b>length: int</b></dt><dd>
3479
3480 <p>
3481 The length of the range.
3482 </p>
3483 </dd><dt class="field"><b>startLine: int</b></dt><dd>
3484
3485 <p>
3486 The one-based index of the line containing the first character of the
3487 range.
3488 </p>
3489 </dd><dt class="field"><b>startColumn: int</b></dt><dd>
3490
3491 <p>
3492 The one-based index of the column containing the first character of
3493 the range.
3494 </p>
3495 </dd></dl></dd><dt class="typeDefinition"><a name="type_NavigationRegion"> NavigationRegion: object</a></dt><dd>
3496 <p>
3497 A description of a region from which the user can navigate to the
3498 declaration of an element.
3499 </p>
3500
3501 <dl><dt class="field"><b>offset: int</b></dt><dd>
3502
3503 <p>
3504 The offset of the region from which the user can navigate.
3505 </p>
3506 </dd><dt class="field"><b>length: int</b></dt><dd>
3507
3508 <p>
3509 The length of the region from which the user can navigate.
3510 </p>
3511 </dd><dt class="field"><b>targets: List&lt;int&gt;</b></dt><dd>
3512
3513 <p>
3514 The indexes of the targets (in the enclosing navigation response) to
3515 which the given region is bound. By opening the target, clients can
3516 implement one form of navigation. This list cannot be empty.
3517 </p>
3518 </dd></dl></dd><dt class="typeDefinition"><a name="type_NavigationTarget"> NavigationTarget: object</a></dt><dd>
3519 <p>
3520 A description of a target to which the user can navigate.
3521 </p>
3522
3523 <dl><dt class="field"><b>kind: <a href="#type_ElementKind">ElementKind</a></b> </dt><dd>
3524
3525 <p>
3526 The kind of the element.
3527 </p>
3528 </dd><dt class="field"><b>fileIndex: int</b></dt><dd>
3529
3530 <p>
3531 The index of the file (in the enclosing navigation response) to
3532 navigate to.
3533 </p>
3534 </dd><dt class="field"><b>offset: int</b></dt><dd>
3535
3536 <p>
3537 The offset of the region to which the user can navigate.
3538 </p>
3539 </dd><dt class="field"><b>length: int</b></dt><dd>
3540
3541 <p>
3542 The length of the region to which the user can navigate.
3543 </p>
3544 </dd><dt class="field"><b>startLine: int</b></dt><dd>
3545
3546 <p>
3547 The one-based index of the line containing the first character of the
3548 region.
3549 </p>
3550 </dd><dt class="field"><b>startColumn: int</b></dt><dd>
3551
3552 <p>
3553 The one-based index of the column containing the first character of
3554 the region.
3555 </p>
3556 </dd></dl></dd><dt class="typeDefinition"><a name="type_Occurrences">Occur rences: object</a></dt><dd>
3557 <p>
3558 A description of the references to a single element within a single file.
3559 </p>
3560
3561 <dl><dt class="field"><b>element: <a href="#type_Element">Element</a></b></dt> <dd>
3562
3563 <p>
3564 The element that was referenced.
3565 </p>
3566 </dd><dt class="field"><b>offsets: List&lt;int&gt;</b></dt><dd>
3567
3568 <p>
3569 The offsets of the name of the referenced element within the file.
3570 </p>
3571 </dd><dt class="field"><b>length: int</b></dt><dd>
3572
3573 <p>
3574 The length of the name of the referenced element.
3575 </p>
3576 </dd></dl></dd><dt class="typeDefinition"><a name="type_Outline">Outline: object</a></dt><dd>
3577 <p>
3578 An node in the outline structure of a file.
3579 </p>
3580
3581 <dl><dt class="field"><b>element: <a href="#type_Element">Element</a></b></dt> <dd>
3582
3583 <p>
3584 A description of the element represented by this node.
3585 </p>
3586 </dd><dt class="field"><b>offset: int</b></dt><dd>
3587
3588 <p>
3589 The offset of the first character of the element. This is different
3590 than the offset in the Element, which is the offset of the name of the
3591 element. It can be used, for example, to map locations in the file
3592 back to an outline.
3593 </p>
3594 </dd><dt class="field"><b>length: int</b></dt><dd>
3595
3596 <p>
3597 The length of the element.
3598 </p>
3599 </dd><dt class="field"><b>children: List&lt;<a href="#type_Outline">Outlin e</a>&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
3600
3601 <p>
3602 The children of the node. The field will be omitted if the node has no
3603 children.
3604 </p>
3605 </dd></dl></dd><dt class="typeDefinition"><a name="type_OverriddenMember"> OverriddenMember: object</a></dt><dd>
3606 <p>
3607 A description of a member that is being overridden.
3608 </p>
3609
3610 <dl><dt class="field"><b>element: <a href="#type_Element">Element</a></b></dt> <dd>
3611
3612 <p>
3613 The element that is being overridden.
3614 </p>
3615 </dd><dt class="field"><b>className: String</b></dt><dd>
3616
3617 <p>
3618 The name of the class in which the member is defined.
3619 </p>
3620 </dd></dl></dd><dt class="typeDefinition"><a name="type_Override">Override : object</a></dt><dd>
3621 <p>
3622 A description of a member that overrides an inherited member.
3623 </p>
3624
3625 <dl><dt class="field"><b>offset: int</b></dt><dd>
3626
3627 <p>
3628 The offset of the name of the overriding member.
3629 </p>
3630 </dd><dt class="field"><b>length: int</b></dt><dd>
3631
3632 <p>
3633 The length of the name of the overriding member.
3634 </p>
3635 </dd><dt class="field"><b>superclassMember: <a href="#type_OverriddenMembe r">OverriddenMember</a><span style="color:#999999"> (optional)</span></b></dt><d d>
3636
3637 <p>
3638 The member inherited from a superclass that is overridden
3639 by the overriding member. The field is omitted if there is
3640 no superclass member, in which case there must be at least
3641 one interface member.
3642 </p>
3643 </dd><dt class="field"><b>interfaceMembers: List&lt;<a href="#type_Overrid denMember">OverriddenMember</a>&gt;<span style="color:#999999"> (optional)</span ></b></dt><dd>
3644
3645 <p>
3646 The members inherited from interfaces that are overridden
3647 by the overriding member. The field is omitted if there
3648 are no interface members, in which case there must be a
3649 superclass member.
3650 </p>
3651 </dd></dl></dd><dt class="typeDefinition"><a name="type_Position">Position : object</a></dt><dd>
3652 <p>
3653 A position within a file.
3654 </p>
3655
3656 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></dt>< dd>
3657
3658 <p>
3659 The file containing the position.
3660 </p>
3661 </dd><dt class="field"><b>offset: int</b></dt><dd>
3662
3663 <p>
3664 The offset of the position.
3665 </p>
3666 </dd></dl></dd><dt class="typeDefinition"><a name="type_PubStatus">PubStat us: object</a></dt><dd>
3667 <p>
3668 An indication of the current state of pub execution.
3669 </p>
3670
3671 <dl><dt class="field"><b>isListingPackageDirs: bool</b></dt><dd>
3672
3673 <p>
3674 True if the server is currently running pub to produce a list of
3675 package directories.
3676 </p>
3677 </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringFeedbac k">RefactoringFeedback: object</a></dt><dd>
3678 <p>
3679 An abstract superclass of all refactoring feedbacks.
3680 </p>
3681
3682 <dl></dl></dd><dt class="typeDefinition"><a name="type_RefactoringKind">Refact oringKind: String</a></dt><dd>
3683 <p>
3684 An enumeration of the kinds of refactorings that can be created.
3685 </p>
3686
3687 <dl><dt class="value">CONVERT_GETTER_TO_METHOD</dt><dt class="value">CONVERT_M ETHOD_TO_GETTER</dt><dt class="value">EXTRACT_LOCAL_VARIABLE</dt><dt class="valu e">EXTRACT_METHOD</dt><dt class="value">INLINE_LOCAL_VARIABLE</dt><dt class="val ue">INLINE_METHOD</dt><dt class="value">MOVE_FILE</dt><dt class="value">RENAME</ dt><dt class="value">SORT_MEMBERS</dt></dl></dd><dt class="typeDefinition"><a na me="type_RefactoringMethodParameter">RefactoringMethodParameter: object</a></dt> <dd>
3688
3689 <p>
3690 A description of a parameter in a method refactoring.
3691 </p>
3692
3693 <dl><dt class="field"><b>id: String<span style="color:#999999"> (optional)</sp an></b></dt><dd>
3694
3695 <p>
3696 The unique identifier of the parameter. Clients may omit this field
3697 for the parameters they want to add.
3698 </p>
3699 </dd><dt class="field"><b>kind: <a href="#type_RefactoringMethodParameterK ind">RefactoringMethodParameterKind</a></b></dt><dd>
3700
3701 <p>
3702 The kind of the parameter.
3703 </p>
3704 </dd><dt class="field"><b>type: String</b></dt><dd>
3705
3706 <p>
3707 The type that should be given to the parameter, or the return type of
3708 the parameter's function type.
3709 </p>
3710 </dd><dt class="field"><b>name: String</b></dt><dd>
3711
3712 <p>
3713 The name that should be given to the parameter.
3714 </p>
3715 </dd><dt class="field"><b>parameters: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
3716
3717 <p>
3718 The parameter list of the parameter's function type. If the parameter
3719 is not of a function type, this field will not be defined. If the
3720 function type has zero parameters, this field will have a value of
3721 '()'.
3722 </p>
3723 </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringMethodP arameterKind">RefactoringMethodParameterKind: String</a></dt><dd>
3724 <p>
3725 An enumeration of the kinds of parameters.
3726 </p>
3727
3728 <dl><dt class="value">REQUIRED</dt><dt class="value">POSITIONAL</dt><dt class= "value">NAMED</dt></dl></dd><dt class="typeDefinition"><a name="type_Refactoring Options">RefactoringOptions: object</a></dt><dd>
3729 <p>
3730 An abstract superclass of all refactoring options.
3731 </p>
3732
3733 <dl></dl></dd><dt class="typeDefinition"><a name="type_RefactoringProblem">Ref actoringProblem: object</a></dt><dd>
3734 <p>
3735 A description of a problem related to a refactoring.
3736 </p>
3737
3738 <dl><dt class="field"><b>severity: <a href="#type_RefactoringProblemSeverity"> RefactoringProblemSeverity</a></b></dt><dd>
3739
3740 <p>
3741 The severity of the problem being represented.
3742 </p>
3743 </dd><dt class="field"><b>message: String</b></dt><dd>
3744
3745 <p>
3746 A human-readable description of the problem being represented.
3747 </p>
3748 </dd><dt class="field"><b>location: <a href="#type_Location">Location</a>< span style="color:#999999"> (optional)</span></b></dt><dd>
3749
3750 <p>
3751 The location of the problem being represented. This field is omitted
3752 unless there is a specific location associated with the problem (such
3753 as a location where an element being renamed will be shadowed).
3754 </p>
3755 </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringProblem Severity">RefactoringProblemSeverity: String</a></dt><dd>
3756 <p>
3757 An enumeration of the severities of problems that can be returned by the
3758 refactoring requests.
3759 </p>
3760
3761 <dl><dt class="value">INFO</dt><dd>
3762
3763 <p>
3764 A minor code problem. No example, because it is not used yet.
3765 </p>
3766 </dd><dt class="value">WARNING</dt><dd>
3767
3768 <p>
3769 A minor code problem. For example names of local variables should be
3770 camel case and start with a lower case letter. Staring the name of a
3771 variable with an upper case is OK from the language point of view, but
3772 it is nice to warn the user.
3773 </p>
3774 </dd><dt class="value">ERROR</dt><dd>
3775
3776 <p>
3777 The refactoring technically can be performed, but there is a logical
3778 problem. For example the name of a local variable being extracted
3779 conflicts with another name in the scope, or duplicate parameter names
3780 in the method being extracted, or a conflict between a parameter name
3781 and a local variable, etc. In some cases the location of the problem
3782 is also provided, so the IDE can show user the location and the
3783 problem, and let the user decide whether they want to perform the
3784 refactoring. For example the name conflict might be expected, and the
3785 user wants to fix it afterwards.
3786 </p>
3787 </dd><dt class="value">FATAL</dt><dd>
3788
3789 <p>
3790 A fatal error, which prevents performing the refactoring. For example
3791 the name of a local variable being extracted is not a valid
3792 identifier, or selection is not a valid expression.
3793 </p>
3794 </dd></dl></dd><dt class="typeDefinition"><a name="type_RemoveContentOverl ay">RemoveContentOverlay: object</a></dt><dd>
3795 <p>
3796 A directive to remove an existing file content overlay. After processing
3797 this directive, the file contents will once again be read from the file
3798 system.
3799 </p>
3800 <p>
3801 If this directive is used on a file that doesn't currently have a content
3802 overlay, it has no effect.
3803 </p>
3804
3805 <dl><dt class="field"><b>type = "remove"</b></dt><dd>
3806
3807 </dd></dl></dd><dt class="typeDefinition"><a name="type_RequestError">Requ estError: object</a></dt><dd>
3808 <p>
3809 An indication of a problem with the execution of the server,
3810 typically in response to a request.
3811 </p>
3812
3813 <dl><dt class="field"><b>code: <a href="#type_RequestErrorCode">RequestErrorCo de</a></b></dt><dd>
3814
3815 <p>
3816 A code that uniquely identifies the error that occurred.
3817 </p>
3818 </dd><dt class="field"><b>message: String</b></dt><dd>
3819
3820 <p>
3821 A short description of the error.
3822 </p>
3823 </dd><dt class="field"><b>stackTrace: String<span style="color:#999999"> ( optional)</span></b></dt><dd>
3824
3825 <p>
3826 The stack trace associated with processing the request,
3827 used for debugging the server.
3828 </p>
3829 </dd></dl></dd><dt class="typeDefinition"><a name="type_RequestErrorCode"> RequestErrorCode: String</a></dt><dd>
3830 <p>
3831 An enumeration of the types of errors that can occur in the
3832 execution of the server.
3833 </p>
3834
3835 <dl><dt class="value">CONTENT_MODIFIED</dt><dd>
3836
3837 <p>
3838 An "analysis.getErrors" or "analysis.getNavigation" request could
3839 not be satisfied because the content of the file changed before
3840 the requested results could be computed.
3841 </p>
3842 </dd><dt class="value">DEBUG_PORT_COULD_NOT_BE_OPENED</dt><dd>
3843
3844 <p>
3845 The server was unable to open a port for the diagnostic server.
3846 </p>
3847 </dd><dt class="value">FILE_NOT_ANALYZED</dt><dd>
3848
3849 <p>
3850 A request specified a FilePath which does not match a file in
3851 an analysis root, or the requested operation is not available
3852 for the file.
3853 </p>
3854 </dd><dt class="value">FORMAT_INVALID_FILE</dt><dd>
3855
3856 <p>
3857 An "edit.format" request specified a FilePath
3858 which does not match a Dart file in an analysis root.
3859 </p>
3860 </dd><dt class="value">FORMAT_WITH_ERRORS</dt><dd>
3861
3862 <p>
3863 An "edit.format" request specified a file that contains syntax
2640 errors. 3864 errors.
2641 </p> 3865 </p>
2642 3866 </dd><dt class="value">GET_ERRORS_INVALID_FILE</dt><dd>
2643 <dl><dt class="value">INFO</dt><dt class="value">WARNING</dt><dt class="va lue">ERROR</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisErrorT ype">AnalysisErrorType: String</a></dt><dd> 3867
2644 <p> 3868 <p>
2645 An enumeration of the possible types of analysis errors. 3869 An "analysis.getErrors" request specified a FilePath
2646 </p> 3870 which does not match a file currently subject to
2647 3871 analysis.
2648 <dl><dt class="value">CHECKED_MODE_COMPILE_TIME_ERROR</dt><dt class="value ">COMPILE_TIME_ERROR</dt><dt class="value">HINT</dt><dt class="value">LINT</dt>< dt class="value">STATIC_TYPE_WARNING</dt><dt class="value">STATIC_WARNING</dt><d t class="value">SYNTACTIC_ERROR</dt><dt class="value">TODO</dt></dl></dd><dt cla ss="typeDefinition deprecated"><a name="type_AnalysisOptions">AnalysisOptions: o bject</a></dt><dd> 3872 </p>
2649 <p><b>Deprecated:</b> the only reference to this type has been 3873 </dd><dt class="value">GET_NAVIGATION_INVALID_FILE</dt><dd>
2650 deprecated.</p> 3874
2651 <p> 3875 <p>
2652 A set of options controlling what kind of analysis is to be 3876 An "analysis.getNavigation" request specified a FilePath
2653 performed. If the value of a field is omitted the value of the 3877 which does not match a file currently subject to
2654 option will not be changed. 3878 analysis.
2655 </p> 3879 </p>
2656 3880 </dd><dt class="value">GET_REACHABLE_SOURCES_INVALID_FILE</dt><dd>
2657 <dl><dt class="field"><b><span class="deprecated">enableAsync</span>: bool <span style="color:#999999"> (optional)</span></b></dt><dd> 3881
2658 3882 <p>
2659 <p><b>Deprecated:</b> this feature is always enabled.</p> 3883 An "analysis.getReachableSources" request specified a FilePath
2660 <p> 3884 which does not match a file currently subject to
2661 True if the client wants to enable support for the 3885 analysis.
2662 proposed async feature. 3886 </p>
2663 </p> 3887 </dd><dt class="value">INVALID_ANALYSIS_ROOT</dt><dd>
2664 </dd><dt class="field"><b><span class="deprecated">enableDeferredLoadi ng</span>: bool<span style="color:#999999"> (optional)</span></b></dt><dd> 3888
2665 3889 <p>
2666 <p><b>Deprecated:</b> this feature is always enabled.</p> 3890 A path passed as an argument to a request (such as
2667 <p> 3891 analysis.reanalyze) is required to be an analysis root, but isn't.
2668 True if the client wants to enable support for the 3892 </p>
2669 proposed deferred loading feature. 3893 </dd><dt class="value">INVALID_EXECUTION_CONTEXT</dt><dd>
2670 </p> 3894
2671 </dd><dt class="field"><b><span class="deprecated">enableEnums</span>: bool<span style="color:#999999"> (optional)</span></b></dt><dd> 3895 <p>
2672 3896 The context root used to create an execution context does not
2673 <p><b>Deprecated:</b> this feature is always enabled.</p> 3897 exist.
2674 <p> 3898 </p>
2675 True if the client wants to enable support for the 3899 </dd><dt class="value">INVALID_FILE_PATH_FORMAT</dt><dd>
2676 proposed enum feature. 3900
2677 </p> 3901 <p>
2678 </dd><dt class="field"><b><span class="deprecated">enableNullAwareOper ators</span>: bool<span style="color:#999999"> (optional)</span></b></dt><dd> 3902 The format of the given file path is invalid, e.g. is not
2679 3903 absolute and normalized.
2680 <p><b>Deprecated:</b> this feature is always enabled.</p> 3904 </p>
2681 <p> 3905 </dd><dt class="value">INVALID_OVERLAY_CHANGE</dt><dd>
2682 True if the client wants to enable support for the 3906
2683 proposed "null aware operators" feature. 3907 <p>
2684 </p> 3908 An "analysis.updateContent" request contained a
2685 </dd><dt class="field"><b>enableSuperMixins: bool<span style="color:#9 99999"> (optional)</span></b></dt><dd> 3909 ChangeContentOverlay object which can't be applied, due
2686 3910 to an edit having an offset or length that is out of
2687 <p> 3911 range.
2688 True if the client wants to enable support for the 3912 </p>
2689 proposed "less restricted mixins" proposal (DEP 34). 3913 </dd><dt class="value">INVALID_PARAMETER</dt><dd>
2690 </p> 3914
2691 </dd><dt class="field"><b>generateDart2jsHints: bool<span style="color :#999999"> (optional)</span></b></dt><dd> 3915 <p>
2692 3916 One of the method parameters was invalid.
2693 <p> 3917 </p>
2694 True if hints that are specific to dart2js should be 3918 </dd><dt class="value">INVALID_REQUEST</dt><dd>
2695 generated. This option is ignored if generateHints is false. 3919
2696 </p> 3920 <p>
2697 </dd><dt class="field"><b>generateHints: bool<span style="color:#99999 9"> (optional)</span></b></dt><dd> 3921 A malformed request was received.
2698 3922 </p>
2699 <p> 3923 </dd><dt class="value">ORGANIZE_DIRECTIVES_ERROR</dt><dd>
2700 True if hints should be generated as part of generating 3924
2701 errors and warnings. 3925 <p>
2702 </p> 3926 An "edit.organizeDirectives" request specified a Dart file that
2703 </dd><dt class="field"><b>generateLints: bool<span style="color:#99999 9"> (optional)</span></b></dt><dd> 3927 cannot be analyzed. The reason is described in the message.
2704 3928 </p>
2705 <p> 3929 </dd><dt class="value">REFACTORING_REQUEST_CANCELLED</dt><dd>
2706 True if lints should be generated as part of generating 3930
2707 errors and warnings. 3931 <p>
2708 </p> 3932 Another refactoring request was received during processing of
2709 </dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisServic e">AnalysisService: String</a></dt><dd> 3933 this one.
2710 <p> 3934 </p>
2711 An enumeration of the services provided by the analysis domain that 3935 </dd><dt class="value">SERVER_ALREADY_STARTED</dt><dd>
2712 are related to a specific list of files. 3936
2713 </p> 3937 <p>
2714 3938 The analysis server has already been started (and hence
2715 <dl><dt class="value">FOLDING</dt><dt class="value">HIGHLIGHTS</dt><dt cla ss="value">IMPLEMENTED</dt><dt class="value">INVALIDATE</dt><dd> 3939 won't accept new connections).
2716 3940 </p>
2717 <p> 3941 <p>
2718 This service is not currently implemented and will become a 3942 This error is included for future expansion; at present
2719 GeneralAnalysisService in a future release. 3943 the analysis server can only speak to one client at a
2720 </p> 3944 time so this error will never occur.
2721 </dd><dt class="value">NAVIGATION</dt><dt class="value">OCCURRENCES</d t><dt class="value">OUTLINE</dt><dt class="value">OVERRIDES</dt></dl></dd><dt cl ass="typeDefinition"><a name="type_AnalysisStatus">AnalysisStatus: object</a></d t><dd> 3945 </p>
2722 <p> 3946 </dd><dt class="value">SERVER_ERROR</dt><dd>
2723 An indication of the current state of analysis. 3947
2724 </p> 3948 <p>
2725 3949 An internal error occurred in the analysis server.
2726 <dl><dt class="field"><b>isAnalyzing: bool</b></dt><dd> 3950 Also see the server.error notification.
2727 3951 </p>
2728 <p>True if analysis is currently being performed.</p> 3952 </dd><dt class="value">SORT_MEMBERS_INVALID_FILE</dt><dd>
2729 </dd><dt class="field"><b>analysisTarget: String<span style="color:#99 9999"> (optional)</span></b></dt><dd> 3953
2730 3954 <p>
2731 <p> 3955 An "edit.sortMembers" request specified a FilePath
2732 The name of the current target of analysis. This field is 3956 which does not match a Dart file in an analysis root.
2733 omitted if analyzing is false. 3957 </p>
2734 </p> 3958 </dd><dt class="value">SORT_MEMBERS_PARSE_ERRORS</dt><dd>
2735 </dd></dl></dd><dt class="typeDefinition"><a name="type_ChangeContentO verlay">ChangeContentOverlay: object</a></dt><dd> 3959
2736 <p> 3960 <p>
2737 A directive to modify an existing file content overlay. One or more 3961 An "edit.sortMembers" request specified a Dart file that has
2738 ranges of text are deleted from the old file content overlay and 3962 scan or parse errors.
2739 replaced with new text. 3963 </p>
2740 </p> 3964 </dd><dt class="value">UNANALYZED_PRIORITY_FILES</dt><dd>
2741 <p> 3965
2742 The edits are applied in the order in which they occur in the list. 3966 <p>
2743 This means that the offset of each edit must be correct under the 3967 An "analysis.setPriorityFiles" request includes one or
2744 assumption that all previous edits have been applied. 3968 more files that are not being analyzed.
2745 </p> 3969 </p>
2746 <p> 3970 <p>
2747 It is an error to use this overlay on a file that does not yet have 3971 This is a legacy error; it will be removed before the
2748 a file content overlay or that has had its overlay removed via 3972 API reaches version 1.0.
2749 <a href="#type_RemoveContentOverlay">RemoveContentOverlay</a>. 3973 </p>
2750 </p> 3974
2751 <p> 3975 </dd><dt class="value">UNKNOWN_REQUEST</dt><dd>
2752 If any of the edits cannot be applied due to its offset or 3976
2753 length being out of range, an INVALID_OVERLAY_CHANGE error 3977 <p>
2754 will be reported. 3978 A request was received which the analysis server does
2755 </p> 3979 not recognize, or cannot handle in its current
2756 3980 configuration.
2757 <dl><dt class="field"><b>type = "change"</b></dt><dd></dd><dt class="field "><b>edits: List&lt;<a href="#type_SourceEdit">SourceEdit</a>&gt;</b></dt><dd> 3981 </p>
2758 3982 </dd><dt class="value">UNKNOWN_SOURCE</dt><dd>
2759 <p> 3983
2760 The edits to be applied to the file. 3984 <p>
2761 </p> 3985 The analysis server was requested to perform an action
2762 </dd></dl></dd><dt class="typeDefinition"><a name="type_CompletionId"> CompletionId: String</a></dt><dd> 3986 on a source that does not exist.
2763 3987 </p>
2764 <p> 3988 </dd><dt class="value">UNSUPPORTED_FEATURE</dt><dd>
2765 An identifier used to associate completion results with a 3989
2766 completion request. 3990 <p>
2767 </p> 3991 The analysis server was requested to perform an action
2768 </dd><dt class="typeDefinition"><a name="type_CompletionSuggestion">Comple tionSuggestion: object</a></dt><dd> 3992 which is not supported.
2769 <p> 3993 </p>
2770 A suggestion for how to complete partially entered text. Many 3994 <p>
2771 of the fields are optional, depending on the kind of element 3995 This is a legacy error; it will be removed before the
2772 being suggested. 3996 API reaches version 1.0.
2773 </p> 3997 </p>
2774 3998
2775 <dl><dt class="field"><b>kind: <a href="#type_CompletionSuggestionKind">Co mpletionSuggestionKind</a></b></dt><dd> 3999 </dd></dl></dd><dt class="typeDefinition"><a name="type_SearchId">SearchId : String</a></dt><dd>
2776 4000
2777 <p> 4001 <p>
2778 The kind of element being suggested. 4002 An identifier used to associate search results with a search
2779 </p> 4003 request.
2780 </dd><dt class="field"><b>relevance: int</b></dt><dd> 4004 </p>
2781 4005 </dd><dt class="typeDefinition"><a name="type_SearchResult">SearchResult: obje ct</a></dt><dd>
2782 <p> 4006 <p>
2783 The relevance of this completion suggestion 4007 A single result from a search request.
2784 where a higher number indicates a higher relevance. 4008 </p>
2785 </p> 4009
2786 </dd><dt class="field"><b>completion: String</b></dt><dd> 4010 <dl><dt class="field"><b>location: <a href="#type_Location">Location</a></b></ dt><dd>
2787 4011
2788 <p> 4012 <p>
2789 The identifier to be inserted if the suggestion is 4013 The location of the code that matched the search criteria.
2790 selected. If the suggestion is for a method or function, 4014 </p>
2791 the client might want to additionally insert a template 4015 </dd><dt class="field"><b>kind: <a href="#type_SearchResultKind">SearchRes ultKind</a></b></dt><dd>
2792 for the parameters. The information required in order to 4016
2793 do so is contained in other fields. 4017 <p>
2794 </p> 4018 The kind of element that was found or the kind of
2795 </dd><dt class="field"><b>selectionOffset: int</b></dt><dd> 4019 reference that was found.
2796 4020 </p>
2797 <p> 4021 </dd><dt class="field"><b>isPotential: bool</b></dt><dd>
2798 The offset, relative to the beginning of the completion, 4022
2799 of where the selection should be placed after insertion. 4023 <p>
2800 </p> 4024 True if the result is a potential match but cannot be
2801 </dd><dt class="field"><b>selectionLength: int</b></dt><dd> 4025 confirmed to be a match. For example, if all references to
2802 4026 a method m defined in some class were requested, and a
2803 <p> 4027 reference to a method m from an unknown class were found,
2804 The number of characters that should be selected after 4028 it would be marked as being a potential match.
2805 insertion. 4029 </p>
2806 </p> 4030 </dd><dt class="field"><b>path: List&lt;<a href="#type_Element">Element</a >&gt;</b></dt><dd>
2807 </dd><dt class="field"><b>isDeprecated: bool</b></dt><dd> 4031
2808 4032 <p>
2809 <p> 4033 The elements that contain the result, starting with the
2810 True if the suggested element is deprecated. 4034 most immediately enclosing ancestor and ending with the
2811 </p> 4035 library.
2812 </dd><dt class="field"><b>isPotential: bool</b></dt><dd> 4036 </p>
2813 4037 </dd></dl></dd><dt class="typeDefinition"><a name="type_SearchResultKind"> SearchResultKind: String</a></dt><dd>
2814 <p> 4038 <p>
2815 True if the element is not known to be valid for the 4039 An enumeration of the kinds of search results returned by the
2816 target. This happens if the type of the target is dynamic. 4040 search domain.
2817 </p> 4041 </p>
2818 </dd><dt class="field"><b>docSummary: String<span style="color:#999999 "> (optional)</span></b></dt><dd> 4042
2819 4043 <dl><dt class="value">DECLARATION</dt><dd>
2820 <p> 4044
2821 An abbreviated version of the Dartdoc associated with the 4045 <p>
2822 element being suggested, This field is omitted if there is 4046 The declaration of an element.
2823 no Dartdoc associated with the element. 4047 </p>
2824 </p> 4048 </dd><dt class="value">INVOCATION</dt><dd>
2825 </dd><dt class="field"><b>docComplete: String<span style="color:#99999 9"> (optional)</span></b></dt><dd> 4049
2826 4050 <p>
2827 <p> 4051 The invocation of a function or method.
2828 The Dartdoc associated with the element being suggested, 4052 </p>
2829 This field is omitted if there is no Dartdoc associated 4053 </dd><dt class="value">READ</dt><dd>
2830 with the element. 4054
2831 </p> 4055 <p>
2832 </dd><dt class="field"><b>declaringType: String<span style="color:#999 999"> (optional)</span></b></dt><dd> 4056 A reference to a field, parameter or variable where it is being read.
2833 4057 </p>
2834 <p> 4058 </dd><dt class="value">READ_WRITE</dt><dd>
2835 The class that declares the element being suggested. This 4059
2836 field is omitted if the suggested element is not a member 4060 <p>
2837 of a class. 4061 A reference to a field, parameter or variable where it is being read
2838 </p> 4062 and written.
2839 </dd><dt class="field"><b>defaultArgumentListString: String<span style ="color:#999999"> (optional)</span></b></dt><dd> 4063 </p>
2840 4064 </dd><dt class="value">REFERENCE</dt><dd>
2841 <p> 4065
2842 A default String for use in generating argument list 4066 <p>
2843 source contents on the client side. 4067 A reference to an element.
2844 </p> 4068 </p>
2845 </dd><dt class="field"><b>defaultArgumentListTextRanges: List&lt;int&g t;<span style="color:#999999"> (optional)</span></b></dt><dd> 4069 </dd><dt class="value">UNKNOWN</dt><dd>
2846 4070
2847 <p> 4071 <p>
2848 Pairs of offsets and lengths describing 'defaultArgumentListString ' 4072 Some other kind of search result.
2849 text ranges suitable for use by clients to set up linked edits of 4073 </p>
2850 default argument source contents. For example, given an argument 4074 </dd><dt class="value">WRITE</dt><dd>
2851 list string 'x, y', the corresponding text range [0, 1, 3, 1], 4075
2852 indicates two text ranges of length 1, starting at offsets 0 and 3 . 4076 <p>
2853 Clients can use these ranges to treat the 'x' and 'y' values 4077 A reference to a field, parameter or variable where it is being
2854 specially for linked edits. 4078 written.
2855 </p> 4079 </p>
2856 </dd><dt class="field"><b>element: <a href="#type_Element">Element</a> <span style="color:#999999"> (optional)</span></b></dt><dd> 4080 </dd></dl></dd><dt class="typeDefinition"><a name="type_ServerService">Ser verService: String</a></dt><dd>
2857 4081 <p>
2858 <p> 4082 An enumeration of the services provided by the server domain.
2859 Information about the element reference being suggested. 4083 </p>
2860 </p> 4084
2861 </dd><dt class="field"><b>returnType: String<span style="color:#999999 "> (optional)</span></b></dt><dd> 4085 <dl><dt class="value">STATUS</dt></dl></dd><dt class="typeDefinition"><a name= "type_SourceChange">SourceChange: object</a></dt><dd>
2862 4086 <p>
2863 <p> 4087 A description of a set of edits that implement a single conceptual change.
2864 The return type of the getter, function or method 4088 </p>
2865 or the type of the field being suggested. 4089
2866 This field is omitted if the suggested element 4090 <dl><dt class="field"><b>message: String</b></dt><dd>
2867 is not a getter, function or method. 4091
2868 </p> 4092 <p>
2869 </dd><dt class="field"><b>parameterNames: List&lt;String&gt;<span styl e="color:#999999"> (optional)</span></b></dt><dd> 4093 A human-readable description of the change to be applied.
2870 4094 </p>
2871 <p> 4095 </dd><dt class="field"><b>edits: List&lt;<a href="#type_SourceFileEdit">So urceFileEdit</a>&gt;</b></dt><dd>
2872 The names of the parameters of the function or method 4096
2873 being suggested. This field is omitted if the suggested 4097 <p>
2874 element is not a setter, function or method. 4098 A list of the edits used to effect the change, grouped by file.
2875 </p> 4099 </p>
2876 </dd><dt class="field"><b>parameterTypes: List&lt;String&gt;<span styl e="color:#999999"> (optional)</span></b></dt><dd> 4100 </dd><dt class="field"><b>linkedEditGroups: List&lt;<a href="#type_LinkedE ditGroup">LinkedEditGroup</a>&gt;</b></dt><dd>
2877 4101
2878 <p> 4102 <p>
2879 The types of the parameters of the function or method 4103 A list of the linked editing groups used to customize the changes that
2880 being suggested. This field is omitted if the 4104 were made.
2881 parameterNames field is omitted. 4105 </p>
2882 </p> 4106 </dd><dt class="field"><b>selection: <a href="#type_Position">Position</a> <span style="color:#999999"> (optional)</span></b></dt><dd>
2883 </dd><dt class="field"><b>requiredParameterCount: int<span style="colo r:#999999"> (optional)</span></b></dt><dd> 4107
2884 4108 <p>
2885 <p> 4109 The position that should be selected after the edits have been
2886 The number of required parameters for the function or 4110 applied.
2887 method being suggested. This field is omitted if the 4111 </p>
2888 parameterNames field is omitted. 4112 </dd></dl></dd><dt class="typeDefinition"><a name="type_SourceEdit">Source Edit: object</a></dt><dd>
2889 </p> 4113 <p>
2890 </dd><dt class="field"><b>hasNamedParameters: bool<span style="color:# 999999"> (optional)</span></b></dt><dd> 4114 A description of a single change to a single file.
2891 4115 </p>
2892 <p> 4116
2893 True if the function or method being suggested has at 4117 <dl><dt class="field"><b>offset: int</b></dt><dd>
2894 least one named parameter. This field is omitted if the 4118
2895 parameterNames field is omitted. 4119 <p>
2896 </p> 4120 The offset of the region to be modified.
2897 </dd><dt class="field"><b>parameterName: String<span style="color:#999 999"> (optional)</span></b></dt><dd> 4121 </p>
2898 4122 </dd><dt class="field"><b>length: int</b></dt><dd>
2899 <p> 4123
2900 The name of the optional parameter being suggested. This 4124 <p>
2901 field is omitted if the suggestion is not the addition of 4125 The length of the region to be modified.
2902 an optional argument within an argument list. 4126 </p>
2903 </p> 4127 </dd><dt class="field"><b>replacement: String</b></dt><dd>
2904 </dd><dt class="field"><b>parameterType: String<span style="color:#999 999"> (optional)</span></b></dt><dd> 4128
2905 4129 <p>
2906 <p> 4130 The code that is to replace the specified region in the original code.
2907 The type of the options parameter being suggested. This 4131 </p>
2908 field is omitted if the parameterName field is omitted. 4132 </dd><dt class="field"><b>id: String<span style="color:#999999"> (optional )</span></b></dt><dd>
2909 </p> 4133
2910 </dd><dt class="field"><b>importUri: String<span style="color:#999999" > (optional)</span></b></dt><dd> 4134 <p>
2911 4135 An identifier that uniquely identifies this source edit from other
2912 <p> 4136 edits in the same response. This field is omitted unless a containing
2913 The import to be added if the suggestion is out of scope 4137 structure needs to be able to identify the edit for some reason.
2914 and needs an import to be added to be in scope. 4138 </p>
2915 </p> 4139 <p>
2916 </dd></dl></dd><dt class="typeDefinition"><a name="type_CompletionSugg estionKind">CompletionSuggestionKind: String</a></dt><dd> 4140 For example, some refactoring operations can produce edits that might
2917 <p> 4141 not be appropriate (referred to as potential edits). Such edits will
2918 An enumeration of the kinds of elements that can be included 4142 have an id so that they can be referenced. Edits in the same response
2919 in a completion suggestion. 4143 that do not need to be referenced will not have an id.
2920 </p> 4144 </p>
2921 4145 </dd></dl></dd><dt class="typeDefinition"><a name="type_SourceFileEdit">So urceFileEdit: object</a></dt><dd>
2922 <dl><dt class="value">ARGUMENT_LIST</dt><dd> 4146 <p>
2923 4147 A description of a set of changes to a single file.
2924 <p> 4148 </p>
2925 A list of arguments for the method or function that is being invok ed. 4149
2926 For this suggestion kind, the completion field is a textual repres entation 4150 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></dt>< dd>
2927 of the invocation and the parameterNames, parameterTypes, and requ iredParameterCount 4151
2928 attributes are defined. 4152 <p>
2929 </p> 4153 The file containing the code to be modified.
2930 </dd><dt class="value">IMPORT</dt><dt class="value">IDENTIFIER</dt><dd > 4154 </p>
2931 4155 </dd><dt class="field"><b>fileStamp: long</b></dt><dd>
2932 <p> 4156
2933 The element identifier should be inserted at the completion locati on. 4157 <p>
2934 For example "someMethod" in import 'myLib.dart' show someMethod; . 4158 The modification stamp of the file at the moment when the change was
2935 For suggestions of this kind, the element attribute is defined 4159 created, in milliseconds since the "Unix epoch". Will be -1 if the
2936 and the completion field is the element's identifier. 4160 file did not exist and should be created. The client may use this
2937 </p> 4161 field to make sure that the file was not changed since then, so it is
2938 </dd><dt class="value">INVOCATION</dt><dd> 4162 safe to apply the change.
2939 4163 </p>
2940 <p> 4164 </dd><dt class="field"><b>edits: List&lt;<a href="#type_SourceEdit">Source Edit</a>&gt;</b></dt><dd>
2941 The element is being invoked at the completion location. 4165
2942 For example, "someMethod" in x.someMethod(); . 4166 <p>
2943 For suggestions of this kind, the element attribute is defined 4167 A list of the edits used to effect the change.
2944 and the completion field is the element's identifier. 4168 </p>
2945 </p> 4169 </dd></dl></dd><dt class="typeDefinition"><a name="type_TypeHierarchyItem" >TypeHierarchyItem: object</a></dt><dd>
2946 </dd><dt class="value">KEYWORD</dt><dd> 4170 <p>
2947 4171 A representation of a class in a type hierarchy.
2948 <p> 4172 </p>
2949 A keyword is being suggested. 4173
2950 For suggestions of this kind, the completion is the keyword. 4174 <dl><dt class="field"><b>classElement: <a href="#type_Element">Element</a></b> </dt><dd>
2951 </p> 4175
2952 </dd><dt class="value">NAMED_ARGUMENT</dt><dd> 4176 <p>
2953 4177 The class element represented by this item.
2954 <p> 4178 </p>
2955 A named argument for the current callsite is being suggested. 4179 </dd><dt class="field"><b>displayName: String<span style="color:#999999"> (optional)</span></b></dt><dd>
2956 For suggestions of this kind, the completion is 4180
2957 the named argument identifier including a trailing ':' and space. 4181 <p>
2958 </p> 4182 The name to be displayed for the class. This field will be
2959 </dd><dt class="value">OPTIONAL_ARGUMENT</dt><dt class="value">PARAMET ER</dt></dl></dd><dt class="typeDefinition"><a name="type_ContextData">ContextDa ta: object</a></dt><dd> 4183 omitted if the display name is the same as the name of the
2960 <p> 4184 element. The display name is different if there is
2961 Information about an analysis context. 4185 additional type information to be displayed, such as type
2962 </p> 4186 arguments.
2963 4187 </p>
2964 <dl><dt class="field"><b>name: String</b></dt><dd> 4188 </dd><dt class="field"><b>memberElement: <a href="#type_Element">Element</ a><span style="color:#999999"> (optional)</span></b></dt><dd>
2965 4189
2966 <p> 4190 <p>
2967 The name of the context. 4191 The member in the class corresponding to the member on
2968 </p> 4192 which the hierarchy was requested. This field will be
2969 </dd><dt class="field"><b>explicitFileCount: int</b></dt><dd> 4193 omitted if the hierarchy was not requested for a member or
2970 4194 if the class does not have a corresponding member.
2971 <p> 4195 </p>
2972 Explicitly analyzed files. 4196 </dd><dt class="field"><b>superclass: int<span style="color:#999999"> (opt ional)</span></b></dt><dd>
2973 </p> 4197
2974 </dd><dt class="field"><b>implicitFileCount: int</b></dt><dd> 4198 <p>
2975 4199 The index of the item representing the superclass of
2976 <p> 4200 this class. This field will be omitted if this item
2977 Implicitly analyzed files. 4201 represents the class Object.
2978 </p> 4202 </p>
2979 </dd><dt class="field"><b>workItemQueueLength: int</b></dt><dd> 4203 </dd><dt class="field"><b>interfaces: List&lt;int&gt;</b></dt><dd>
2980 4204
2981 <p> 4205 <p>
2982 The number of work items in the queue. 4206 The indexes of the items representing the interfaces
2983 </p> 4207 implemented by this class. The list will be empty if
2984 </dd><dt class="field"><b>cacheEntryExceptions: List&lt;String&gt;</b> </dt><dd> 4208 there are no implemented interfaces.
2985 4209 </p>
2986 <p> 4210 </dd><dt class="field"><b>mixins: List&lt;int&gt;</b></dt><dd>
2987 Exceptions associated with cache entries. 4211
2988 </p> 4212 <p>
2989 </dd></dl></dd><dt class="typeDefinition"><a name="type_Element">Eleme nt: object</a></dt><dd> 4213 The indexes of the items representing the mixins
2990 <p> 4214 referenced by this class. The list will be empty if
2991 Information about an element (something that can be declared 4215 there are no classes mixed in to this class.
2992 in code). 4216 </p>
2993 </p> 4217 </dd><dt class="field"><b>subclasses: List&lt;int&gt;</b></dt><dd>
2994 4218
2995 <dl><dt class="field"><b>kind: <a href="#type_ElementKind">ElementKind</a> </b></dt><dd> 4219 <p>
2996 4220 The indexes of the items representing the subtypes of
2997 <p> 4221 this class. The list will be empty if there are no
2998 The kind of the element. 4222 subtypes or if this item represents a supertype of the
2999 </p> 4223 pivot type.
3000 </dd><dt class="field"><b>name: String</b></dt><dd> 4224 </p>
3001 4225 </dd></dl></dd></dl>
3002 <p> 4226
3003 The name of the element. This is typically used as the 4227 <h2><a name="refactorings">Refactorings</a></h2>
3004 label in the outline. 4228 <p>
3005 </p> 4229 This section contains additional information for each kind of
3006 </dd><dt class="field"><b>location: <a href="#type_Location">Location< /a><span style="color:#999999"> (optional)</span></b></dt><dd> 4230 refactoring. In addition to a brief description of the
3007 4231 refactoring, there is a specification of the feedback that is
3008 <p> 4232 provided when a refactoring is requested using the
3009 The location of the name in the declaration of the 4233 edit.getRefactoring request (designed to improve the UX)
3010 element. 4234 and the options that may be provided to edit.getRefactoring.
3011 </p> 4235 </p>
3012 </dd><dt class="field"><b>flags: int</b></dt><dd> 4236
3013 4237
3014 <p> 4238
3015 A bit-map containing the following flags: 4239
3016 </p> 4240
3017 <ul> 4241
3018 <li>0x01 - set if the element is explicitly or implicitly abstract </li> 4242
3019 <li>0x02 - set if the element was declared to be ‘const’</li> 4243
3020 <li>0x04 - set if the element was declared to be ‘final’</li> 4244 <dl><dt class="refactoring">CONVERT_GETTER_TO_METHOD</dt><dd>
3021 <li>0x08 - set if the element is a static member of a class or is a top-level function or field</li> 4245 <p>
3022 <li>0x10 - set if the element is private</li> 4246 Convert a getter into a method by removing the keyword get
3023 <li>0x20 - set if the element is deprecated</li> 4247 and adding an empty parameter list.
3024 </ul> 4248 </p>
3025 </dd><dt class="field"><b>parameters: String<span style="color:#999999 "> (optional)</span></b></dt><dd> 4249 <p>
3026 4250 It is an error if the range contains anything other than all
3027 <p> 4251 or part of the name of a single getter.
3028 The parameter list for the element. If the element is not 4252 </p>
3029 a method or function this field will not be defined. If 4253 <h4>Feedback:</h4><p>none</p><h4>Options:</h4><p>none</p></dd><dt class="refac toring">CONVERT_METHOD_TO_GETTER</dt><dd>
3030 the element doesn't have parameters (e.g. getter), this field 4254 <p>
3031 will not be defined. If the element has zero parameters, this 4255 Convert a method into a getter by adding the keyword get and
3032 field will have a value of "()". 4256 removing the parameter list.
3033 </p> 4257 </p>
3034 </dd><dt class="field"><b>returnType: String<span style="color:#999999 "> (optional)</span></b></dt><dd> 4258 <p>
3035 4259 It is an error if the range contains anything other than all
3036 <p> 4260 or part of the name of a single method or if the method has
3037 The return type of the element. If the element is not a 4261 a non-empty parameter list.
3038 method or function this field will not be defined. If the 4262 </p>
3039 element does not have a declared return type, this field 4263 <h4>Feedback:</h4><p>none</p><h4>Options:</h4><p>none</p></dd><dt class="refac toring">EXTRACT_LOCAL_VARIABLE</dt><dd>
3040 will contain an empty string. 4264 <p>
3041 </p> 4265 Create a local variable initialized by the expression that covers
3042 </dd><dt class="field"><b>typeParameters: String<span style="color:#99 9999"> (optional)</span></b></dt><dd> 4266 the specified selection.
3043 4267 </p>
3044 <p> 4268 <p>
3045 The type parameter list for the element. If the element doesn't 4269 It is an error if the selection range is not covered by a
3046 have type parameters, this field will not be defined. 4270 complete expression.
3047 </p> 4271 </p>
3048 </dd></dl></dd><dt class="typeDefinition"><a name="type_ElementKind">E lementKind: String</a></dt><dd> 4272
3049 <p> 4273
3050 An enumeration of the kinds of elements. 4274 <h4>Feedback:</h4><dl><dt class="field"><b>coveringExpressionOffsets: List&lt; int&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
3051 </p> 4275
3052 4276 <p>
3053 <dl><dt class="value">CLASS</dt><dt class="value">CLASS_TYPE_ALIAS</dt><dt class="value">COMPILATION_UNIT</dt><dt class="value">CONSTRUCTOR</dt><dt class= "value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt ><dt class="value">FILE</dt><dt class="value">FUNCTION</dt><dt class="value">FUN CTION_TYPE_ALIAS</dt><dt class="value">GETTER</dt><dt class="value">LABEL</dt><d t class="value">LIBRARY</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="valu e">METHOD</dt><dt class="value">PARAMETER</dt><dt class="value">PREFIX</dt><dt c lass="value">SETTER</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="valu e">TYPE_PARAMETER</dt><dt class="value deprecated">UNIT_TEST_GROUP</dt><dd> 4277 The offsets of the expressions that cover the specified
3054 4278 selection, from the down most to the up most.
3055 <p><b>Deprecated:</b> support for tests was removed.</p> 4279 </p>
3056 </dd><dt class="value deprecated">UNIT_TEST_TEST</dt><dd> 4280 </dd><dt class="field"><b>coveringExpressionLengths: List&lt;int&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
3057 4281
3058 <p><b>Deprecated:</b> support for tests was removed.</p> 4282 <p>
3059 </dd><dt class="value">UNKNOWN</dt></dl></dd><dt class="typeDefinition "><a name="type_ExecutableFile">ExecutableFile: object</a></dt><dd> 4283 The lengths of the expressions that cover the specified
3060 <p> 4284 selection, from the down most to the up most.
3061 A description of an executable file. 4285 </p>
3062 </p> 4286 </dd><dt class="field"><b>names: List&lt;String&gt;</b></dt><dd>
3063 4287
3064 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></ dt><dd> 4288 <p>
3065 4289 The proposed names for the local variable.
3066 <p> 4290 </p>
3067 The path of the executable file. 4291 </dd><dt class="field"><b>offsets: List&lt;int&gt;</b></dt><dd>
3068 </p> 4292
3069 </dd><dt class="field"><b>kind: <a href="#type_ExecutableKind">Executa bleKind</a></b></dt><dd> 4293 <p>
3070 4294 The offsets of the expressions that would be replaced by
3071 <p> 4295 a reference to the variable.
3072 The kind of the executable file. 4296 </p>
3073 </p> 4297 </dd><dt class="field"><b>lengths: List&lt;int&gt;</b></dt><dd>
3074 </dd></dl></dd><dt class="typeDefinition"><a name="type_ExecutableKind ">ExecutableKind: String</a></dt><dd> 4298
3075 <p> 4299 <p>
3076 An enumeration of the kinds of executable files. 4300 The lengths of the expressions that would be replaced by
3077 </p> 4301 a reference to the variable. The lengths correspond to
3078 4302 the offsets. In other words, for a given expression, if
3079 <dl><dt class="value">CLIENT</dt><dt class="value">EITHER</dt><dt class="v alue">NOT_EXECUTABLE</dt><dt class="value">SERVER</dt></dl></dd><dt class="typeD efinition"><a name="type_ExecutionContextId">ExecutionContextId: String</a></dt> <dd> 4303 the offset of that expression is <tt>offsets[i]</tt>, then
3080 4304 the length of that expression is <tt>lengths[i]</tt>.
3081 <p> 4305 </p>
3082 The identifier for a execution context. 4306 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>name: String</b></dt>< dd>
3083 </p> 4307
3084 </dd><dt class="typeDefinition"><a name="type_ExecutionService">ExecutionS ervice: String</a></dt><dd> 4308 <p>
3085 <p> 4309 The name that the local variable should be given.
3086 An enumeration of the services provided by the execution 4310 </p>
3087 domain. 4311 </dd><dt class="field"><b>extractAll: bool</b></dt><dd>
3088 </p> 4312
3089 4313 <p>
3090 <dl><dt class="value">LAUNCH_DATA</dt></dl></dd><dt class="typeDefinition" ><a name="type_FileKind">FileKind: String</a></dt><dd> 4314 True if all occurrences of the expression within the
3091 <p> 4315 scope in which the variable will be defined should be
3092 An enumeration of the kinds of files. 4316 replaced by a reference to the local variable. The
3093 </p> 4317 expression used to initiate the refactoring will always
3094 4318 be replaced.
3095 <dl><dt class="value">LIBRARY</dt><dt class="value">PART</dt></dl></dd><dt class="typeDefinition"><a name="type_FilePath">FilePath: String</a></dt><dd> 4319 </p>
3096 4320 </dd></dl></dd><dt class="refactoring">EXTRACT_METHOD</dt><dd>
3097 <p> 4321 <p>
3098 The absolute, normalized path of a file. 4322 Create a method whose body is the specified expression or
3099 </p> 4323 list of statements, possibly augmented with a return
3100 <p> 4324 statement.
3101 If the format of a file path in a request is not valid, e.g. the 4325 </p>
3102 path is not absolute or is not normalized, then an error of type 4326 <p>
3103 <tt>INVALID_FILE_PATH_FORMAT</tt> will be generated. 4327 It is an error if the range contains anything other than a
3104 </p> 4328 complete expression (no partial expressions are allowed) or
3105 </dd><dt class="typeDefinition"><a name="type_FoldingKind">FoldingKind: St ring</a></dt><dd> 4329 a complete sequence of statements.
3106 <p> 4330 </p>
3107 An enumeration of the kinds of folding regions. 4331
3108 </p> 4332
3109 4333 <h4>Feedback:</h4><dl><dt class="field"><b>offset: int</b></dt><dd>
3110 <dl><dt class="value">COMMENT</dt><dt class="value">CLASS_MEMBER</dt><dt c lass="value">DIRECTIVES</dt><dt class="value">DOCUMENTATION_COMMENT</dt><dt clas s="value">TOP_LEVEL_DECLARATION</dt></dl></dd><dt class="typeDefinition"><a name ="type_FoldingRegion">FoldingRegion: object</a></dt><dd> 4334
3111 <p> 4335 <p>
3112 A description of a region that can be folded. 4336 The offset to the beginning of the expression or
3113 </p> 4337 statements that will be extracted.
3114 4338 </p>
3115 <dl><dt class="field"><b>kind: <a href="#type_FoldingKind">FoldingKind</a> </b></dt><dd> 4339 </dd><dt class="field"><b>length: int</b></dt><dd>
3116 4340
3117 <p> 4341 <p>
3118 The kind of the region. 4342 The length of the expression or statements that will be
3119 </p> 4343 extracted.
3120 </dd><dt class="field"><b>offset: int</b></dt><dd> 4344 </p>
3121 4345 </dd><dt class="field"><b>returnType: String</b></dt><dd>
3122 <p> 4346
3123 The offset of the region to be folded. 4347 <p>
3124 </p> 4348 The proposed return type for the method.
3125 </dd><dt class="field"><b>length: int</b></dt><dd> 4349 If the returned element does not have a declared return type,
3126 4350 this field will contain an empty string.
3127 <p> 4351 </p>
3128 The length of the region to be folded. 4352 </dd><dt class="field"><b>names: List&lt;String&gt;</b></dt><dd>
3129 </p> 4353
3130 </dd></dl></dd><dt class="typeDefinition"><a name="type_GeneralAnalysi sService">GeneralAnalysisService: String</a></dt><dd> 4354 <p>
3131 <p> 4355 The proposed names for the method.
3132 An enumeration of the services provided by the analysis domain that ar e 4356 </p>
3133 general in nature (that is, are not specific to some list of files). 4357 </dd><dt class="field"><b>canCreateGetter: bool</b></dt><dd>
3134 </p> 4358
3135 4359 <p>
3136 <dl><dt class="value">ANALYZED_FILES</dt></dl></dd><dt class="typeDefiniti on"><a name="type_HighlightRegion">HighlightRegion: object</a></dt><dd> 4360 True if a getter could be created rather than a method.
3137 <p> 4361 </p>
3138 A description of a region that could have special highlighting 4362 </dd><dt class="field"><b>parameters: List&lt;<a href="#type_RefactoringMe thodParameter">RefactoringMethodParameter</a>&gt;</b></dt><dd>
3139 associated with it. 4363
3140 </p> 4364 <p>
3141 4365 The proposed parameters for the method.
3142 <dl><dt class="field"><b>type: <a href="#type_HighlightRegionType">Highlig htRegionType</a></b></dt><dd> 4366 </p>
3143 4367 </dd><dt class="field"><b>offsets: List&lt;int&gt;</b></dt><dd>
3144 <p> 4368
3145 The type of highlight associated with the region. 4369 <p>
3146 </p> 4370 The offsets of the expressions or statements that would
3147 </dd><dt class="field"><b>offset: int</b></dt><dd> 4371 be replaced by an invocation of the method.
3148 4372 </p>
3149 <p> 4373 </dd><dt class="field"><b>lengths: List&lt;int&gt;</b></dt><dd>
3150 The offset of the region to be highlighted. 4374
3151 </p> 4375 <p>
3152 </dd><dt class="field"><b>length: int</b></dt><dd> 4376 The lengths of the expressions or statements that would
3153 4377 be replaced by an invocation of the method. The lengths
3154 <p> 4378 correspond to the offsets. In other words, for a given
3155 The length of the region to be highlighted. 4379 expression (or block of statements), if the offset of
3156 </p> 4380 that expression is <tt>offsets[i]</tt>, then the length
3157 </dd></dl></dd><dt class="typeDefinition"><a name="type_HighlightRegio nType">HighlightRegionType: String</a></dt><dd> 4381 of that expression is <tt>lengths[i]</tt>.
3158 <p> 4382 </p>
3159 An enumeration of the kinds of highlighting that can be 4383 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>returnType: String</b> </dt><dd>
3160 applied to files. 4384
3161 </p> 4385 <p>
3162 4386 The return type that should be defined for the method.
3163 <dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt cl ass="value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMM ENT_DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value ">CONSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE </dt><dd> 4387 </p>
3164 4388 </dd><dt class="field"><b>createGetter: bool</b></dt><dd>
3165 <p>Only for version 1 of highlight.</p> 4389
3166 </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dd> 4390 <p>
3167 4391 True if a getter should be created rather than a
3168 <p>Only for version 2 of highlight.</p> 4392 method. It is an error if this field is true and the
3169 </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dd> 4393 list of parameters is non-empty.
3170 4394 </p>
3171 <p>Only for version 2 of highlight.</p> 4395 </dd><dt class="field"><b>name: String</b></dt><dd>
3172 </dd><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dd> 4396
3173 4397 <p>
3174 <p>Only for version 2 of highlight.</p> 4398 The name that the method should be given.
3175 </dd><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dd> 4399 </p>
3176 4400 </dd><dt class="field"><b>parameters: List&lt;<a href="#type_RefactoringMe thodParameter">RefactoringMethodParameter</a>&gt;</b></dt><dd>
3177 <p>Only for version 2 of highlight.</p> 4401
3178 </dd><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><d t class="value">FIELD</dt><dd> 4402 <p>
3179 4403 The parameters that should be defined for the method.
3180 <p>Only for version 1 of highlight.</p> 4404 </p>
3181 </dd><dt class="value">FIELD_STATIC</dt><dd> 4405 <p>
3182 4406 It is an error if a REQUIRED or NAMED parameter follows a
3183 <p>Only for version 1 of highlight.</p> 4407 POSITIONAL parameter.
3184 </dd><dt class="value">FUNCTION</dt><dd> 4408 It is an error if a REQUIRED or POSITIONAL parameter follows a
3185 4409 NAMED parameter.
3186 <p>Only for version 1 of highlight.</p> 4410 </p>
3187 </dd><dt class="value">FUNCTION_DECLARATION</dt><dd> 4411 <ul>
3188 4412 <li>
3189 <p>Only for version 1 of highlight.</p> 4413 To change the order and/or update proposed parameters, add
3190 </dd><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTE R_DECLARATION</dt><dd> 4414 parameters with the same identifiers as proposed.
3191 4415 </li>
3192 <p>Only for version 1 of highlight.</p> 4416 <li>To add new parameters, omit their identifier.</li>
3193 </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT _PREFIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dd> 4417 <li>To remove some parameters, omit them in this list.</li>
3194 4418 </ul>
3195 <p>Only for version 2 of highlight.</p> 4419 </dd><dt class="field"><b>extractAll: bool</b></dt><dd>
3196 </dd><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dd> 4420
3197 4421 <p>
3198 <p>Only for version 2 of highlight.</p> 4422 True if all occurrences of the expression or statements
3199 </dd><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dd> 4423 should be replaced by an invocation of the method. The
3200 4424 expression or statements used to initiate the
3201 <p>Only for version 2 of highlight.</p> 4425 refactoring will always be replaced.
3202 </dd><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dd> 4426 </p>
3203 4427 </dd></dl></dd><dt class="refactoring">INLINE_LOCAL_VARIABLE</dt><dd>
3204 <p>Only for version 2 of highlight.</p> 4428 <p>
3205 </dd><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dd> 4429 Inline the initializer expression of a local variable in
3206 4430 place of any references to that variable.
3207 <p>Only for version 2 of highlight.</p> 4431 </p>
3208 </dd><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dd> 4432 <p>
3209 4433 It is an error if the range contains anything other than all
3210 <p>Only for version 2 of highlight.</p> 4434 or part of the name of a single local variable.
3211 </dd><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dd> 4435 </p>
3212 4436
3213 <p>Only for version 2 of highlight.</p> 4437 <h4>Feedback:</h4><dl><dt class="field"><b>name: String</b></dt><dd>
3214 </dd><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dd> 4438
3215 4439 <p>
3216 <p>Only for version 2 of highlight.</p> 4440 The name of the variable being inlined.
3217 </dd><dt class="value">INVALID_STRING_ESCAPE</dt><dd> 4441 </p>
3218 4442 </dd><dt class="field"><b>occurrences: int</b></dt><dd>
3219 <p>Only for version 2 of highlight.</p> 4443
3220 </dd><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt cla ss="value">LIBRARY_NAME</dt><dd> 4444 <p>
3221 4445 The number of times the variable occurs.
3222 <p>Only for version 2 of highlight.</p> 4446 </p>
3223 </dd><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_D OUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</ dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt cl ass="value">LOCAL_FUNCTION_DECLARATION</dt><dd> 4447 </dd></dl><h4>Options:</h4><p>none</p></dd><dt class="refactoring">INLINE_ METHOD</dt><dd>
3224 4448 <p>
3225 <p>Only for version 2 of highlight.</p> 4449 Inline a method in place of one or all references to that
3226 </dd><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dd> 4450 method.
3227 4451 </p>
3228 <p>Only for version 2 of highlight.</p> 4452 <p>
3229 </dd><dt class="value">LOCAL_VARIABLE</dt><dd> 4453 It is an error if the range contains anything other than all
3230 4454 or part of the name of a single method.
3231 <p>Only for version 1 of highlight.</p> 4455 </p>
3232 </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value ">LOCAL_VARIABLE_REFERENCE</dt><dd> 4456
3233 4457
3234 <p>Only for version 2 of highlight.</p> 4458 <h4>Feedback:</h4><dl><dt class="field"><b>className: String<span style="color :#999999"> (optional)</span></b></dt><dd>
3235 </dd><dt class="value">METHOD</dt><dd> 4459
3236 4460 <p>
3237 <p>Only for version 1 of highlight.</p> 4461 The name of the class enclosing the method being inlined.
3238 </dd><dt class="value">METHOD_DECLARATION</dt><dd> 4462 If not a class member is being inlined, this field will be absent.
3239 4463 </p>
3240 <p>Only for version 1 of highlight.</p> 4464 </dd><dt class="field"><b>methodName: String</b></dt><dd>
3241 </dd><dt class="value">METHOD_DECLARATION_STATIC</dt><dd> 4465
3242 4466 <p>
3243 <p>Only for version 1 of highlight.</p> 4467 The name of the method (or function) being inlined.
3244 </dd><dt class="value">METHOD_STATIC</dt><dd> 4468 </p>
3245 4469 </dd><dt class="field"><b>isDeclaration: bool</b></dt><dd>
3246 <p>Only for version 1 of highlight.</p> 4470
3247 </dd><dt class="value">PARAMETER</dt><dd> 4471 <p>
3248 4472 True if the declaration of the method is selected.
3249 <p>Only for version 1 of highlight.</p> 4473 So all references should be inlined.
3250 </dd><dt class="value">SETTER_DECLARATION</dt><dd> 4474 </p>
3251 4475 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>deleteSource: bool</b> </dt><dd>
3252 <p>Only for version 1 of highlight.</p> 4476
3253 </dd><dt class="value">TOP_LEVEL_VARIABLE</dt><dd> 4477 <p>
3254 4478 True if the method being inlined should be removed.
3255 <p>Only for version 1 of highlight.</p> 4479 It is an error if this field is true and inlineAll is false.
3256 </dd><dt class="value">PARAMETER_DECLARATION</dt><dd> 4480 </p>
3257 4481 </dd><dt class="field"><b>inlineAll: bool</b></dt><dd>
3258 <p>Only for version 2 of highlight.</p> 4482
3259 </dd><dt class="value">PARAMETER_REFERENCE</dt><dd> 4483 <p>
3260 4484 True if all invocations of the method should be inlined,
3261 <p>Only for version 2 of highlight.</p> 4485 or false if only the invocation site used to create this
3262 </dd><dt class="value">STATIC_FIELD_DECLARATION</dt><dd> 4486 refactoring should be inlined.
3263 4487 </p>
3264 <p>Only for version 2 of highlight.</p> 4488 </dd></dl></dd><dt class="refactoring">MOVE_FILE</dt><dd>
3265 </dd><dt class="value">STATIC_GETTER_DECLARATION</dt><dd> 4489 <p>
3266 4490 Move the given file and update all of the references to that file
3267 <p>Only for version 2 of highlight.</p> 4491 and from it. The move operation is supported in general case - for
3268 </dd><dt class="value">STATIC_GETTER_REFERENCE</dt><dd> 4492 renaming a file in the same folder, moving it to a different folder
3269 4493 or both.
3270 <p>Only for version 2 of highlight.</p> 4494 </p>
3271 </dd><dt class="value">STATIC_METHOD_DECLARATION</dt><dd> 4495 <p>
3272 4496 The refactoring must be activated before an actual file moving
3273 <p>Only for version 2 of highlight.</p> 4497 operation is performed.
3274 </dd><dt class="value">STATIC_METHOD_REFERENCE</dt><dd> 4498 </p>
3275 4499 <p>
3276 <p>Only for version 2 of highlight.</p> 4500 The "offset" and "length" fields from the request are ignored, but the
3277 </dd><dt class="value">STATIC_SETTER_DECLARATION</dt><dd> 4501 file specified in the request specifies the file to be moved.
3278 4502 </p>
3279 <p>Only for version 2 of highlight.</p> 4503
3280 </dd><dt class="value">STATIC_SETTER_REFERENCE</dt><dd> 4504 <h4>Feedback:</h4><p>none</p><h4>Options:</h4><dl><dt class="field"><b>newFile : <a href="#type_FilePath">FilePath</a></b></dt><dd>
3281 4505
3282 <p>Only for version 2 of highlight.</p> 4506 <p>
3283 </dd><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dd> 4507 The new file path to which the given file is being moved.
3284 4508 </p>
3285 <p>Only for version 2 of highlight.</p> 4509 </dd></dl></dd><dt class="refactoring">RENAME</dt><dd>
3286 </dd><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dd> 4510 <p>
3287 4511 Rename a given element and all of the references to that
3288 <p>Only for version 2 of highlight.</p> 4512 element.
3289 </dd><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dd> 4513 </p>
3290 4514 <p>
3291 <p>Only for version 2 of highlight.</p> 4515 It is an error if the range contains anything other than all
3292 </dd><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dd> 4516 or part of the name of a single function (including methods,
3293 4517 getters and setters), variable (including fields, parameters
3294 <p>Only for version 2 of highlight.</p> 4518 and local variables), class or function type.
3295 </dd><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dd> 4519 </p>
3296 4520
3297 <p>Only for version 2 of highlight.</p> 4521
3298 </dd><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dd> 4522 <h4>Feedback:</h4><dl><dt class="field"><b>offset: int</b></dt><dd>
3299 4523
3300 <p>Only for version 2 of highlight.</p> 4524 <p>
3301 </dd><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dd> 4525 The offset to the beginning of the name selected to be
3302 4526 renamed.
3303 <p>Only for version 2 of highlight.</p> 4527 </p>
3304 </dd><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PA RAMETER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dd> 4528 </dd><dt class="field"><b>length: int</b></dt><dd>
3305 4529
3306 <p>Only for version 2 of highlight.</p> 4530 <p>
3307 </dd><dt class="value">VALID_STRING_ESCAPE</dt><dd> 4531 The length of the name selected to be renamed.
3308 4532 </p>
3309 <p>Only for version 2 of highlight.</p> 4533 </dd><dt class="field"><b>elementKindName: String</b></dt><dd>
3310 </dd></dl></dd><dt class="typeDefinition"><a name="type_HoverInformati on">HoverInformation: object</a></dt><dd> 4534
3311 <p> 4535 <p>
3312 The hover information associated with a specific location. 4536 The human-readable description of the kind of element being
3313 </p> 4537 renamed (such as "class" or "function type
3314 4538 alias").
3315 <dl><dt class="field"><b>offset: int</b></dt><dd> 4539 </p>
3316 4540 </dd><dt class="field"><b>oldName: String</b></dt><dd>
3317 <p> 4541
3318 The offset of the range of characters that encompasses the 4542 <p>
3319 cursor position and has the same hover information as the 4543 The old name of the element before the refactoring.
3320 cursor position. 4544 </p>
3321 </p> 4545 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>newName: String</b></d t><dd>
3322 </dd><dt class="field"><b>length: int</b></dt><dd> 4546
3323 4547 <p>
3324 <p> 4548 The name that the element should have after the
3325 The length of the range of characters that encompasses the 4549 refactoring.
3326 cursor position and has the same hover information as the 4550 </p>
3327 cursor position. 4551 </dd></dl></dd></dl>
3328 </p> 4552 <h2>Errors</h2>
3329 </dd><dt class="field"><b>containingLibraryPath: String<span style="co lor:#999999"> (optional)</span></b></dt><dd> 4553 <p>
3330 4554 This section contains a list of all of the errors that are
3331 <p> 4555 produced by the server and the data that is returned with each.
3332 The path to the defining compilation unit of the library 4556 </p>
3333 in which the referenced element is declared. This data is 4557 <p>
3334 omitted if there is no referenced element, or if the 4558 TODO: TBD
3335 element is declared inside an HTML file. 4559 </p>
3336 </p> 4560 <h2 class="domain"><a name="index">Index</a></h2>
3337 </dd><dt class="field"><b>containingLibraryName: String<span style="co lor:#999999"> (optional)</span></b></dt><dd> 4561 <h3>Domains</h3><h4>server (<a href="#domain_server">↑</a>)</h4><div class="subi ndex"><h5>Requests</h5><ul><li><a href="#request_server.getVersion">getVersion</ a></li><li><a href="#request_server.shutdown">shutdown</a></li><li><a href="#req uest_server.setSubscriptions">setSubscriptions</a></li></ul><h5>Notifications</h 5><div class="subindex"><ul><li><a href="#notification_server.connected">connect ed</a></li><li><a href="#notification_server.error">error</a></li><li><a href="# notification_server.status">status</a></li></ul></div></div><h4>analysis (<a hre f="#domain_analysis">↑</a>)</h4><div class="subindex"><h5>Requests</h5><ul><li>< a href="#request_analysis.getErrors">getErrors</a></li><li><a href="#request_ana lysis.getHover">getHover</a></li><li><a href="#request_analysis.getReachableSour ces">getReachableSources</a></li><li><a href="#request_analysis.getLibraryDepend encies">getLibraryDependencies</a></li><li><a href="#request_analysis.getNavigat ion">getNavigation</a></li><li><a href="#request_analysis.reanalyze">reanalyze</ a></li><li><a href="#request_analysis.setAnalysisRoots">setAnalysisRoots</a></li ><li><a href="#request_analysis.setGeneralSubscriptions">setGeneralSubscriptions </a></li><li><a href="#request_analysis.setPriorityFiles">setPriorityFiles</a></ li><li><a href="#request_analysis.setSubscriptions">setSubscriptions</a></li><li ><a href="#request_analysis.updateContent">updateContent</a></li><li><a href="#r equest_analysis.updateOptions">updateOptions</a></li></ul><h5>Notifications</h5> <div class="subindex"><ul><li><a href="#notification_analysis.analyzedFiles">ana lyzedFiles</a></li><li><a href="#notification_analysis.errors">errors</a></li><l i><a href="#notification_analysis.flushResults">flushResults</a></li><li><a href ="#notification_analysis.folding">folding</a></li><li><a href="#notification_ana lysis.highlights">highlights</a></li><li><a href="#notification_analysis.impleme nted">implemented</a></li><li><a href="#notification_analysis.invalidate">invali date</a></li><li><a href="#notification_analysis.navigation">navigation</a></li> <li><a href="#notification_analysis.occurrences">occurrences</a></li><li><a href ="#notification_analysis.outline">outline</a></li><li><a href="#notification_ana lysis.overrides">overrides</a></li></ul></div></div><h4>completion (<a href="#do main_completion">↑</a>)</h4><div class="subindex"><h5>Requests</h5><ul><li><a hr ef="#request_completion.getSuggestions">getSuggestions</a></li></ul><h5>Notifica tions</h5><div class="subindex"><ul><li><a href="#notification_completion.result s">results</a></li></ul></div></div><h4>search (<a href="#domain_search">↑</a>)< /h4><div class="subindex"><h5>Requests</h5><ul><li><a href="#request_search.find ElementReferences">findElementReferences</a></li><li><a href="#request_search.fi ndMemberDeclarations">findMemberDeclarations</a></li><li><a href="#request_searc h.findMemberReferences">findMemberReferences</a></li><li><a href="#request_searc h.findTopLevelDeclarations">findTopLevelDeclarations</a></li><li><a href="#reque st_search.getTypeHierarchy">getTypeHierarchy</a></li></ul><h5>Notifications</h5> <div class="subindex"><ul><li><a href="#notification_search.results">results</a> </li></ul></div></div><h4>edit (<a href="#domain_edit">↑</a>)</h4><div class="su bindex"><h5>Requests</h5><ul><li><a href="#request_edit.format">format</a></li>< li><a href="#request_edit.getAssists">getAssists</a></li><li><a href="#request_e dit.getAvailableRefactorings">getAvailableRefactorings</a></li><li><a href="#req uest_edit.getFixes">getFixes</a></li><li><a href="#request_edit.getRefactoring"> getRefactoring</a></li><li><a href="#request_edit.sortMembers">sortMembers</a></ li><li><a href="#request_edit.organizeDirectives">organizeDirectives</a></li></u l></div><h4>execution (<a href="#domain_execution">↑</a>)</h4><div class="subind ex"><h5>Requests</h5><ul><li><a href="#request_execution.createContext">createCo ntext</a></li><li><a href="#request_execution.deleteContext">deleteContext</a></ li><li><a href="#request_execution.mapUri">mapUri</a></li><li><a href="#request_ execution.setSubscriptions">setSubscriptions</a></li></ul><h5>Notifications</h5> <div class="subindex"><ul><li><a href="#notification_execution.launchData">launc hData</a></li></ul></div></div><h4>diagnostic (<a href="#domain_diagnostic">↑</a >)</h4><div class="subindex"><h5>Requests</h5><ul><li><a href="#request_diagnost ic.getDiagnostics">getDiagnostics</a></li><li><a href="#request_diagnostic.getSe rverPort">getServerPort</a></li></ul></div><h3>Types (<a href="#types">↑</a>)</h 3><div class="subindex"><ul><li><a href="#type_AddContentOverlay">AddContentOver lay</a></li><li><a href="#type_AnalysisError">AnalysisError</a></li><li><a href= "#type_AnalysisErrorFixes">AnalysisErrorFixes</a></li><li><a href="#type_Analysi sErrorSeverity">AnalysisErrorSeverity</a></li><li><a href="#type_AnalysisErrorTy pe">AnalysisErrorType</a></li><li><a href="#type_AnalysisOptions">AnalysisOption s</a></li><li><a href="#type_AnalysisService">AnalysisService</a></li><li><a hre f="#type_AnalysisStatus">AnalysisStatus</a></li><li><a href="#type_ChangeContent Overlay">ChangeContentOverlay</a></li><li><a href="#type_CompletionId">Completio nId</a></li><li><a href="#type_CompletionSuggestion">CompletionSuggestion</a></l i><li><a href="#type_CompletionSuggestionKind">CompletionSuggestionKind</a></li> <li><a href="#type_ContextData">ContextData</a></li><li><a href="#type_Element"> Element</a></li><li><a href="#type_ElementKind">ElementKind</a></li><li><a href= "#type_ExecutableFile">ExecutableFile</a></li><li><a href="#type_ExecutableKind" >ExecutableKind</a></li><li><a href="#type_ExecutionContextId">ExecutionContextI d</a></li><li><a href="#type_ExecutionService">ExecutionService</a></li><li><a h ref="#type_FileKind">FileKind</a></li><li><a href="#type_FilePath">FilePath</a>< /li><li><a href="#type_FoldingKind">FoldingKind</a></li><li><a href="#type_Foldi ngRegion">FoldingRegion</a></li><li><a href="#type_GeneralAnalysisService">Gener alAnalysisService</a></li><li><a href="#type_HighlightRegion">HighlightRegion</a ></li><li><a href="#type_HighlightRegionType">HighlightRegionType</a></li><li><a href="#type_HoverInformation">HoverInformation</a></li><li><a href="#type_Imple mentedClass">ImplementedClass</a></li><li><a href="#type_ImplementedMember">Impl ementedMember</a></li><li><a href="#type_LinkedEditGroup">LinkedEditGroup</a></l i><li><a href="#type_LinkedEditSuggestion">LinkedEditSuggestion</a></li><li><a h ref="#type_LinkedEditSuggestionKind">LinkedEditSuggestionKind</a></li><li><a hre f="#type_Location">Location</a></li><li><a href="#type_NavigationRegion">Navigat ionRegion</a></li><li><a href="#type_NavigationTarget">NavigationTarget</a></li> <li><a href="#type_Occurrences">Occurrences</a></li><li><a href="#type_Outline"> Outline</a></li><li><a href="#type_OverriddenMember">OverriddenMember</a></li><l i><a href="#type_Override">Override</a></li><li><a href="#type_Position">Positio n</a></li><li><a href="#type_PubStatus">PubStatus</a></li><li><a href="#type_Ref actoringFeedback">RefactoringFeedback</a></li><li><a href="#type_RefactoringKind ">RefactoringKind</a></li><li><a href="#type_RefactoringMethodParameter">Refacto ringMethodParameter</a></li><li><a href="#type_RefactoringMethodParameterKind">R efactoringMethodParameterKind</a></li><li><a href="#type_RefactoringOptions">Ref actoringOptions</a></li><li><a href="#type_RefactoringProblem">RefactoringProble m</a></li><li><a href="#type_RefactoringProblemSeverity">RefactoringProblemSever ity</a></li><li><a href="#type_RemoveContentOverlay">RemoveContentOverlay</a></l i><li><a href="#type_RequestError">RequestError</a></li><li><a href="#type_Reque stErrorCode">RequestErrorCode</a></li><li><a href="#type_SearchId">SearchId</a>< /li><li><a href="#type_SearchResult">SearchResult</a></li><li><a href="#type_Sea rchResultKind">SearchResultKind</a></li><li><a href="#type_ServerService">Server Service</a></li><li><a href="#type_SourceChange">SourceChange</a></li><li><a hre f="#type_SourceEdit">SourceEdit</a></li><li><a href="#type_SourceFileEdit">Sourc eFileEdit</a></li><li><a href="#type_TypeHierarchyItem">TypeHierarchyItem</a></l i></ul></div><h3>Refactorings (<a href="#refactorings">↑</a>)</h3><div class="su bindex"><ul><li><a href="#refactoring_CONVERT_GETTER_TO_METHOD">CONVERT_GETTER_T O_METHOD</a></li><li><a href="#refactoring_CONVERT_METHOD_TO_GETTER">CONVERT_MET HOD_TO_GETTER</a></li><li><a href="#refactoring_EXTRACT_LOCAL_VARIABLE">EXTRACT_ LOCAL_VARIABLE</a></li><li><a href="#refactoring_EXTRACT_METHOD">EXTRACT_METHOD< /a></li><li><a href="#refactoring_INLINE_LOCAL_VARIABLE">INLINE_LOCAL_VARIABLE</ a></li><li><a href="#refactoring_INLINE_METHOD">INLINE_METHOD</a></li><li><a hre f="#refactoring_MOVE_FILE">MOVE_FILE</a></li><li><a href="#refactoring_RENAME">R ENAME</a></li></ul></div>
3338 4562
3339 <p>
3340 The name of the library in which the referenced element is
3341 declared. This data is omitted if there is no referenced
3342 element, or if the element is declared inside an HTML
3343 file.
3344 </p>
3345 </dd><dt class="field"><b>containingClassDescription: String<span styl e="color:#999999"> (optional)</span></b></dt><dd>
3346
3347 <p>
3348 A human-readable description of the class declaring the element
3349 being referenced. This data is omitted if there is no referenced
3350 element, or if the element is not a class member.
3351 </p>
3352 </dd><dt class="field"><b>dartdoc: String<span style="color:#999999"> (optional)</span></b></dt><dd>
3353
3354 <p>
3355 The dartdoc associated with the referenced element. Other
3356 than the removal of the comment delimiters, including
3357 leading asterisks in the case of a block comment, the
3358 dartdoc is unprocessed markdown. This data is omitted if
3359 there is no referenced element, or if the element has no
3360 dartdoc.
3361 </p>
3362 </dd><dt class="field"><b>elementDescription: String<span style="color :#999999"> (optional)</span></b></dt><dd>
3363
3364 <p>
3365 A human-readable description of the element being
3366 referenced. This data is omitted if there is no referenced
3367 element.
3368 </p>
3369 </dd><dt class="field"><b>elementKind: String<span style="color:#99999 9"> (optional)</span></b></dt><dd>
3370
3371 <p>
3372 A human-readable description of the kind of element being
3373 referenced (such as "class" or "function type
3374 alias"). This data is omitted if there is no referenced
3375 element.
3376 </p>
3377 </dd><dt class="field"><b>isDeprecated: bool<span style="color:#999999 "> (optional)</span></b></dt><dd>
3378
3379 <p>
3380 True if the referenced element is deprecated.
3381 </p>
3382 </dd><dt class="field"><b>parameter: String<span style="color:#999999" > (optional)</span></b></dt><dd>
3383
3384 <p>
3385 A human-readable description of the parameter
3386 corresponding to the expression being hovered over. This
3387 data is omitted if the location is not in an argument to a
3388 function.
3389 </p>
3390 </dd><dt class="field"><b>propagatedType: String<span style="color:#99 9999"> (optional)</span></b></dt><dd>
3391
3392 <p>
3393 The name of the propagated type of the expression. This
3394 data is omitted if the location does not correspond to an
3395 expression or if there is no propagated type information.
3396 </p>
3397 </dd><dt class="field"><b>staticType: String<span style="color:#999999 "> (optional)</span></b></dt><dd>
3398
3399 <p>
3400 The name of the static type of the expression. This data
3401 is omitted if the location does not correspond to an
3402 expression.
3403 </p>
3404 </dd></dl></dd><dt class="typeDefinition"><a name="type_ImplementedCla ss">ImplementedClass: object</a></dt><dd>
3405 <p>
3406 A description of a class that is implemented or extended.
3407 </p>
3408
3409 <dl><dt class="field"><b>offset: int</b></dt><dd>
3410
3411 <p>
3412 The offset of the name of the implemented class.
3413 </p>
3414 </dd><dt class="field"><b>length: int</b></dt><dd>
3415
3416 <p>
3417 The length of the name of the implemented class.
3418 </p>
3419 </dd></dl></dd><dt class="typeDefinition"><a name="type_ImplementedMem ber">ImplementedMember: object</a></dt><dd>
3420 <p>
3421 A description of a class member that is implemented or overridden.
3422 </p>
3423
3424 <dl><dt class="field"><b>offset: int</b></dt><dd>
3425
3426 <p>
3427 The offset of the name of the implemented member.
3428 </p>
3429 </dd><dt class="field"><b>length: int</b></dt><dd>
3430
3431 <p>
3432 The length of the name of the implemented member.
3433 </p>
3434 </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditGrou p">LinkedEditGroup: object</a></dt><dd>
3435 <p>
3436 A collection of positions that should be linked (edited
3437 simultaneously) for the purposes of updating code after a
3438 source change. For example, if a set of edits introduced a
3439 new variable name, the group would contain all of the
3440 positions of the variable name so that if the client wanted
3441 to let the user edit the variable name after the operation,
3442 all occurrences of the name could be edited simultaneously.
3443 </p>
3444
3445 <dl><dt class="field"><b>positions: List&lt;<a href="#type_Position">Posit ion</a>&gt;</b></dt><dd>
3446
3447 <p>
3448 The positions of the regions that should be edited
3449 simultaneously.
3450 </p>
3451 </dd><dt class="field"><b>length: int</b></dt><dd>
3452
3453 <p>
3454 The length of the regions that should be edited
3455 simultaneously.
3456 </p>
3457 </dd><dt class="field"><b>suggestions: List&lt;<a href="#type_LinkedEd itSuggestion">LinkedEditSuggestion</a>&gt;</b></dt><dd>
3458
3459 <p>
3460 Pre-computed suggestions for what every region might
3461 want to be changed to.
3462 </p>
3463 </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditSugg estion">LinkedEditSuggestion: object</a></dt><dd>
3464 <p>
3465 A suggestion of a value that could be used to replace all of
3466 the linked edit regions in a LinkedEditGroup.
3467 </p>
3468
3469 <dl><dt class="field"><b>value: String</b></dt><dd>
3470
3471 <p>
3472 The value that could be used to replace all of the linked
3473 edit regions.
3474 </p>
3475 </dd><dt class="field"><b>kind: <a href="#type_LinkedEditSuggestionKin d">LinkedEditSuggestionKind</a></b></dt><dd>
3476
3477 <p>
3478 The kind of value being proposed.
3479 </p>
3480 </dd></dl></dd><dt class="typeDefinition"><a name="type_LinkedEditSugg estionKind">LinkedEditSuggestionKind: String</a></dt><dd>
3481 <p>
3482 An enumeration of the kind of values that can be suggested
3483 for a linked edit.
3484 </p>
3485
3486 <dl><dt class="value">METHOD</dt><dt class="value">PARAMETER</dt><dt class ="value">TYPE</dt><dt class="value">VARIABLE</dt></dl></dd><dt class="typeDefini tion"><a name="type_Location">Location: object</a></dt><dd>
3487 <p>
3488 A location (character range) within a file.
3489 </p>
3490
3491 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></ dt><dd>
3492
3493 <p>
3494 The file containing the range.
3495 </p>
3496 </dd><dt class="field"><b>offset: int</b></dt><dd>
3497
3498 <p>
3499 The offset of the range.
3500 </p>
3501 </dd><dt class="field"><b>length: int</b></dt><dd>
3502
3503 <p>
3504 The length of the range.
3505 </p>
3506 </dd><dt class="field"><b>startLine: int</b></dt><dd>
3507
3508 <p>
3509 The one-based index of the line containing the first
3510 character of the range.
3511 </p>
3512 </dd><dt class="field"><b>startColumn: int</b></dt><dd>
3513
3514 <p>
3515 The one-based index of the column containing the first
3516 character of the range.
3517 </p>
3518 </dd></dl></dd><dt class="typeDefinition"><a name="type_NavigationRegi on">NavigationRegion: object</a></dt><dd>
3519 <p>
3520 A description of a region from which the user can navigate to
3521 the declaration of an element.
3522 </p>
3523
3524 <dl><dt class="field"><b>offset: int</b></dt><dd>
3525
3526 <p>
3527 The offset of the region from which the user can navigate.
3528 </p>
3529 </dd><dt class="field"><b>length: int</b></dt><dd>
3530
3531 <p>
3532 The length of the region from which the user can navigate.
3533 </p>
3534 </dd><dt class="field"><b>targets: List&lt;int&gt;</b></dt><dd>
3535
3536 <p>
3537 The indexes of the targets (in the enclosing navigation response)
3538 to which the given region is bound. By opening the target, clients
3539 can implement one form of navigation. This list cannot be empty.
3540 </p>
3541 </dd></dl></dd><dt class="typeDefinition"><a name="type_NavigationTarg et">NavigationTarget: object</a></dt><dd>
3542 <p>
3543 A description of a target to which the user can navigate.
3544 </p>
3545
3546 <dl><dt class="field"><b>kind: <a href="#type_ElementKind">ElementKind</a> </b></dt><dd>
3547
3548 <p>
3549 The kind of the element.
3550 </p>
3551 </dd><dt class="field"><b>fileIndex: int</b></dt><dd>
3552
3553 <p>
3554 The index of the file (in the enclosing navigation response) to
3555 navigate to.
3556 </p>
3557 </dd><dt class="field"><b>offset: int</b></dt><dd>
3558
3559 <p>
3560 The offset of the region to which the user can navigate.
3561 </p>
3562 </dd><dt class="field"><b>length: int</b></dt><dd>
3563
3564 <p>
3565 The length of the region to which the user can navigate.
3566 </p>
3567 </dd><dt class="field"><b>startLine: int</b></dt><dd>
3568
3569 <p>
3570 The one-based index of the line containing the first
3571 character of the region.
3572 </p>
3573 </dd><dt class="field"><b>startColumn: int</b></dt><dd>
3574
3575 <p>
3576 The one-based index of the column containing the first
3577 character of the region.
3578 </p>
3579 </dd></dl></dd><dt class="typeDefinition"><a name="type_Occurrences">O ccurrences: object</a></dt><dd>
3580 <p>
3581 A description of the references to a single element within a
3582 single file.
3583 </p>
3584
3585 <dl><dt class="field"><b>element: <a href="#type_Element">Element</a></b>< /dt><dd>
3586
3587 <p>
3588 The element that was referenced.
3589 </p>
3590 </dd><dt class="field"><b>offsets: List&lt;int&gt;</b></dt><dd>
3591
3592 <p>
3593 The offsets of the name of the referenced element within
3594 the file.
3595 </p>
3596 </dd><dt class="field"><b>length: int</b></dt><dd>
3597
3598 <p>
3599 The length of the name of the referenced element.
3600 </p>
3601 </dd></dl></dd><dt class="typeDefinition"><a name="type_Outline">Outli ne: object</a></dt><dd>
3602 <p>
3603 An node in the outline structure of a file.
3604 </p>
3605
3606 <dl><dt class="field"><b>element: <a href="#type_Element">Element</a></b>< /dt><dd>
3607
3608 <p>
3609 A description of the element represented by this node.
3610 </p>
3611 </dd><dt class="field"><b>offset: int</b></dt><dd>
3612
3613 <p>
3614 The offset of the first character of the element. This is
3615 different than the offset in the Element, which if the
3616 offset of the name of the element. It can be used, for
3617 example, to map locations in the file back to an outline.
3618 </p>
3619 </dd><dt class="field"><b>length: int</b></dt><dd>
3620
3621 <p>
3622 The length of the element.
3623 </p>
3624 </dd><dt class="field"><b>children: List&lt;<a href="#type_Outline">Ou tline</a>&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
3625
3626 <p>
3627 The children of the node. The field will be omitted if the
3628 node has no children.
3629 </p>
3630 </dd></dl></dd><dt class="typeDefinition"><a name="type_Override">Over ride: object</a></dt><dd>
3631 <p>
3632 A description of a member that overrides an inherited member.
3633 </p>
3634
3635 <dl><dt class="field"><b>offset: int</b></dt><dd>
3636
3637 <p>
3638 The offset of the name of the overriding member.
3639 </p>
3640 </dd><dt class="field"><b>length: int</b></dt><dd>
3641
3642 <p>
3643 The length of the name of the overriding member.
3644 </p>
3645 </dd><dt class="field"><b>superclassMember: <a href="#type_OverriddenM ember">OverriddenMember</a><span style="color:#999999"> (optional)</span></b></d t><dd>
3646
3647 <p>
3648 The member inherited from a superclass that is overridden
3649 by the overriding member. The field is omitted if there is
3650 no superclass member, in which case there must be at least
3651 one interface member.
3652 </p>
3653 </dd><dt class="field"><b>interfaceMembers: List&lt;<a href="#type_Ove rriddenMember">OverriddenMember</a>&gt;<span style="color:#999999"> (optional)</ span></b></dt><dd>
3654
3655 <p>
3656 The members inherited from interfaces that are overridden
3657 by the overriding member. The field is omitted if there
3658 are no interface members, in which case there must be a
3659 superclass member.
3660 </p>
3661 </dd></dl></dd><dt class="typeDefinition"><a name="type_OverriddenMemb er">OverriddenMember: object</a></dt><dd>
3662 <p>
3663 A description of a member that is being overridden.
3664 </p>
3665
3666 <dl><dt class="field"><b>element: <a href="#type_Element">Element</a></b>< /dt><dd>
3667
3668 <p>
3669 The element that is being overridden.
3670 </p>
3671 </dd><dt class="field"><b>className: String</b></dt><dd>
3672
3673 <p>
3674 The name of the class in which the member is defined.
3675 </p>
3676 </dd></dl></dd><dt class="typeDefinition"><a name="type_Position">Posi tion: object</a></dt><dd>
3677 <p>
3678 A position within a file.
3679 </p>
3680
3681 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></ dt><dd>
3682
3683 <p>
3684 The file containing the position.
3685 </p>
3686 </dd><dt class="field"><b>offset: int</b></dt><dd>
3687
3688 <p>
3689 The offset of the position.
3690 </p>
3691 </dd></dl></dd><dt class="typeDefinition"><a name="type_PubStatus">Pub Status: object</a></dt><dd>
3692 <p>
3693 An indication of the current state of pub execution.
3694 </p>
3695
3696 <dl><dt class="field"><b>isListingPackageDirs: bool</b></dt><dd>
3697
3698 <p>
3699 True if the server is currently running pub to produce a list of
3700 package directories.
3701 </p>
3702 </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringKin d">RefactoringKind: String</a></dt><dd>
3703 <p>
3704 An enumeration of the kinds of refactorings that can be
3705 created.
3706 </p>
3707
3708 <dl><dt class="value">CONVERT_GETTER_TO_METHOD</dt><dt class="value">CONVE RT_METHOD_TO_GETTER</dt><dt class="value">EXTRACT_LOCAL_VARIABLE</dt><dt class=" value">EXTRACT_METHOD</dt><dt class="value">INLINE_LOCAL_VARIABLE</dt><dt class= "value">INLINE_METHOD</dt><dt class="value">MOVE_FILE</dt><dt class="value">RENA ME</dt><dt class="value">SORT_MEMBERS</dt></dl></dd><dt class="typeDefinition">< a name="type_RefactoringMethodParameter">RefactoringMethodParameter: object</a>< /dt><dd>
3709 <p>
3710 A description of a parameter in a method refactoring.
3711 </p>
3712
3713 <dl><dt class="field"><b>id: String<span style="color:#999999"> (optional) </span></b></dt><dd>
3714
3715 <p>
3716 The unique identifier of the parameter.
3717 Clients may omit this field for the parameters they want to add.
3718 </p>
3719 </dd><dt class="field"><b>kind: <a href="#type_RefactoringMethodParame terKind">RefactoringMethodParameterKind</a></b></dt><dd>
3720
3721 <p>
3722 The kind of the parameter.
3723 </p>
3724 </dd><dt class="field"><b>type: String</b></dt><dd>
3725
3726 <p>
3727 The type that should be given to the parameter, or the return type
3728 of the parameter's function type.
3729 </p>
3730 </dd><dt class="field"><b>name: String</b></dt><dd>
3731
3732 <p>
3733 The name that should be given to the parameter.
3734 </p>
3735 </dd><dt class="field"><b>parameters: String<span style="color:#999999 "> (optional)</span></b></dt><dd>
3736
3737 <p>
3738 The parameter list of the parameter's function type.
3739 If the parameter is not of a function type, this field will
3740 not be defined. If the function type has zero parameters, this
3741 field will have a value of "()".
3742 </p>
3743 </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringFee dback">RefactoringFeedback: object</a></dt><dd>
3744 <p>
3745 An abstract superclass of all refactoring feedbacks.
3746 </p>
3747
3748 <dl></dl></dd><dt class="typeDefinition"><a name="type_RefactoringOptions" >RefactoringOptions: object</a></dt><dd>
3749 <p>
3750 An abstract superclass of all refactoring options.
3751 </p>
3752
3753 <dl></dl></dd><dt class="typeDefinition"><a name="type_RefactoringMethodPa rameterKind">RefactoringMethodParameterKind: String</a></dt><dd>
3754 <p>
3755 An enumeration of the kinds of parameters.
3756 </p>
3757
3758 <dl><dt class="value">REQUIRED</dt><dt class="value">POSITIONAL</dt><dt cl ass="value">NAMED</dt></dl></dd><dt class="typeDefinition"><a name="type_Refacto ringProblem">RefactoringProblem: object</a></dt><dd>
3759 <p>
3760 A description of a problem related to a refactoring.
3761 </p>
3762
3763 <dl><dt class="field"><b>severity: <a href="#type_RefactoringProblemSeveri ty">RefactoringProblemSeverity</a></b></dt><dd>
3764
3765 <p>
3766 The severity of the problem being represented.
3767 </p>
3768 </dd><dt class="field"><b>message: String</b></dt><dd>
3769
3770 <p>
3771 A human-readable description of the problem being
3772 represented.
3773 </p>
3774 </dd><dt class="field"><b>location: <a href="#type_Location">Location< /a><span style="color:#999999"> (optional)</span></b></dt><dd>
3775
3776 <p>
3777 The location of the problem being represented.
3778 This field is omitted unless there is a specific location
3779 associated with the problem (such as a location where an element
3780 being renamed will be shadowed).
3781 </p>
3782 </dd></dl></dd><dt class="typeDefinition"><a name="type_RefactoringPro blemSeverity">RefactoringProblemSeverity: String</a></dt><dd>
3783 <p>
3784 An enumeration of the severities of problems that can be
3785 returned by the refactoring requests.
3786 </p>
3787
3788 <dl><dt class="value">INFO</dt><dd>
3789
3790 <p>A minor code problem. No example, because it is not used yet.
3791 </p>
3792 </dd><dt class="value">WARNING</dt><dd>
3793
3794 <p>A minor code problem. For example names of local variables
3795 should be camel case and start with a lower case letter. Staring
3796 the name of a variable with an upper case is OK from the language
3797 point of view, but it is nice to warn the user.
3798 </p>
3799 </dd><dt class="value">ERROR</dt><dd>
3800
3801 <p>The refactoring technically can be performed, but there is a
3802 logical problem. For example the name of a local variable being
3803 extracted conflicts with another name in the scope, or
3804 duplicate parameter names in the method being extracted, or
3805 a conflict between a parameter name and a local variable, etc.
3806 In some cases the location of the problem is also provided, so
3807 the IDE can show user the location and the problem, and let the
3808 user decide whether she wants to perform the refactoring. For
3809 example the name conflict might be expected, and the user wants
3810 to fix it afterwards.
3811 </p>
3812 </dd><dt class="value">FATAL</dt><dd>
3813
3814 <p>A fatal error, which prevents performing the refactoring.
3815 For example the name of a local variable being extracted is not a
3816 valid identifier, or selection is not a valid expression.
3817 </p>
3818 </dd></dl></dd><dt class="typeDefinition"><a name="type_RemoveContentO verlay">RemoveContentOverlay: object</a></dt><dd>
3819 <p>
3820 A directive to remove an existing file content overlay.
3821 After processing this directive, the file contents will once
3822 again be read from the file system.
3823 </p>
3824 <p>
3825 If this directive is used on a file that doesn't currently
3826 have a content overlay, it has no effect.
3827 </p>
3828
3829 <dl><dt class="field"><b>type = "remove"</b></dt><dd></dd></dl></dd><dt cl ass="typeDefinition"><a name="type_RequestError">RequestError: object</a></dt><d d>
3830 <p>
3831 An indication of a problem with the execution of the server,
3832 typically in response to a request.
3833 </p>
3834
3835 <dl><dt class="field"><b>code: <a href="#type_RequestErrorCode">RequestErr orCode</a></b></dt><dd>
3836
3837 <p>
3838 A code that uniquely identifies the error that occurred.
3839 </p>
3840 </dd><dt class="field"><b>message: String</b></dt><dd>
3841
3842 <p>
3843 A short description of the error.
3844 </p>
3845 </dd><dt class="field"><b>stackTrace: String<span style="color:#999999 "> (optional)</span></b></dt><dd>
3846
3847 <p>
3848 The stack trace associated with processing the request,
3849 used for debugging the server.
3850 </p>
3851 </dd></dl></dd><dt class="typeDefinition"><a name="type_RequestErrorCo de">RequestErrorCode: String</a></dt><dd>
3852 <p>
3853 An enumeration of the types of errors that can occur in the
3854 execution of the server.
3855 </p>
3856
3857 <dl><dt class="value">CONTENT_MODIFIED</dt><dd>
3858
3859 <p>
3860 An "analysis.getErrors" or "analysis.getNavigation" request could
3861 not be satisfied because the content of the file changed before
3862 the requested results could be computed.
3863 </p>
3864 </dd><dt class="value">DEBUG_PORT_COULD_NOT_BE_OPENED</dt><dd>
3865
3866 <p>
3867 The server was unable to open a port for the diagnostic server.
3868 </p>
3869 </dd><dt class="value">FILE_NOT_ANALYZED</dt><dd>
3870
3871 <p>
3872 A request specified a FilePath which does not match a file in
3873 an analysis root, or the requested operation is not available
3874 for the file.
3875 </p>
3876 </dd><dt class="value">FORMAT_INVALID_FILE</dt><dd>
3877
3878 <p>
3879 An "edit.format" request specified a FilePath
3880 which does not match a Dart file in an analysis root.
3881 </p>
3882 </dd><dt class="value">FORMAT_WITH_ERRORS</dt><dd>
3883
3884 <p>
3885 An "edit.format" request specified a file that contains syntax
3886 errors.
3887 </p>
3888 </dd><dt class="value">GET_ERRORS_INVALID_FILE</dt><dd>
3889
3890 <p>
3891 An "analysis.getErrors" request specified a FilePath
3892 which does not match a file currently subject to
3893 analysis.
3894 </p>
3895 </dd><dt class="value">GET_NAVIGATION_INVALID_FILE</dt><dd>
3896
3897 <p>
3898 An "analysis.getNavigation" request specified a FilePath
3899 which does not match a file currently subject to
3900 analysis.
3901 </p>
3902 </dd><dt class="value">GET_REACHABLE_SOURCES_INVALID_FILE</dt><dd>
3903
3904 <p>
3905 An "analysis.getReachableSources" request specified a FilePath
3906 which does not match a file currently subject to
3907 analysis.
3908 </p>
3909 </dd><dt class="value">INVALID_ANALYSIS_ROOT</dt><dd>
3910
3911 <p>
3912 A path passed as an argument to a request (such as
3913 analysis.reanalyze) is required to be an analysis root, but isn't.
3914 </p>
3915 </dd><dt class="value">INVALID_EXECUTION_CONTEXT</dt><dd>
3916
3917 <p>
3918 The context root used to create an execution context does not
3919 exist.
3920 </p>
3921 </dd><dt class="value">INVALID_FILE_PATH_FORMAT</dt><dd>
3922
3923 <p>
3924 The format of the given file path is invalid, e.g. is not
3925 absolute and normalized.
3926 </p>
3927 </dd><dt class="value">INVALID_OVERLAY_CHANGE</dt><dd>
3928
3929 <p>
3930 An "analysis.updateContent" request contained a
3931 ChangeContentOverlay object which can't be applied, due
3932 to an edit having an offset or length that is out of
3933 range.
3934 </p>
3935 </dd><dt class="value">INVALID_PARAMETER</dt><dd>
3936
3937 <p>
3938 One of the method parameters was invalid.
3939 </p>
3940 </dd><dt class="value">INVALID_REQUEST</dt><dd>
3941
3942 <p>
3943 A malformed request was received.
3944 </p>
3945 </dd><dt class="value">ORGANIZE_DIRECTIVES_ERROR</dt><dd>
3946
3947 <p>
3948 An "edit.organizeDirectives" request specified a Dart file that
3949 cannot be analyzed. The reason is described in the message.
3950 </p>
3951 </dd><dt class="value">REFACTORING_REQUEST_CANCELLED</dt><dd>
3952
3953 <p>
3954 Another refactoring request was received during processing of
3955 this one.
3956 </p>
3957 </dd><dt class="value">SERVER_ALREADY_STARTED</dt><dd>
3958
3959 <p>
3960 The analysis server has already been started (and hence
3961 won't accept new connections).
3962 </p>
3963 <p>
3964 This error is included for future expansion; at present
3965 the analysis server can only speak to one client at a
3966 time so this error will never occur.
3967 </p>
3968 </dd><dt class="value">SERVER_ERROR</dt><dd>
3969
3970 <p>
3971 An internal error occurred in the analysis server.
3972 Also see the server.error notification.
3973 </p>
3974 </dd><dt class="value">SORT_MEMBERS_INVALID_FILE</dt><dd>
3975
3976 <p>
3977 An "edit.sortMembers" request specified a FilePath
3978 which does not match a Dart file in an analysis root.
3979 </p>
3980 </dd><dt class="value">SORT_MEMBERS_PARSE_ERRORS</dt><dd>
3981
3982 <p>
3983 An "edit.sortMembers" request specified a Dart file that has
3984 scan or parse errors.
3985 </p>
3986 </dd><dt class="value">UNANALYZED_PRIORITY_FILES</dt><dd>
3987
3988 <p>
3989 An "analysis.setPriorityFiles" request includes one or
3990 more files that are not being analyzed.
3991 </p>
3992 <p>
3993 This is a legacy error; it will be removed before the
3994 API reaches version 1.0.
3995 </p>
3996
3997 </dd><dt class="value">UNKNOWN_REQUEST</dt><dd>
3998
3999 <p>
4000 A request was received which the analysis server does
4001 not recognize, or cannot handle in its current
4002 configuration.
4003 </p>
4004 </dd><dt class="value">UNKNOWN_SOURCE</dt><dd>
4005
4006 <p>
4007 The analysis server was requested to perform an action
4008 on a source that does not exist.
4009 </p>
4010 </dd><dt class="value">UNSUPPORTED_FEATURE</dt><dd>
4011
4012 <p>
4013 The analysis server was requested to perform an action
4014 which is not supported.
4015 </p>
4016 <p>
4017 This is a legacy error; it will be removed before the
4018 API reaches version 1.0.
4019 </p>
4020
4021 </dd></dl></dd><dt class="typeDefinition"><a name="type_SearchId">Sear chId: String</a></dt><dd>
4022
4023 <p>
4024 An identifier used to associate search results with a search
4025 request.
4026 </p>
4027 </dd><dt class="typeDefinition"><a name="type_SearchResult">SearchResult: object</a></dt><dd>
4028 <p>
4029 A single result from a search request.
4030 </p>
4031
4032 <dl><dt class="field"><b>location: <a href="#type_Location">Location</a></ b></dt><dd>
4033
4034 <p>
4035 The location of the code that matched the search criteria.
4036 </p>
4037 </dd><dt class="field"><b>kind: <a href="#type_SearchResultKind">Searc hResultKind</a></b></dt><dd>
4038
4039 <p>
4040 The kind of element that was found or the kind of
4041 reference that was found.
4042 </p>
4043 </dd><dt class="field"><b>isPotential: bool</b></dt><dd>
4044
4045 <p>
4046 True if the result is a potential match but cannot be
4047 confirmed to be a match. For example, if all references to
4048 a method m defined in some class were requested, and a
4049 reference to a method m from an unknown class were found,
4050 it would be marked as being a potential match.
4051 </p>
4052 </dd><dt class="field"><b>path: List&lt;<a href="#type_Element">Elemen t</a>&gt;</b></dt><dd>
4053
4054 <p>
4055 The elements that contain the result, starting with the
4056 most immediately enclosing ancestor and ending with the
4057 library.
4058 </p>
4059 </dd></dl></dd><dt class="typeDefinition"><a name="type_SearchResultKi nd">SearchResultKind: String</a></dt><dd>
4060 <p>
4061 An enumeration of the kinds of search results returned by the
4062 search domain.
4063 </p>
4064
4065 <dl><dt class="value">DECLARATION</dt><dd>
4066
4067 <p>
4068 The declaration of an element.
4069 </p>
4070 </dd><dt class="value">INVOCATION</dt><dd>
4071
4072 <p>
4073 The invocation of a function or method.
4074 </p>
4075 </dd><dt class="value">READ</dt><dd>
4076
4077 <p>
4078 A reference to a field, parameter or variable where it is being re ad.
4079 </p>
4080 </dd><dt class="value">READ_WRITE</dt><dd>
4081
4082 <p>
4083 A reference to a field, parameter or variable where it is being re ad and written.
4084 </p>
4085 </dd><dt class="value">REFERENCE</dt><dd>
4086
4087 <p>
4088 A reference to an element.
4089 </p>
4090 </dd><dt class="value">UNKNOWN</dt><dd>
4091
4092 <p>
4093 Some other kind of search result.
4094 </p>
4095 </dd><dt class="value">WRITE</dt><dd>
4096
4097 <p>
4098 A reference to a field, parameter or variable where it is being wr itten.
4099 </p>
4100 </dd></dl></dd><dt class="typeDefinition"><a name="type_ServerService" >ServerService: String</a></dt><dd>
4101 <p>
4102 An enumeration of the services provided by the server domain.
4103 </p>
4104
4105 <dl><dt class="value">STATUS</dt></dl></dd><dt class="typeDefinition"><a n ame="type_SourceChange">SourceChange: object</a></dt><dd>
4106 <p>
4107 A description of a set of edits that implement a single
4108 conceptual change.
4109 </p>
4110
4111 <dl><dt class="field"><b>message: String</b></dt><dd>
4112
4113 <p>
4114 A human-readable description of the change to be applied.
4115 </p>
4116 </dd><dt class="field"><b>edits: List&lt;<a href="#type_SourceFileEdit ">SourceFileEdit</a>&gt;</b></dt><dd>
4117
4118 <p>
4119 A list of the edits used to effect the change, grouped by
4120 file.
4121 </p>
4122 </dd><dt class="field"><b>linkedEditGroups: List&lt;<a href="#type_Lin kedEditGroup">LinkedEditGroup</a>&gt;</b></dt><dd>
4123
4124 <p>
4125 A list of the linked editing groups used to customize
4126 the changes that were made.
4127 </p>
4128 </dd><dt class="field"><b>selection: <a href="#type_Position">Position </a><span style="color:#999999"> (optional)</span></b></dt><dd>
4129
4130 <p>
4131 The position that should be selected after the edits
4132 have been applied.
4133 </p>
4134 </dd></dl></dd><dt class="typeDefinition"><a name="type_SourceEdit">So urceEdit: object</a></dt><dd>
4135 <p>
4136 A description of a single change to a single file.
4137 </p>
4138
4139 <dl><dt class="field"><b>offset: int</b></dt><dd>
4140
4141 <p>
4142 The offset of the region to be modified.
4143 </p>
4144 </dd><dt class="field"><b>length: int</b></dt><dd>
4145
4146 <p>
4147 The length of the region to be modified.
4148 </p>
4149 </dd><dt class="field"><b>replacement: String</b></dt><dd>
4150
4151 <p>
4152 The code that is to replace the specified region in the
4153 original code.
4154 </p>
4155 </dd><dt class="field"><b>id: String<span style="color:#999999"> (opti onal)</span></b></dt><dd>
4156
4157 <p>
4158 An identifier that uniquely identifies this source edit from other
4159 edits in the same response. This field is omitted unless a
4160 containing structure needs to be able to identify the edit for
4161 some reason.
4162 </p>
4163 <p>
4164 For example, some refactoring operations can produce edits that
4165 might not be appropriate (referred to as potential edits). Such
4166 edits will have an id so that they can be referenced. Edits in
4167 the same response that do not need to be referenced will not have
4168 an id.
4169 </p>
4170 </dd></dl></dd><dt class="typeDefinition"><a name="type_SourceFileEdit ">SourceFileEdit: object</a></dt><dd>
4171 <p>
4172 A description of a set of changes to a single file.
4173 </p>
4174
4175 <dl><dt class="field"><b>file: <a href="#type_FilePath">FilePath</a></b></ dt><dd>
4176
4177 <p>
4178 The file containing the code to be modified.
4179 </p>
4180 </dd><dt class="field"><b>fileStamp: long</b></dt><dd>
4181
4182 <p>
4183 The modification stamp of the file at the moment when the change
4184 was created, in milliseconds since the "Unix epoch". Will be -1 if
4185 the file did not exist and should be created. The client may use
4186 this field to make sure that the file was not changed since then,
4187 so it is safe to apply the change.
4188 </p>
4189 </dd><dt class="field"><b>edits: List&lt;<a href="#type_SourceEdit">So urceEdit</a>&gt;</b></dt><dd>
4190
4191 <p>
4192 A list of the edits used to effect the change.
4193 </p>
4194 </dd></dl></dd><dt class="typeDefinition"><a name="type_TypeHierarchyI tem">TypeHierarchyItem: object</a></dt><dd>
4195 <p>
4196 A representation of a class in a type hierarchy.
4197 </p>
4198
4199 <dl><dt class="field"><b>classElement: <a href="#type_Element">Element</a> </b></dt><dd>
4200
4201 <p>
4202 The class element represented by this item.
4203 </p>
4204 </dd><dt class="field"><b>displayName: String<span style="color:#99999 9"> (optional)</span></b></dt><dd>
4205
4206 <p>
4207 The name to be displayed for the class. This field will be
4208 omitted if the display name is the same as the name of the
4209 element. The display name is different if there is
4210 additional type information to be displayed, such as type
4211 arguments.
4212 </p>
4213 </dd><dt class="field"><b>memberElement: <a href="#type_Element">Eleme nt</a><span style="color:#999999"> (optional)</span></b></dt><dd>
4214
4215 <p>
4216 The member in the class corresponding to the member on
4217 which the hierarchy was requested. This field will be
4218 omitted if the hierarchy was not requested for a member or
4219 if the class does not have a corresponding member.
4220 </p>
4221 </dd><dt class="field"><b>superclass: int<span style="color:#999999"> (optional)</span></b></dt><dd>
4222
4223 <p>
4224 The index of the item representing the superclass of
4225 this class. This field will be omitted if this item
4226 represents the class Object.
4227 </p>
4228 </dd><dt class="field"><b>interfaces: List&lt;int&gt;</b></dt><dd>
4229
4230 <p>
4231 The indexes of the items representing the interfaces
4232 implemented by this class. The list will be empty if
4233 there are no implemented interfaces.
4234 </p>
4235 </dd><dt class="field"><b>mixins: List&lt;int&gt;</b></dt><dd>
4236
4237 <p>
4238 The indexes of the items representing the mixins
4239 referenced by this class. The list will be empty if
4240 there are no classes mixed in to this class.
4241 </p>
4242 </dd><dt class="field"><b>subclasses: List&lt;int&gt;</b></dt><dd>
4243
4244 <p>
4245 The indexes of the items representing the subtypes of
4246 this class. The list will be empty if there are no
4247 subtypes or if this item represents a supertype of the
4248 pivot type.
4249 </p>
4250 </dd></dl></dd></dl>
4251
4252 <h2><a name="refactorings">Refactorings</a></h2>
4253 <p>
4254 This section contains additional information for each kind of
4255 refactoring. In addition to a brief description of the
4256 refactoring, there is a specification of the feedback that is
4257 provided when a refactoring is requested using the
4258 edit.getRefactoring request (designed to improve the UX)
4259 and the options that may be provided to edit.getRefactoring.
4260 </p>
4261
4262
4263
4264
4265
4266
4267
4268
4269 <dl><dt class="refactoring">CONVERT_GETTER_TO_METHOD</dt><dd>
4270 <p>
4271 Convert a getter into a method by removing the keyword get
4272 and adding an empty parameter list.
4273 </p>
4274 <p>
4275 It is an error if the range contains anything other than all
4276 or part of the name of a single getter.
4277 </p>
4278 <h4>Feedback:</h4><p>none</p><h4>Options:</h4><p>none</p></dd><dt class="r efactoring">CONVERT_METHOD_TO_GETTER</dt><dd>
4279 <p>
4280 Convert a method into a getter by adding the keyword get and
4281 removing the parameter list.
4282 </p>
4283 <p>
4284 It is an error if the range contains anything other than all
4285 or part of the name of a single method or if the method has
4286 a non-empty parameter list.
4287 </p>
4288 <h4>Feedback:</h4><p>none</p><h4>Options:</h4><p>none</p></dd><dt class="r efactoring">EXTRACT_LOCAL_VARIABLE</dt><dd>
4289 <p>
4290 Create a local variable initialized by the expression that covers
4291 the specified selection.
4292 </p>
4293 <p>
4294 It is an error if the selection range is not covered by a
4295 complete expression.
4296 </p>
4297
4298
4299 <h4>Feedback:</h4><dl><dt class="field"><b>coveringExpressionOffsets: List &lt;int&gt;<span style="color:#999999"> (optional)</span></b></dt><dd>
4300
4301 <p>
4302 The offsets of the expressions that cover the specified
4303 selection, from the down most to the up most.
4304 </p>
4305 </dd><dt class="field"><b>coveringExpressionLengths: List&lt;int&gt;<s pan style="color:#999999"> (optional)</span></b></dt><dd>
4306
4307 <p>
4308 The lengths of the expressions that cover the specified
4309 selection, from the down most to the up most.
4310 </p>
4311 </dd><dt class="field"><b>names: List&lt;String&gt;</b></dt><dd>
4312
4313 <p>
4314 The proposed names for the local variable.
4315 </p>
4316 </dd><dt class="field"><b>offsets: List&lt;int&gt;</b></dt><dd>
4317
4318 <p>
4319 The offsets of the expressions that would be replaced by
4320 a reference to the variable.
4321 </p>
4322 </dd><dt class="field"><b>lengths: List&lt;int&gt;</b></dt><dd>
4323
4324 <p>
4325 The lengths of the expressions that would be replaced by
4326 a reference to the variable. The lengths correspond to
4327 the offsets. In other words, for a given expression, if
4328 the offset of that expression is <tt>offsets[i]</tt>, then
4329 the length of that expression is <tt>lengths[i]</tt>.
4330 </p>
4331 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>name: String</b></ dt><dd>
4332
4333 <p>
4334 The name that the local variable should be given.
4335 </p>
4336 </dd><dt class="field"><b>extractAll: bool</b></dt><dd>
4337
4338 <p>
4339 True if all occurrences of the expression within the
4340 scope in which the variable will be defined should be
4341 replaced by a reference to the local variable. The
4342 expression used to initiate the refactoring will always
4343 be replaced.
4344 </p>
4345 </dd></dl></dd><dt class="refactoring">EXTRACT_METHOD</dt><dd>
4346 <p>
4347 Create a method whose body is the specified expression or
4348 list of statements, possibly augmented with a return
4349 statement.
4350 </p>
4351 <p>
4352 It is an error if the range contains anything other than a
4353 complete expression (no partial expressions are allowed) or
4354 a complete sequence of statements.
4355 </p>
4356
4357
4358 <h4>Feedback:</h4><dl><dt class="field"><b>offset: int</b></dt><dd>
4359
4360 <p>
4361 The offset to the beginning of the expression or
4362 statements that will be extracted.
4363 </p>
4364 </dd><dt class="field"><b>length: int</b></dt><dd>
4365
4366 <p>
4367 The length of the expression or statements that will be
4368 extracted.
4369 </p>
4370 </dd><dt class="field"><b>returnType: String</b></dt><dd>
4371
4372 <p>
4373 The proposed return type for the method.
4374 If the returned element does not have a declared return type,
4375 this field will contain an empty string.
4376 </p>
4377 </dd><dt class="field"><b>names: List&lt;String&gt;</b></dt><dd>
4378
4379 <p>
4380 The proposed names for the method.
4381 </p>
4382 </dd><dt class="field"><b>canCreateGetter: bool</b></dt><dd>
4383
4384 <p>
4385 True if a getter could be created rather than a method.
4386 </p>
4387 </dd><dt class="field"><b>parameters: List&lt;<a href="#type_Refactori ngMethodParameter">RefactoringMethodParameter</a>&gt;</b></dt><dd>
4388
4389 <p>
4390 The proposed parameters for the method.
4391 </p>
4392 </dd><dt class="field"><b>offsets: List&lt;int&gt;</b></dt><dd>
4393
4394 <p>
4395 The offsets of the expressions or statements that would
4396 be replaced by an invocation of the method.
4397 </p>
4398 </dd><dt class="field"><b>lengths: List&lt;int&gt;</b></dt><dd>
4399
4400 <p>
4401 The lengths of the expressions or statements that would
4402 be replaced by an invocation of the method. The lengths
4403 correspond to the offsets. In other words, for a given
4404 expression (or block of statements), if the offset of
4405 that expression is <tt>offsets[i]</tt>, then the length
4406 of that expression is <tt>lengths[i]</tt>.
4407 </p>
4408 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>returnType: String </b></dt><dd>
4409
4410 <p>
4411 The return type that should be defined for the method.
4412 </p>
4413 </dd><dt class="field"><b>createGetter: bool</b></dt><dd>
4414
4415 <p>
4416 True if a getter should be created rather than a
4417 method. It is an error if this field is true and the
4418 list of parameters is non-empty.
4419 </p>
4420 </dd><dt class="field"><b>name: String</b></dt><dd>
4421
4422 <p>
4423 The name that the method should be given.
4424 </p>
4425 </dd><dt class="field"><b>parameters: List&lt;<a href="#type_Refactori ngMethodParameter">RefactoringMethodParameter</a>&gt;</b></dt><dd>
4426
4427 <p>
4428 The parameters that should be defined for the method.
4429 </p>
4430 <p>
4431 It is an error if a REQUIRED or NAMED parameter follows a
4432 POSITIONAL parameter.
4433 It is an error if a REQUIRED or POSITIONAL parameter follows a
4434 NAMED parameter.
4435 </p>
4436 <ul>
4437 <li>
4438 To change the order and/or update proposed parameters, add
4439 parameters with the same identifiers as proposed.
4440 </li>
4441 <li>To add new parameters, omit their identifier.</li>
4442 <li>To remove some parameters, omit them in this list.</li>
4443 </ul>
4444 </dd><dt class="field"><b>extractAll: bool</b></dt><dd>
4445
4446 <p>
4447 True if all occurrences of the expression or statements
4448 should be replaced by an invocation of the method. The
4449 expression or statements used to initiate the
4450 refactoring will always be replaced.
4451 </p>
4452 </dd></dl></dd><dt class="refactoring">INLINE_LOCAL_VARIABLE</dt><dd>
4453 <p>
4454 Inline the initializer expression of a local variable in
4455 place of any references to that variable.
4456 </p>
4457 <p>
4458 It is an error if the range contains anything other than all
4459 or part of the name of a single local variable.
4460 </p>
4461
4462 <h4>Feedback:</h4><dl><dt class="field"><b>name: String</b></dt><dd>
4463
4464 <p>
4465 The name of the variable being inlined.
4466 </p>
4467 </dd><dt class="field"><b>occurrences: int</b></dt><dd>
4468
4469 <p>
4470 The number of times the variable occurs.
4471 </p>
4472 </dd></dl><h4>Options:</h4><p>none</p></dd><dt class="refactoring">INL INE_METHOD</dt><dd>
4473 <p>
4474 Inline a method in place of one or all references to that
4475 method.
4476 </p>
4477 <p>
4478 It is an error if the range contains anything other than all
4479 or part of the name of a single method.
4480 </p>
4481
4482
4483 <h4>Feedback:</h4><dl><dt class="field"><b>className: String<span style="c olor:#999999"> (optional)</span></b></dt><dd>
4484
4485 <p>
4486 The name of the class enclosing the method being inlined.
4487 If not a class member is being inlined, this field will be absent.
4488 </p>
4489 </dd><dt class="field"><b>methodName: String</b></dt><dd>
4490
4491 <p>
4492 The name of the method (or function) being inlined.
4493 </p>
4494 </dd><dt class="field"><b>isDeclaration: bool</b></dt><dd>
4495
4496 <p>
4497 True if the declaration of the method is selected.
4498 So all references should be inlined.
4499 </p>
4500 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>deleteSource: bool </b></dt><dd>
4501
4502 <p>
4503 True if the method being inlined should be removed.
4504 It is an error if this field is true and inlineAll is false.
4505 </p>
4506 </dd><dt class="field"><b>inlineAll: bool</b></dt><dd>
4507
4508 <p>
4509 True if all invocations of the method should be inlined,
4510 or false if only the invocation site used to create this
4511 refactoring should be inlined.
4512 </p>
4513 </dd></dl></dd><dt class="refactoring">MOVE_FILE</dt><dd>
4514 <p>
4515 Move the given file and update all of the references to that file
4516 and from it. The move operation is supported in general case - for
4517 renaming a file in the same folder, moving it to a different folder
4518 or both.
4519 </p>
4520 <p>
4521 The refactoring must be activated before an actual file moving
4522 operation is performed.
4523 </p>
4524 <p>
4525 The "offset" and "length" fields from the request are ignored, but the
4526 file specified in the request specifies the file to be moved.
4527 </p>
4528
4529 <h4>Feedback:</h4><p>none</p><h4>Options:</h4><dl><dt class="field"><b>new File: <a href="#type_FilePath">FilePath</a></b></dt><dd>
4530
4531 <p>
4532 The new file path to which the given file is being moved.
4533 </p>
4534 </dd></dl></dd><dt class="refactoring">RENAME</dt><dd>
4535 <p>
4536 Rename a given element and all of the references to that
4537 element.
4538 </p>
4539 <p>
4540 It is an error if the range contains anything other than all
4541 or part of the name of a single function (including methods,
4542 getters and setters), variable (including fields, parameters
4543 and local variables), class or function type.
4544 </p>
4545
4546
4547 <h4>Feedback:</h4><dl><dt class="field"><b>offset: int</b></dt><dd>
4548
4549 <p>
4550 The offset to the beginning of the name selected to be
4551 renamed.
4552 </p>
4553 </dd><dt class="field"><b>length: int</b></dt><dd>
4554
4555 <p>
4556 The length of the name selected to be renamed.
4557 </p>
4558 </dd><dt class="field"><b>elementKindName: String</b></dt><dd>
4559
4560 <p>
4561 The human-readable description of the kind of element being
4562 renamed (such as "class" or "function type
4563 alias").
4564 </p>
4565 </dd><dt class="field"><b>oldName: String</b></dt><dd>
4566
4567 <p>
4568 The old name of the element before the refactoring.
4569 </p>
4570 </dd></dl><h4>Options:</h4><dl><dt class="field"><b>newName: String</b ></dt><dd>
4571
4572 <p>
4573 The name that the element should have after the
4574 refactoring.
4575 </p>
4576 </dd></dl></dd></dl>
4577 <h2>Errors</h2>
4578 <p>
4579 This section contains a list of all of the errors that are
4580 produced by the server and the data that is returned with each.
4581 </p>
4582 <p>
4583 TODO: TBD
4584 </p>
4585 <h2 class="domain"><a name="index">Index</a></h2>
4586 <h3>Domains</h3><h4>server (<a href="#domain_server">↑</a>)</h4><div class=" subindex"><h5>Requests</h5><ul><li><a href="#request_server.getVersion">getVersi on</a></li><li><a href="#request_server.shutdown">shutdown</a></li><li><a href=" #request_server.setSubscriptions">setSubscriptions</a></li></ul><h5>Notification s</h5><div class="subindex"><ul><li><a href="#notification_server.connected">con nected</a></li><li><a href="#notification_server.error">error</a></li><li><a hre f="#notification_server.status">status</a></li></ul></div></div><h4>analysis (<a href="#domain_analysis">↑</a>)</h4><div class="subindex"><h5>Requests</h5><ul>< li><a href="#request_analysis.getErrors">getErrors</a></li><li><a href="#request _analysis.getHover">getHover</a></li><li><a href="#request_analysis.getReachable Sources">getReachableSources</a></li><li><a href="#request_analysis.getLibraryDe pendencies">getLibraryDependencies</a></li><li><a href="#request_analysis.getNav igation">getNavigation</a></li><li><a href="#request_analysis.reanalyze">reanaly ze</a></li><li><a href="#request_analysis.setAnalysisRoots">setAnalysisRoots</a> </li><li><a href="#request_analysis.setGeneralSubscriptions">setGeneralSubscript ions</a></li><li><a href="#request_analysis.setPriorityFiles">setPriorityFiles</ a></li><li><a href="#request_analysis.setSubscriptions">setSubscriptions</a></li ><li><a href="#request_analysis.updateContent">updateContent</a></li><li><a href ="#request_analysis.updateOptions">updateOptions</a></li></ul><h5>Notifications< /h5><div class="subindex"><ul><li><a href="#notification_analysis.analyzedFiles" >analyzedFiles</a></li><li><a href="#notification_analysis.errors">errors</a></l i><li><a href="#notification_analysis.flushResults">flushResults</a></li><li><a href="#notification_analysis.folding">folding</a></li><li><a href="#notification _analysis.highlights">highlights</a></li><li><a href="#notification_analysis.imp lemented">implemented</a></li><li><a href="#notification_analysis.invalidate">in validate</a></li><li><a href="#notification_analysis.navigation">navigation</a>< /li><li><a href="#notification_analysis.occurrences">occurrences</a></li><li><a href="#notification_analysis.outline">outline</a></li><li><a href="#notification _analysis.overrides">overrides</a></li></ul></div></div><h4>completion (<a href= "#domain_completion">↑</a>)</h4><div class="subindex"><h5>Requests</h5><ul><li>< a href="#request_completion.getSuggestions">getSuggestions</a></li></ul><h5>Noti fications</h5><div class="subindex"><ul><li><a href="#notification_completion.re sults">results</a></li></ul></div></div><h4>search (<a href="#domain_search">↑</ a>)</h4><div class="subindex"><h5>Requests</h5><ul><li><a href="#request_search. findElementReferences">findElementReferences</a></li><li><a href="#request_searc h.findMemberDeclarations">findMemberDeclarations</a></li><li><a href="#request_s earch.findMemberReferences">findMemberReferences</a></li><li><a href="#request_s earch.findTopLevelDeclarations">findTopLevelDeclarations</a></li><li><a href="#r equest_search.getTypeHierarchy">getTypeHierarchy</a></li></ul><h5>Notifications< /h5><div class="subindex"><ul><li><a href="#notification_search.results">results </a></li></ul></div></div><h4>edit (<a href="#domain_edit">↑</a>)</h4><div class ="subindex"><h5>Requests</h5><ul><li><a href="#request_edit.format">format</a></ li><li><a href="#request_edit.getAssists">getAssists</a></li><li><a href="#reque st_edit.getAvailableRefactorings">getAvailableRefactorings</a></li><li><a href=" #request_edit.getFixes">getFixes</a></li><li><a href="#request_edit.getRefactori ng">getRefactoring</a></li><li><a href="#request_edit.sortMembers">sortMembers</ a></li><li><a href="#request_edit.organizeDirectives">organizeDirectives</a></li ></ul></div><h4>execution (<a href="#domain_execution">↑</a>)</h4><div class="su bindex"><h5>Requests</h5><ul><li><a href="#request_execution.createContext">crea teContext</a></li><li><a href="#request_execution.deleteContext">deleteContext</ a></li><li><a href="#request_execution.mapUri">mapUri</a></li><li><a href="#requ est_execution.setSubscriptions">setSubscriptions</a></li></ul><h5>Notifications< /h5><div class="subindex"><ul><li><a href="#notification_execution.launchData">l aunchData</a></li></ul></div></div><h4>diagnostic (<a href="#domain_diagnostic"> ↑</a>)</h4><div class="subindex"><h5>Requests</h5><ul><li><a href="#request_diag nostic.getDiagnostics">getDiagnostics</a></li><li><a href="#request_diagnostic.g etServerPort">getServerPort</a></li></ul></div><h3>Types (<a href="#types">↑</a> )</h3><div class="subindex"><ul><li><a href="#type_AddContentOverlay">AddContent Overlay</a></li><li><a href="#type_AnalysisError">AnalysisError</a></li><li><a h ref="#type_AnalysisErrorFixes">AnalysisErrorFixes</a></li><li><a href="#type_Ana lysisErrorSeverity">AnalysisErrorSeverity</a></li><li><a href="#type_AnalysisErr orType">AnalysisErrorType</a></li><li><a href="#type_AnalysisOptions">AnalysisOp tions</a></li><li><a href="#type_AnalysisService">AnalysisService</a></li><li><a href="#type_AnalysisStatus">AnalysisStatus</a></li><li><a href="#type_ChangeCon tentOverlay">ChangeContentOverlay</a></li><li><a href="#type_CompletionId">Compl etionId</a></li><li><a href="#type_CompletionSuggestion">CompletionSuggestion</a ></li><li><a href="#type_CompletionSuggestionKind">CompletionSuggestionKind</a>< /li><li><a href="#type_ContextData">ContextData</a></li><li><a href="#type_Eleme nt">Element</a></li><li><a href="#type_ElementKind">ElementKind</a></li><li><a h ref="#type_ExecutableFile">ExecutableFile</a></li><li><a href="#type_ExecutableK ind">ExecutableKind</a></li><li><a href="#type_ExecutionContextId">ExecutionCont extId</a></li><li><a href="#type_ExecutionService">ExecutionService</a></li><li> <a href="#type_FileKind">FileKind</a></li><li><a href="#type_FilePath">FilePath< /a></li><li><a href="#type_FoldingKind">FoldingKind</a></li><li><a href="#type_F oldingRegion">FoldingRegion</a></li><li><a href="#type_GeneralAnalysisService">G eneralAnalysisService</a></li><li><a href="#type_HighlightRegion">HighlightRegio n</a></li><li><a href="#type_HighlightRegionType">HighlightRegionType</a></li><l i><a href="#type_HoverInformation">HoverInformation</a></li><li><a href="#type_I mplementedClass">ImplementedClass</a></li><li><a href="#type_ImplementedMember"> ImplementedMember</a></li><li><a href="#type_LinkedEditGroup">LinkedEditGroup</a ></li><li><a href="#type_LinkedEditSuggestion">LinkedEditSuggestion</a></li><li> <a href="#type_LinkedEditSuggestionKind">LinkedEditSuggestionKind</a></li><li><a href="#type_Location">Location</a></li><li><a href="#type_NavigationRegion">Nav igationRegion</a></li><li><a href="#type_NavigationTarget">NavigationTarget</a>< /li><li><a href="#type_Occurrences">Occurrences</a></li><li><a href="#type_Outli ne">Outline</a></li><li><a href="#type_Override">Override</a></li><li><a href="# type_OverriddenMember">OverriddenMember</a></li><li><a href="#type_Position">Pos ition</a></li><li><a href="#type_PubStatus">PubStatus</a></li><li><a href="#type _RefactoringKind">RefactoringKind</a></li><li><a href="#type_RefactoringMethodPa rameter">RefactoringMethodParameter</a></li><li><a href="#type_RefactoringFeedba ck">RefactoringFeedback</a></li><li><a href="#type_RefactoringOptions">Refactori ngOptions</a></li><li><a href="#type_RefactoringMethodParameterKind">Refactoring MethodParameterKind</a></li><li><a href="#type_RefactoringProblem">RefactoringPr oblem</a></li><li><a href="#type_RefactoringProblemSeverity">RefactoringProblemS everity</a></li><li><a href="#type_RemoveContentOverlay">RemoveContentOverlay</a ></li><li><a href="#type_RequestError">RequestError</a></li><li><a href="#type_R equestErrorCode">RequestErrorCode</a></li><li><a href="#type_SearchId">SearchId< /a></li><li><a href="#type_SearchResult">SearchResult</a></li><li><a href="#type _SearchResultKind">SearchResultKind</a></li><li><a href="#type_ServerService">Se rverService</a></li><li><a href="#type_SourceChange">SourceChange</a></li><li><a href="#type_SourceEdit">SourceEdit</a></li><li><a href="#type_SourceFileEdit">S ourceFileEdit</a></li><li><a href="#type_TypeHierarchyItem">TypeHierarchyItem</a ></li></ul></div><h3>Refactorings (<a href="#refactorings">↑</a>)</h3><div class ="subindex"><ul><li><a href="#refactoring_CONVERT_GETTER_TO_METHOD">CONVERT_GETT ER_TO_METHOD</a></li><li><a href="#refactoring_CONVERT_METHOD_TO_GETTER">CONVERT _METHOD_TO_GETTER</a></li><li><a href="#refactoring_EXTRACT_LOCAL_VARIABLE">EXTR ACT_LOCAL_VARIABLE</a></li><li><a href="#refactoring_EXTRACT_METHOD">EXTRACT_MET HOD</a></li><li><a href="#refactoring_INLINE_LOCAL_VARIABLE">INLINE_LOCAL_VARIAB LE</a></li><li><a href="#refactoring_INLINE_METHOD">INLINE_METHOD</a></li><li><a href="#refactoring_MOVE_FILE">MOVE_FILE</a></li><li><a href="#refactoring_RENAM E">RENAME</a></li></ul></div>
4587
4588 4563
4589 </body></html> 4564 </body></html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698