| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <meta charset="UTF-8"/> | 3 <meta charset="UTF-8"/> |
| 4 <title>Analysis Server API Specification</title> | 4 <title>Analysis Server API Specification</title> |
| 5 </head> | 5 </head> |
| 6 <body> | 6 <body> |
| 7 <h1>Analysis Server API Specification</h1> | 7 <h1>Analysis Server API Specification</h1> |
| 8 <h1 style="color:#999999">WORKING DRAFT - Version <version>0.3</version></h1
> | 8 <h1 style="color:#999999">WORKING DRAFT - Version <version>0.3</version></h1
> |
| 9 <p> | 9 <p> |
| 10 This document contains a specification of the API provided by | 10 This document contains a specification of the API provided by |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 <request method="getErrors"> | 259 <request method="getErrors"> |
| 260 <p> | 260 <p> |
| 261 Return the errors associated with the given file. If the | 261 Return the errors associated with the given file. If the |
| 262 errors for the given file have not yet been computed, or the | 262 errors for the given file have not yet been computed, or the |
| 263 most recently computed errors for the given file are out of | 263 most recently computed errors for the given file are out of |
| 264 date, then the response for this request will be delayed | 264 date, then the response for this request will be delayed |
| 265 until they have been computed. If some or all of the errors | 265 until they have been computed. If some or all of the errors |
| 266 for the file cannot be computed, then the subset of the | 266 for the file cannot be computed, then the subset of the |
| 267 errors that can be computed will be returned and the | 267 errors that can be computed will be returned and the |
| 268 response will contain an error to indicate why the errors | 268 response will contain an error to indicate why the errors |
| 269 could not be computed. | 269 could not be computed. If the content of the file changes after this |
| 270 request was received but before a response could be sent, then an |
| 271 error of type <tt>CONTENT_MODIFIED</tt> will be generated. |
| 270 </p> | 272 </p> |
| 271 <p> | 273 <p> |
| 272 This request is intended to be used by clients that cannot | 274 This request is intended to be used by clients that cannot |
| 273 asynchronously apply updated error information. Clients that | 275 asynchronously apply updated error information. Clients that |
| 274 <b>can</b> apply error information as it becomes available | 276 <b>can</b> apply error information as it becomes available |
| 275 should use the information provided by the 'analysis.errors' | 277 should use the information provided by the 'analysis.errors' |
| 276 notification. | 278 notification. |
| 277 </p> | 279 </p> |
| 278 <p> | 280 <p> |
| 279 If a request is made for a file which does not exist, or | 281 If a request is made for a file which does not exist, or |
| (...skipping 23 matching lines...) Expand all Loading... |
| 303 <p> | 305 <p> |
| 304 Return the hover information associate with the given | 306 Return the hover information associate with the given |
| 305 location. If some or all of the hover information is not | 307 location. If some or all of the hover information is not |
| 306 available at the time this request is processed the | 308 available at the time this request is processed the |
| 307 information will be omitted from the response. | 309 information will be omitted from the response. |
| 308 </p> | 310 </p> |
| 309 <params> | 311 <params> |
| 310 <field name="file"> | 312 <field name="file"> |
| 311 <ref>FilePath</ref> | 313 <ref>FilePath</ref> |
| 312 <p> | 314 <p> |
| 313 The file in which hover information is being | 315 The file in which hover information is being requested. |
| 314 requested. | |
| 315 </p> | 316 </p> |
| 316 </field> | 317 </field> |
| 317 <field name="offset"> | 318 <field name="offset"> |
| 318 <ref>int</ref> | 319 <ref>int</ref> |
| 319 <p> | 320 <p> |
| 320 The offset for which hover information is being | 321 The offset for which hover information is being requested. |
| 321 requested. | |
| 322 </p> | 322 </p> |
| 323 </field> | 323 </field> |
| 324 </params> | 324 </params> |
| 325 <result> | 325 <result> |
| 326 <field name="hovers"> | 326 <field name="hovers"> |
| 327 <list><ref>HoverInformation</ref></list> | 327 <list><ref>HoverInformation</ref></list> |
| 328 <p> | 328 <p> |
| 329 The hover information associated with the | 329 The hover information associated with the |
| 330 location. The list will be empty if no information | 330 location. The list will be empty if no information |
| 331 could be determined for the location. The list can | 331 could be determined for the location. The list can |
| 332 contain multiple items if the file is being analyzed | 332 contain multiple items if the file is being analyzed |
| 333 in multiple contexts in conflicting ways (such as a | 333 in multiple contexts in conflicting ways (such as a |
| 334 part that is included in multiple libraries). | 334 part that is included in multiple libraries). |
| 335 </p> | 335 </p> |
| 336 </field> | 336 </field> |
| 337 </result> | 337 </result> |
| 338 </request> | 338 </request> |
| 339 <request method="getNavigation"> |
| 340 <p> |
| 341 Return the navigation information associated with the given region of |
| 342 the given file. If the navigation information for the given file has |
| 343 not yet been computed, or the most recently computed navigation |
| 344 information for the given file is out of date, then the response for |
| 345 this request will be delayed until it has been computed. If the |
| 346 content of the file changes after this request was received but before |
| 347 a response could be sent, then an error of type |
| 348 <tt>CONTENT_MODIFIED</tt> will be generated. |
| 349 </p> |
| 350 <p> |
| 351 If a navigation region overlaps (but extends either before or after) |
| 352 the given region of the file it will be included in the result. This |
| 353 means that it is theoretically possible to get the same navigation |
| 354 region in response to multiple requests. Clients can avoid this by |
| 355 always choosing a region that starts at the beginning of a line and |
| 356 ends at the end of a (possibly different) line in the file. |
| 357 </p> |
| 358 <params> |
| 359 <field name="file"> |
| 360 <ref>FilePath</ref> |
| 361 <p> |
| 362 The file in which navigation information is being requested. |
| 363 </p> |
| 364 </field> |
| 365 <field name="offset"> |
| 366 <ref>int</ref> |
| 367 <p> |
| 368 The offset of the region for which navigation information is being |
| 369 requested. |
| 370 </p> |
| 371 </field> |
| 372 <field name="length"> |
| 373 <ref>int</ref> |
| 374 <p> |
| 375 The length of the region for which navigation information is being |
| 376 requested. |
| 377 </p> |
| 378 </field> |
| 379 </params> |
| 380 <result> |
| 381 <field name="files"> |
| 382 <list><ref>FilePath</ref></list> |
| 383 <p> |
| 384 A list of the paths of files that are referenced by the navigation |
| 385 targets. |
| 386 </p> |
| 387 </field> |
| 388 <field name="targets"> |
| 389 <list><ref>NavigationTarget</ref></list> |
| 390 <p> |
| 391 A list of the navigation targets that are referenced by the |
| 392 navigation regions. |
| 393 </p> |
| 394 </field> |
| 395 <field name="regions"> |
| 396 <list><ref>NavigationRegion</ref></list> |
| 397 <p> |
| 398 A list of the navigation regions within the requested region of |
| 399 the file. |
| 400 </p> |
| 401 </field> |
| 402 </result> |
| 403 </request> |
| 339 <request method="reanalyze"> | 404 <request method="reanalyze"> |
| 340 <p> | 405 <p> |
| 341 Force the re-analysis of everything contained in the | 406 Force the re-analysis of everything contained in the |
| 342 existing analysis roots. This will cause all previously | 407 existing analysis roots. This will cause all previously |
| 343 computed analysis results to be discarded and recomputed, | 408 computed analysis results to be discarded and recomputed, |
| 344 and will cause all subscribed notifications to be re-sent. | 409 and will cause all subscribed notifications to be re-sent. |
| 345 </p> | 410 </p> |
| 346 </request> | 411 </request> |
| 347 <request method="setAnalysisRoots"> | 412 <request method="setAnalysisRoots"> |
| 348 <p> | 413 <p> |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 The highlight regions contained in the file. Each | 715 The highlight regions contained in the file. Each |
| 651 highlight region represents a particular syntactic or | 716 highlight region represents a particular syntactic or |
| 652 semantic meaning associated with some range. Note that | 717 semantic meaning associated with some range. Note that |
| 653 the highlight regions that are returned can overlap | 718 the highlight regions that are returned can overlap |
| 654 other highlight regions if there is more than one | 719 other highlight regions if there is more than one |
| 655 meaning associated with a particular region. | 720 meaning associated with a particular region. |
| 656 </p> | 721 </p> |
| 657 </field> | 722 </field> |
| 658 </params> | 723 </params> |
| 659 </notification> | 724 </notification> |
| 725 <notification event="invalidate"> |
| 726 <p> |
| 727 Reports that the navigation information associated with a region of a |
| 728 single file has become invalid and should be re-requested. |
| 729 </p> |
| 730 <p> |
| 731 This notification is not subscribed to by default. Clients can |
| 732 subscribe by including the value <tt>"INVALIDATE"</tt> in the list of |
| 733 services passed in an analysis.setSubscriptions request. |
| 734 </p> |
| 735 <params> |
| 736 <field name="file"> |
| 737 <ref>FilePath</ref> |
| 738 <p> |
| 739 The file whose information has been invalidated. |
| 740 </p> |
| 741 </field> |
| 742 <field name="offset"> |
| 743 <ref>int</ref> |
| 744 <p> |
| 745 The offset of the invalidated region. |
| 746 </p> |
| 747 </field> |
| 748 <field name="length"> |
| 749 <ref>int</ref> |
| 750 <p> |
| 751 The length of the invalidated region. |
| 752 </p> |
| 753 </field> |
| 754 <field name="delta"> |
| 755 <ref>int</ref> |
| 756 <p> |
| 757 The delta to be applied to the offsets in information that follows |
| 758 the invalidated region in order to update it so that it doesn't |
| 759 need to be re-requested. |
| 760 </p> |
| 761 </field> |
| 762 </params> |
| 763 </notification> |
| 660 <notification event="navigation"> | 764 <notification event="navigation"> |
| 661 <p> | 765 <p> |
| 662 Reports the navigation targets associated with a given file. | 766 Reports the navigation targets associated with a given file. |
| 663 </p> | 767 </p> |
| 664 <p> | 768 <p> |
| 665 This notification is not subscribed to by default. Clients | 769 This notification is not subscribed to by default. Clients |
| 666 can subscribe by including the value <tt>"NAVIGATION"</tt> | 770 can subscribe by including the value <tt>"NAVIGATION"</tt> |
| 667 in the list of services passed in an | 771 in the list of services passed in an |
| 668 analysis.setSubscriptions request. | 772 analysis.setSubscriptions request. |
| 669 </p> | 773 </p> |
| (...skipping 995 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1665 </object> | 1769 </object> |
| 1666 </type> | 1770 </type> |
| 1667 <type name="AnalysisService"> | 1771 <type name="AnalysisService"> |
| 1668 <p> | 1772 <p> |
| 1669 An enumeration of the services provided by the analysis | 1773 An enumeration of the services provided by the analysis |
| 1670 domain. | 1774 domain. |
| 1671 </p> | 1775 </p> |
| 1672 <enum> | 1776 <enum> |
| 1673 <value><code>FOLDING</code></value> | 1777 <value><code>FOLDING</code></value> |
| 1674 <value><code>HIGHLIGHTS</code></value> | 1778 <value><code>HIGHLIGHTS</code></value> |
| 1779 <value><code>INVALIDATE</code></value> |
| 1675 <value><code>NAVIGATION</code></value> | 1780 <value><code>NAVIGATION</code></value> |
| 1676 <value><code>OCCURRENCES</code></value> | 1781 <value><code>OCCURRENCES</code></value> |
| 1677 <value><code>OUTLINE</code></value> | 1782 <value><code>OUTLINE</code></value> |
| 1678 <value><code>OVERRIDES</code></value> | 1783 <value><code>OVERRIDES</code></value> |
| 1679 </enum> | 1784 </enum> |
| 1680 </type> | 1785 </type> |
| 1681 <type name="AnalysisStatus"> | 1786 <type name="AnalysisStatus"> |
| 1682 <p> | 1787 <p> |
| 1683 An indication of the current state of analysis. | 1788 An indication of the current state of analysis. |
| 1684 </p> | 1789 </p> |
| (...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2757 </field> | 2862 </field> |
| 2758 </object> | 2863 </object> |
| 2759 </type> | 2864 </type> |
| 2760 <type name="RequestErrorCode"> | 2865 <type name="RequestErrorCode"> |
| 2761 <p> | 2866 <p> |
| 2762 An enumeration of the types of errors that can occur in the | 2867 An enumeration of the types of errors that can occur in the |
| 2763 execution of the server. | 2868 execution of the server. |
| 2764 </p> | 2869 </p> |
| 2765 <enum> | 2870 <enum> |
| 2766 <value> | 2871 <value> |
| 2872 <code>CONTENT_MODIFIED</code> |
| 2873 <p> |
| 2874 An "analysis.getErrors" or "analysis.getNavigation" request could |
| 2875 not be satisfied because the content of the file changed before |
| 2876 the requested results could be computed. |
| 2877 </p> |
| 2878 </value> |
| 2879 <value> |
| 2767 <code>GET_ERRORS_INVALID_FILE</code> | 2880 <code>GET_ERRORS_INVALID_FILE</code> |
| 2768 <p> | 2881 <p> |
| 2769 An "analysis.getErrors" request specified a FilePath | 2882 An "analysis.getErrors" request specified a FilePath |
| 2770 which does not match a file currently subject to | 2883 which does not match a file currently subject to |
| 2771 analysis. | 2884 analysis. |
| 2772 </p> | 2885 </p> |
| 2773 </value> | 2886 </value> |
| 2774 <value> | 2887 <value> |
| 2775 <code>INVALID_OVERLAY_CHANGE</code> | 2888 <code>INVALID_OVERLAY_CHANGE</code> |
| 2776 <p> | 2889 <p> |
| (...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3492 <h2>Errors</h2> | 3605 <h2>Errors</h2> |
| 3493 <p> | 3606 <p> |
| 3494 This section contains a list of all of the errors that are | 3607 This section contains a list of all of the errors that are |
| 3495 produced by the server and the data that is returned with each. | 3608 produced by the server and the data that is returned with each. |
| 3496 </p> | 3609 </p> |
| 3497 <p> | 3610 <p> |
| 3498 TBD | 3611 TBD |
| 3499 </p> | 3612 </p> |
| 3500 </body> | 3613 </body> |
| 3501 </html> | 3614 </html> |
| OLD | NEW |