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

Side by Side Diff: pkg/analyzer_plugin/tool/spec/common_types_spec.html

Issue 2876023003: Allow the common spec types to be in a separate document (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
(Empty)
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="UTF-8"/>
5 <title>Common Types</title>
6 </head>
7 <body>
8 <h1>Common Types</h1>
9 <version>1.0.0</version>
10 <p>
11 This document contains a specification of the types that are common between
12 the analysis server wire protocol and the analysis server plugin wire
13 protocol. While those protocols are versioned, the common types are not
14 versioned separately.
15 </p>
16 <p>
17 When those protocols have identical definitions of a type, the type definition
18 should be removed from the two individual specifications and added to this
19 document. Two definitions of a type are identical if the HTML that defines the
20 types is identical and if all of the types referenced by those two types are
21 identical.
22 </p>
23 <p>
24 When it becomes necessary to change the definition of a common type in one
25 protocol such that the type will no longer be common, that type and any types
26 that reference that type must be removed from this document and added to both
27 of the documents that include this document.
28 </p>
29 <types>
30 <type name="AddContentOverlay">
31 <p>
32 A directive to begin overlaying the contents of a file. The supplied
33 content will be used for analysis in place of the file contents in the
34 filesystem.
35 </p>
36 <p>
37 If this directive is used on a file that already has a file content
38 overlay, the old overlay is discarded and replaced with the new one.
39 </p>
40 <object>
41 <field name="type" value="add">
42 <ref>String</ref>
43 </field>
44 <field name="content">
45 <ref>String</ref>
46 <p>
47 The new content of the file.
48 </p>
49 </field>
50 </object>
51 </type>
52 <type name="AnalysisError">
53 <p>
54 An indication of an error, warning, or hint that was produced by the
55 analysis.
56 </p>
57 <object>
58 <field name="severity">
59 <ref>AnalysisErrorSeverity</ref>
60 <p>
61 The severity of the error.
62 </p>
63 </field>
64 <field name="type">
65 <ref>AnalysisErrorType</ref>
66 <p>
67 The type of the error.
68 </p>
69 </field>
70 <field name="location">
71 <ref>Location</ref>
72 <p>
73 The location associated with the error.
74 </p>
75 </field>
76 <field name="message">
77 <ref>String</ref>
78 <p>
79 The message to be displayed for this error. The message should
80 indicate what is wrong with the code and why it is wrong.
81 </p>
82 </field>
83 <field name="correction" optional="true">
84 <ref>String</ref>
85 <p>
86 The correction message to be displayed for this error. The correction
87 message should indicate how the user can fix the error. The field is
88 omitted if there is no correction message associated with the error
89 code.
90 </p>
91 </field>
92 <field name="code">
93 <ref>String</ref>
94 <p>
95 The name, as a string, of the error code associated with this error.
96 </p>
97 </field>
98 <field name="hasFix" optional="true">
99 <ref>bool</ref>
100 <p>
101 A hint to indicate to interested clients that this error has an
102 associated fix (or fixes). The absence of this field implies there
103 are not known to be fixes. Note that since the operation to calculate
104 whether fixes apply needs to be performant it is possible that
105 complicated tests will be skipped and a false negative returned. For
106 this reason, this attribute should be treated as a "hint". Despite the
107 possibility of false negatives, no false positives should be returned.
108 If a client sees this flag set they can proceed with the confidence
109 that there are in fact associated fixes.
110 </p>
111 </field>
112 </object>
113 </type>
114 <type name="AnalysisErrorSeverity">
115 <p>
116 An enumeration of the possible severities of analysis errors.
117 </p>
118 <enum>
119 <value><code>INFO</code></value>
120 <value><code>WARNING</code></value>
121 <value><code>ERROR</code></value>
122 </enum>
123 </type>
124 <type name="AnalysisErrorType">
125 <p>
126 An enumeration of the possible types of analysis errors.
127 </p>
128 <enum>
129 <value><code>CHECKED_MODE_COMPILE_TIME_ERROR</code></value>
130 <value><code>COMPILE_TIME_ERROR</code></value>
131 <value><code>HINT</code></value>
132 <value><code>LINT</code></value>
133 <value><code>STATIC_TYPE_WARNING</code></value>
134 <value><code>STATIC_WARNING</code></value>
135 <value><code>SYNTACTIC_ERROR</code></value>
136 <value><code>TODO</code></value>
137 </enum>
138 </type>
139 <type name="ChangeContentOverlay">
140 <p>
141 A directive to modify an existing file content overlay. One or more ranges
142 of text are deleted from the old file content overlay and replaced with
143 new text.
144 </p>
145 <p>
146 The edits are applied in the order in which they occur in the list. This
147 means that the offset of each edit must be correct under the assumption
148 that all previous edits have been applied.
149 </p>
150 <p>
151 It is an error to use this overlay on a file that does not yet have a file
152 content overlay or that has had its overlay removed via
153 <a href="#type_RemoveContentOverlay">RemoveContentOverlay</a>.
154 </p>
155 <p>
156 If any of the edits cannot be applied due to its offset or length being
157 out of range, an <tt>INVALID_OVERLAY_CHANGE</tt> error will be reported.
158 </p>
159 <object>
160 <field name="type" value="change">
161 <ref>String</ref>
162 </field>
163 <field name="edits">
164 <list>
165 <ref>SourceEdit</ref>
166 </list>
167 <p>
168 The edits to be applied to the file.
169 </p>
170 </field>
171 </object>
172 </type>
173 <type name="CompletionSuggestion">
174 <p>
175 A suggestion for how to complete partially entered text. Many of the
176 fields are optional, depending on the kind of element being suggested.
177 </p>
178 <object>
179 <field name="kind">
180 <ref>CompletionSuggestionKind</ref>
181 <p>
182 The kind of element being suggested.
183 </p>
184 </field>
185 <field name="relevance">
186 <ref>int</ref>
187 <p>
188 The relevance of this completion suggestion where a higher number
189 indicates a higher relevance.
190 </p>
191 </field>
192 <field name="completion">
193 <ref>String</ref>
194 <p>
195 The identifier to be inserted if the suggestion is selected. If the
196 suggestion is for a method or function, the client might want to
197 additionally insert a template for the parameters. The information
198 required in order to do so is contained in other fields.
199 </p>
200 </field>
201 <field name="selectionOffset">
202 <ref>int</ref>
203 <p>
204 The offset, relative to the beginning of the completion, of where the
205 selection should be placed after insertion.
206 </p>
207 </field>
208 <field name="selectionLength">
209 <ref>int</ref>
210 <p>
211 The number of characters that should be selected after insertion.
212 </p>
213 </field>
214 <field name="isDeprecated">
215 <ref>bool</ref>
216 <p>
217 True if the suggested element is deprecated.
218 </p>
219 </field>
220 <field name="isPotential">
221 <ref>bool</ref>
222 <p>
223 True if the element is not known to be valid for the target. This
224 happens if the type of the target is dynamic.
225 </p>
226 </field>
227 <field name="docSummary" optional="true">
228 <ref>String</ref>
229 <p>
230 An abbreviated version of the Dartdoc associated with the element
231 being suggested, This field is omitted if there is no Dartdoc
232 associated with the element.
233 </p>
234 </field>
235 <field name="docComplete" optional="true">
236 <ref>String</ref>
237 <p>
238 The Dartdoc associated with the element being suggested. This field is
239 omitted if there is no Dartdoc associated with the element.
240 </p>
241 </field>
242 <field name="declaringType" optional="true">
243 <ref>String</ref>
244 <p>
245 The class that declares the element being suggested. This field is
246 omitted if the suggested element is not a member of a class.
247 </p>
248 </field>
249 <field name="defaultArgumentListString" optional="true">
250 <ref>String</ref>
251 <p>
252 A default String for use in generating argument list source contents
253 on the client side.
254 </p>
255 </field>
256 <field name="defaultArgumentListTextRanges" optional="true">
257 <list>
258 <ref>int</ref>
259 </list>
260 <p>
261 Pairs of offsets and lengths describing 'defaultArgumentListString'
262 text ranges suitable for use by clients to set up linked edits of
263 default argument source contents. For example, given an argument list
264 string 'x, y', the corresponding text range [0, 1, 3, 1], indicates
265 two text ranges of length 1, starting at offsets 0 and 3. Clients can
266 use these ranges to treat the 'x' and 'y' values specially for linked
267 edits.
268 </p>
269 </field>
270 <field name="element" optional="true">
271 <ref>Element</ref>
272 <p>
273 Information about the element reference being suggested.
274 </p>
275 </field>
276 <field name="returnType" optional="true">
277 <ref>String</ref>
278 <p>
279 The return type of the getter, function or method or the type of the
280 field being suggested. This field is omitted if the suggested element
281 is not a getter, function or method.
282 </p>
283 </field>
284 <field name="parameterNames" optional="true">
285 <list>
286 <ref>String</ref>
287 </list>
288 <p>
289 The names of the parameters of the function or method being suggested.
290 This field is omitted if the suggested element is not a setter,
291 function or method.
292 </p>
293 </field>
294 <field name="parameterTypes" optional="true">
295 <list>
296 <ref>String</ref>
297 </list>
298 <p>
299 The types of the parameters of the function or method being suggested.
300 This field is omitted if the parameterNames field is omitted.
301 </p>
302 </field>
303 <field name="requiredParameterCount" optional="true">
304 <ref>int</ref>
305 <p>
306 The number of required parameters for the function or method being
307 suggested. This field is omitted if the parameterNames field is
308 omitted.
309 </p>
310 </field>
311 <field name="hasNamedParameters" optional="true">
312 <ref>bool</ref>
313 <p>
314 True if the function or method being suggested has at least one named
315 parameter. This field is omitted if the parameterNames field is
316 omitted.
317 </p>
318 </field>
319 <field name="parameterName" optional="true">
320 <ref>String</ref>
321 <p>
322 The name of the optional parameter being suggested. This field is
323 omitted if the suggestion is not the addition of an optional argument
324 within an argument list.
325 </p>
326 </field>
327 <field name="parameterType" optional="true">
328 <ref>String</ref>
329 <p>
330 The type of the options parameter being suggested. This field is
331 omitted if the parameterName field is omitted.
332 </p>
333 </field>
334 <field name="importUri" optional="true">
335 <ref>String</ref>
336 <p>
337 The import to be added if the suggestion is out of scope and needs
338 an import to be added to be in scope.
339 </p>
340 </field>
341 </object>
342 </type>
343 <type name="CompletionSuggestionKind">
344 <p>
345 An enumeration of the kinds of elements that can be included in a
346 completion suggestion.
347 </p>
348 <enum>
349 <value>
350 <code>ARGUMENT_LIST</code>
351 <p>
352 A list of arguments for the method or function that is being
353 invoked. For this suggestion kind, the completion field is a
354 textual representation of the invocation and the parameterNames,
355 parameterTypes, and requiredParameterCount attributes are defined.
356 </p>
357 </value>
358 <value><code>IMPORT</code></value>
359 <value>
360 <code>IDENTIFIER</code>
361 <p>
362 The element identifier should be inserted at the completion
363 location. For example "someMethod" in <tt>import 'myLib.dart' show
364 someMethod;</tt>. For suggestions of this kind, the element
365 attribute is defined and the completion field is the element's
366 identifier.
367 </p>
368 </value>
369 <value>
370 <code>INVOCATION</code>
371 <p>
372 The element is being invoked at the completion location. For
373 example, 'someMethod' in <tt>x.someMethod();</tt>. For suggestions
374 of this kind, the element attribute is defined and the completion
375 field is the element's identifier.
376 </p>
377 </value>
378 <value>
379 <code>KEYWORD</code>
380 <p>
381 A keyword is being suggested. For suggestions of this kind, the
382 completion is the keyword.
383 </p>
384 </value>
385 <value>
386 <code>NAMED_ARGUMENT</code>
387 <p>
388 A named argument for the current call site is being suggested. For
389 suggestions of this kind, the completion is the named argument
390 identifier including a trailing ':' and a space.
391 </p>
392 </value>
393 <value><code>OPTIONAL_ARGUMENT</code></value>
394 <value><code>PARAMETER</code></value>
395 </enum>
396 </type>
397 <type name="Element">
398 <p>
399 Information about an element (something that can be declared in code).
400 </p>
401 <object>
402 <field name="kind">
403 <ref>ElementKind</ref>
404 <p>
405 The kind of the element.
406 </p>
407 </field>
408 <field name="name">
409 <ref>String</ref>
410 <p>
411 The name of the element. This is typically used as the label in the
412 outline.
413 </p>
414 </field>
415 <field name="location" optional="true">
416 <ref>Location</ref>
417 <p>
418 The location of the name in the declaration of the element.
419 </p>
420 </field>
421 <field name="flags">
422 <ref>int</ref>
423 <p>
424 A bit-map containing the following flags:
425 </p>
426 <ul>
427 <li>
428 0x01 - set if the element is explicitly or implicitly abstract
429 </li>
430 <li>
431 0x02 - set if the element was declared to be ‘const’
432 </li>
433 <li>
434 0x04 - set if the element was declared to be ‘final’
435 </li>
436 <li>
437 0x08 - set if the element is a static member of a class or is a
438 top-level function or field
439 </li>
440 <li>
441 0x10 - set if the element is private
442 </li>
443 <li>
444 0x20 - set if the element is deprecated
445 </li>
446 </ul>
447 </field>
448 <field name="parameters" optional="true">
449 <ref>String</ref>
450 <p>
451 The parameter list for the element. If the element is not a method or
452 function this field will not be defined. If the element doesn't have
453 parameters (e.g. getter), this field will not be defined. If the
454 element has zero parameters, this field will have a value of "()".
455 </p>
456 </field>
457 <field name="returnType" optional="true">
458 <ref>String</ref>
459 <p>
460 The return type of the element. If the element is not a method or
461 function this field will not be defined. If the element does not have
462 a declared return type, this field will contain an empty string.
463 </p>
464 </field>
465 <field name="typeParameters" optional="true">
466 <ref>String</ref>
467 <p>
468 The type parameter list for the element. If the element doesn't have
469 type parameters, this field will not be defined.
470 </p>
471 </field>
472 </object>
473 </type>
474 <type name="ElementKind">
475 <p>
476 An enumeration of the kinds of elements.
477 </p>
478 <enum>
479 <value><code>CLASS</code></value>
480 <value><code>CLASS_TYPE_ALIAS</code></value>
481 <value><code>COMPILATION_UNIT</code></value>
482 <value><code>CONSTRUCTOR</code></value>
483 <value><code>ENUM</code></value>
484 <value><code>ENUM_CONSTANT</code></value>
485 <value><code>FIELD</code></value>
486 <value><code>FILE</code></value>
487 <value><code>FUNCTION</code></value>
488 <value><code>FUNCTION_TYPE_ALIAS</code></value>
489 <value><code>GETTER</code></value>
490 <value><code>LABEL</code></value>
491 <value><code>LIBRARY</code></value>
492 <value><code>LOCAL_VARIABLE</code></value>
493 <value><code>METHOD</code></value>
494 <value><code>PARAMETER</code></value>
495 <value><code>PREFIX</code></value>
496 <value><code>SETTER</code></value>
497 <value><code>TOP_LEVEL_VARIABLE</code></value>
498 <value><code>TYPE_PARAMETER</code></value>
499 <value deprecated="true">
500 <code>UNIT_TEST_GROUP</code>
501 <p><b>Deprecated:</b> support for tests was removed.</p>
502 </value>
503 <value deprecated="true">
504 <code>UNIT_TEST_TEST</code>
505 <p><b>Deprecated:</b> support for tests was removed.</p>
506 </value>
507 <value><code>UNKNOWN</code></value>
508 </enum>
509 </type>
510 <type name="FilePath">
511 <ref>String</ref>
512 <p>
513 The absolute, normalized path of a file.
514 </p>
515 <p>
516 If the format of a file path in a request is not valid, e.g. the path is
517 not absolute or is not normalized, then an error of type
518 <tt>INVALID_FILE_PATH_FORMAT</tt> will be generated.
519 </p>
520 </type>
521 <type name="FoldingKind">
522 <p>
523 An enumeration of the kinds of folding regions.
524 </p>
525 <enum>
526 <value><code>COMMENT</code></value>
527 <value><code>CLASS_MEMBER</code></value>
528 <value><code>DIRECTIVES</code></value>
529 <value><code>DOCUMENTATION_COMMENT</code></value>
530 <value><code>TOP_LEVEL_DECLARATION</code></value>
531 </enum>
532 </type>
533 <type name="FoldingRegion">
534 <p>
535 A description of a region that can be folded.
536 </p>
537 <object>
538 <field name="kind">
539 <ref>FoldingKind</ref>
540 <p>
541 The kind of the region.
542 </p>
543 </field>
544 <field name="offset">
545 <ref>int</ref>
546 <p>
547 The offset of the region to be folded.
548 </p>
549 </field>
550 <field name="length">
551 <ref>int</ref>
552 <p>
553 The length of the region to be folded.
554 </p>
555 </field>
556 </object>
557 </type>
558 <type name="HighlightRegion">
559 <p>
560 A description of a region that could have special highlighting associated
561 with it.
562 </p>
563 <object>
564 <field name="type">
565 <ref>HighlightRegionType</ref>
566 <p>
567 The type of highlight associated with the region.
568 </p>
569 </field>
570 <field name="offset">
571 <ref>int</ref>
572 <p>
573 The offset of the region to be highlighted.
574 </p>
575 </field>
576 <field name="length">
577 <ref>int</ref>
578 <p>
579 The length of the region to be highlighted.
580 </p>
581 </field>
582 </object>
583 </type>
584 <type name="HighlightRegionType">
585 <p>
586 An enumeration of the kinds of highlighting that can be applied to files.
587 </p>
588 <enum>
589 <value><code>ANNOTATION</code></value>
590 <value><code>BUILT_IN</code></value>
591 <value><code>CLASS</code></value>
592 <value><code>COMMENT_BLOCK</code></value>
593 <value><code>COMMENT_DOCUMENTATION</code></value>
594 <value><code>COMMENT_END_OF_LINE</code></value>
595 <value><code>CONSTRUCTOR</code></value>
596 <value><code>DIRECTIVE</code></value>
597 <value>
598 <code>DYNAMIC_TYPE</code>
599 <p>Only for version 1 of highlight.</p>
600 </value>
601 <value>
602 <code>DYNAMIC_LOCAL_VARIABLE_DECLARATION</code>
603 <p>Only for version 2 of highlight.</p>
604 </value>
605 <value>
606 <code>DYNAMIC_LOCAL_VARIABLE_REFERENCE</code>
607 <p>Only for version 2 of highlight.</p>
608 </value>
609 <value>
610 <code>DYNAMIC_PARAMETER_DECLARATION</code>
611 <p>Only for version 2 of highlight.</p>
612 </value>
613 <value>
614 <code>DYNAMIC_PARAMETER_REFERENCE</code>
615 <p>Only for version 2 of highlight.</p>
616 </value>
617 <value><code>ENUM</code></value>
618 <value><code>ENUM_CONSTANT</code></value>
619 <value>
620 <code>FIELD</code>
621 <p>Only for version 1 of highlight.</p>
622 </value>
623 <value>
624 <code>FIELD_STATIC</code>
625 <p>Only for version 1 of highlight.</p>
626 </value>
627 <value>
628 <code>FUNCTION</code>
629 <p>Only for version 1 of highlight.</p>
630 </value>
631 <value>
632 <code>FUNCTION_DECLARATION</code>
633 <p>Only for version 1 of highlight.</p>
634 </value>
635 <value><code>FUNCTION_TYPE_ALIAS</code></value>
636 <value>
637 <code>GETTER_DECLARATION</code>
638 <p>Only for version 1 of highlight.</p>
639 </value>
640 <value><code>IDENTIFIER_DEFAULT</code></value>
641 <value><code>IMPORT_PREFIX</code></value>
642 <value>
643 <code>INSTANCE_FIELD_DECLARATION</code>
644 <p>Only for version 2 of highlight.</p>
645 </value>
646 <value>
647 <code>INSTANCE_FIELD_REFERENCE</code>
648 <p>Only for version 2 of highlight.</p>
649 </value>
650 <value>
651 <code>INSTANCE_GETTER_DECLARATION</code>
652 <p>Only for version 2 of highlight.</p>
653 </value>
654 <value>
655 <code>INSTANCE_GETTER_REFERENCE</code>
656 <p>Only for version 2 of highlight.</p>
657 </value>
658 <value>
659 <code>INSTANCE_METHOD_DECLARATION</code>
660 <p>Only for version 2 of highlight.</p>
661 </value>
662 <value>
663 <code>INSTANCE_METHOD_REFERENCE</code>
664 <p>Only for version 2 of highlight.</p>
665 </value>
666 <value>
667 <code>INSTANCE_SETTER_DECLARATION</code>
668 <p>Only for version 2 of highlight.</p>
669 </value>
670 <value>
671 <code>INSTANCE_SETTER_REFERENCE</code>
672 <p>Only for version 2 of highlight.</p>
673 </value>
674 <value>
675 <code>INVALID_STRING_ESCAPE</code>
676 <p>Only for version 2 of highlight.</p>
677 </value>
678 <value><code>KEYWORD</code></value>
679 <value><code>LABEL</code></value>
680 <value>
681 <code>LIBRARY_NAME</code>
682 <p>Only for version 2 of highlight.</p>
683 </value>
684 <value><code>LITERAL_BOOLEAN</code></value>
685 <value><code>LITERAL_DOUBLE</code></value>
686 <value><code>LITERAL_INTEGER</code></value>
687 <value><code>LITERAL_LIST</code></value>
688 <value><code>LITERAL_MAP</code></value>
689 <value><code>LITERAL_STRING</code></value>
690 <value>
691 <code>LOCAL_FUNCTION_DECLARATION</code>
692 <p>Only for version 2 of highlight.</p>
693 </value>
694 <value>
695 <code>LOCAL_FUNCTION_REFERENCE</code>
696 <p>Only for version 2 of highlight.</p>
697 </value>
698 <value>
699 <code>LOCAL_VARIABLE</code>
700 <p>Only for version 1 of highlight.</p>
701 </value>
702 <value><code>LOCAL_VARIABLE_DECLARATION</code></value>
703 <value>
704 <code>LOCAL_VARIABLE_REFERENCE</code>
705 <p>Only for version 2 of highlight.</p>
706 </value>
707 <value>
708 <code>METHOD</code>
709 <p>Only for version 1 of highlight.</p>
710 </value>
711 <value>
712 <code>METHOD_DECLARATION</code>
713 <p>Only for version 1 of highlight.</p>
714 </value>
715 <value>
716 <code>METHOD_DECLARATION_STATIC</code>
717 <p>Only for version 1 of highlight.</p>
718 </value>
719 <value>
720 <code>METHOD_STATIC</code>
721 <p>Only for version 1 of highlight.</p>
722 </value>
723 <value>
724 <code>PARAMETER</code>
725 <p>Only for version 1 of highlight.</p>
726 </value>
727 <value>
728 <code>SETTER_DECLARATION</code>
729 <p>Only for version 1 of highlight.</p>
730 </value>
731 <value>
732 <code>TOP_LEVEL_VARIABLE</code>
733 <p>Only for version 1 of highlight.</p>
734 </value>
735 <value>
736 <code>PARAMETER_DECLARATION</code>
737 <p>Only for version 2 of highlight.</p>
738 </value>
739 <value>
740 <code>PARAMETER_REFERENCE</code>
741 <p>Only for version 2 of highlight.</p>
742 </value>
743 <value>
744 <code>STATIC_FIELD_DECLARATION</code>
745 <p>Only for version 2 of highlight.</p>
746 </value>
747 <value>
748 <code>STATIC_GETTER_DECLARATION</code>
749 <p>Only for version 2 of highlight.</p>
750 </value>
751 <value>
752 <code>STATIC_GETTER_REFERENCE</code>
753 <p>Only for version 2 of highlight.</p>
754 </value>
755 <value>
756 <code>STATIC_METHOD_DECLARATION</code>
757 <p>Only for version 2 of highlight.</p>
758 </value>
759 <value>
760 <code>STATIC_METHOD_REFERENCE</code>
761 <p>Only for version 2 of highlight.</p>
762 </value>
763 <value>
764 <code>STATIC_SETTER_DECLARATION</code>
765 <p>Only for version 2 of highlight.</p>
766 </value>
767 <value>
768 <code>STATIC_SETTER_REFERENCE</code>
769 <p>Only for version 2 of highlight.</p>
770 </value>
771 <value>
772 <code>TOP_LEVEL_FUNCTION_DECLARATION</code>
773 <p>Only for version 2 of highlight.</p>
774 </value>
775 <value>
776 <code>TOP_LEVEL_FUNCTION_REFERENCE</code>
777 <p>Only for version 2 of highlight.</p>
778 </value>
779 <value>
780 <code>TOP_LEVEL_GETTER_DECLARATION</code>
781 <p>Only for version 2 of highlight.</p>
782 </value>
783 <value>
784 <code>TOP_LEVEL_GETTER_REFERENCE</code>
785 <p>Only for version 2 of highlight.</p>
786 </value>
787 <value>
788 <code>TOP_LEVEL_SETTER_DECLARATION</code>
789 <p>Only for version 2 of highlight.</p>
790 </value>
791 <value>
792 <code>TOP_LEVEL_SETTER_REFERENCE</code>
793 <p>Only for version 2 of highlight.</p>
794 </value>
795 <value>
796 <code>TOP_LEVEL_VARIABLE_DECLARATION</code>
797 <p>Only for version 2 of highlight.</p>
798 </value>
799 <value><code>TYPE_NAME_DYNAMIC</code></value>
800 <value><code>TYPE_PARAMETER</code></value>
801 <value>
802 <code>UNRESOLVED_INSTANCE_MEMBER_REFERENCE</code>
803 <p>Only for version 2 of highlight.</p>
804 </value>
805 <value>
806 <code>VALID_STRING_ESCAPE</code>
807 <p>Only for version 2 of highlight.</p>
808 </value>
809 </enum>
810 </type>
811 <type name="LinkedEditGroup">
812 <p>
813 A collection of positions that should be linked (edited simultaneously)
814 for the purposes of updating code after a source change. For example, if a
815 set of edits introduced a new variable name, the group would contain all
816 of the positions of the variable name so that if the client wanted to let
817 the user edit the variable name after the operation, all occurrences of
818 the name could be edited simultaneously.
819 </p>
820 <object>
821 <field name="positions">
822 <list>
823 <ref>Position</ref>
824 </list>
825 <p>
826 The positions of the regions that should be edited simultaneously.
827 </p>
828 </field>
829 <field name="length">
830 <ref>int</ref>
831 <p>
832 The length of the regions that should be edited simultaneously.
833 </p>
834 </field>
835 <field name="suggestions">
836 <list>
837 <ref>LinkedEditSuggestion</ref>
838 </list>
839 <p>
840 Pre-computed suggestions for what every region might want to be
841 changed to.
842 </p>
843 </field>
844 </object>
845 </type>
846 <type name="LinkedEditSuggestion">
847 <p>
848 A suggestion of a value that could be used to replace all of the linked
849 edit regions in a <a href="#type_LinkedEditGroup">LinkedEditGroup</a>.
850 </p>
851 <object>
852 <field name="value">
853 <ref>String</ref>
854 <p>
855 The value that could be used to replace all of the linked edit
856 regions.
857 </p>
858 </field>
859 <field name="kind">
860 <ref>LinkedEditSuggestionKind</ref>
861 <p>
862 The kind of value being proposed.
863 </p>
864 </field>
865 </object>
866 </type>
867 <type name="LinkedEditSuggestionKind">
868 <p>
869 An enumeration of the kind of values that can be suggested for a linked
870 edit.
871 </p>
872 <enum>
873 <value><code>METHOD</code></value>
874 <value><code>PARAMETER</code></value>
875 <value><code>TYPE</code></value>
876 <value><code>VARIABLE</code></value>
877 </enum>
878 </type>
879 <type name="Location">
880 <p>
881 A location (character range) within a file.
882 </p>
883 <object>
884 <field name="file">
885 <ref>FilePath</ref>
886 <p>
887 The file containing the range.
888 </p>
889 </field>
890 <field name="offset">
891 <ref>int</ref>
892 <p>
893 The offset of the range.
894 </p>
895 </field>
896 <field name="length">
897 <ref>int</ref>
898 <p>
899 The length of the range.
900 </p>
901 </field>
902 <field name="startLine">
903 <ref>int</ref>
904 <p>
905 The one-based index of the line containing the first character of the
906 range.
907 </p>
908 </field>
909 <field name="startColumn">
910 <ref>int</ref>
911 <p>
912 The one-based index of the column containing the first character of
913 the range.
914 </p>
915 </field>
916 </object>
917 </type>
918 <type name="NavigationRegion">
919 <p>
920 A description of a region from which the user can navigate to the
921 declaration of an element.
922 </p>
923 <object>
924 <field name="offset">
925 <ref>int</ref>
926 <p>
927 The offset of the region from which the user can navigate.
928 </p>
929 </field>
930 <field name="length">
931 <ref>int</ref>
932 <p>
933 The length of the region from which the user can navigate.
934 </p>
935 </field>
936 <field name="targets">
937 <list>
938 <ref>int</ref>
939 </list>
940 <p>
941 The indexes of the targets (in the enclosing navigation response) to
942 which the given region is bound. By opening the target, clients can
943 implement one form of navigation. This list cannot be empty.
944 </p>
945 </field>
946 </object>
947 </type>
948 <type name="NavigationTarget">
949 <p>
950 A description of a target to which the user can navigate.
951 </p>
952 <object>
953 <field name="kind">
954 <ref>ElementKind</ref>
955 <p>
956 The kind of the element.
957 </p>
958 </field>
959 <field name="fileIndex">
960 <ref>int</ref>
961 <p>
962 The index of the file (in the enclosing navigation response) to
963 navigate to.
964 </p>
965 </field>
966 <field name="offset">
967 <ref>int</ref>
968 <p>
969 The offset of the region to which the user can navigate.
970 </p>
971 </field>
972 <field name="length">
973 <ref>int</ref>
974 <p>
975 The length of the region to which the user can navigate.
976 </p>
977 </field>
978 <field name="startLine">
979 <ref>int</ref>
980 <p>
981 The one-based index of the line containing the first character of the
982 region.
983 </p>
984 </field>
985 <field name="startColumn">
986 <ref>int</ref>
987 <p>
988 The one-based index of the column containing the first character of
989 the region.
990 </p>
991 </field>
992 </object>
993 </type>
994 <type name="Occurrences">
995 <p>
996 A description of the references to a single element within a single file.
997 </p>
998 <object>
999 <field name="element">
1000 <ref>Element</ref>
1001 <p>
1002 The element that was referenced.
1003 </p>
1004 </field>
1005 <field name="offsets">
1006 <list>
1007 <ref>int</ref>
1008 </list>
1009 <p>
1010 The offsets of the name of the referenced element within the file.
1011 </p>
1012 </field>
1013 <field name="length">
1014 <ref>int</ref>
1015 <p>
1016 The length of the name of the referenced element.
1017 </p>
1018 </field>
1019 </object>
1020 </type>
1021 <type name="Outline">
1022 <p>
1023 An node in the outline structure of a file.
1024 </p>
1025 <object>
1026 <field name="element">
1027 <ref>Element</ref>
1028 <p>
1029 A description of the element represented by this node.
1030 </p>
1031 </field>
1032 <field name="offset">
1033 <ref>int</ref>
1034 <p>
1035 The offset of the first character of the element. This is different
1036 than the offset in the Element, which is the offset of the name of the
1037 element. It can be used, for example, to map locations in the file
1038 back to an outline.
1039 </p>
1040 </field>
1041 <field name="length">
1042 <ref>int</ref>
1043 <p>
1044 The length of the element.
1045 </p>
1046 </field>
1047 <field name="children" optional="true">
1048 <list>
1049 <ref>Outline</ref>
1050 </list>
1051 <p>
1052 The children of the node. The field will be omitted if the node has no
1053 children.
1054 </p>
1055 </field>
1056 </object>
1057 </type>
1058 <type name="Position">
1059 <p>
1060 A position within a file.
1061 </p>
1062 <object>
1063 <field name="file">
1064 <ref>FilePath</ref>
1065 <p>
1066 The file containing the position.
1067 </p>
1068 </field>
1069 <field name="offset">
1070 <ref>int</ref>
1071 <p>
1072 The offset of the position.
1073 </p>
1074 </field>
1075 </object>
1076 </type>
1077 <type name="RefactoringFeedback">
1078 <p>
1079 An abstract superclass of all refactoring feedbacks.
1080 </p>
1081 <object>
1082 </object>
1083 </type>
1084 <type name="RefactoringKind">
1085 <p>
1086 An enumeration of the kinds of refactorings that can be created.
1087 </p>
1088 <enum>
1089 <value><code>CONVERT_GETTER_TO_METHOD</code></value>
1090 <value><code>CONVERT_METHOD_TO_GETTER</code></value>
1091 <value><code>EXTRACT_LOCAL_VARIABLE</code></value>
1092 <value><code>EXTRACT_METHOD</code></value>
1093 <value><code>INLINE_LOCAL_VARIABLE</code></value>
1094 <value><code>INLINE_METHOD</code></value>
1095 <value><code>MOVE_FILE</code></value>
1096 <value><code>RENAME</code></value>
1097 <value><code>SORT_MEMBERS</code></value>
1098 </enum>
1099 </type>
1100 <type name="RefactoringMethodParameter">
1101 <!-- This type does not appear to be referenced yet. -->
1102 <p>
1103 A description of a parameter in a method refactoring.
1104 </p>
1105 <object>
1106 <field name="id" optional="true">
1107 <ref>String</ref>
1108 <p>
1109 The unique identifier of the parameter. Clients may omit this field
1110 for the parameters they want to add.
1111 </p>
1112 </field>
1113 <field name="kind">
1114 <ref>RefactoringMethodParameterKind</ref>
1115 <p>
1116 The kind of the parameter.
1117 </p>
1118 </field>
1119 <field name="type">
1120 <ref>String</ref>
1121 <p>
1122 The type that should be given to the parameter, or the return type of
1123 the parameter's function type.
1124 </p>
1125 </field>
1126 <field name="name">
1127 <ref>String</ref>
1128 <p>
1129 The name that should be given to the parameter.
1130 </p>
1131 </field>
1132 <field name="parameters" optional="true">
1133 <ref>String</ref>
1134 <p>
1135 The parameter list of the parameter's function type. If the parameter
1136 is not of a function type, this field will not be defined. If the
1137 function type has zero parameters, this field will have a value of
1138 '()'.
1139 </p>
1140 </field>
1141 </object>
1142 </type>
1143 <type name="RefactoringOptions">
1144 <p>
1145 An abstract superclass of all refactoring options.
1146 </p>
1147 <object>
1148 </object>
1149 </type>
1150 <type name="RefactoringMethodParameterKind">
1151 <p>
1152 An enumeration of the kinds of parameters.
1153 </p>
1154 <enum>
1155 <value><code>REQUIRED</code></value>
1156 <value><code>POSITIONAL</code></value>
1157 <value><code>NAMED</code></value>
1158 </enum>
1159 </type>
1160 <type name="RefactoringProblem">
1161 <p>
1162 A description of a problem related to a refactoring.
1163 </p>
1164 <object>
1165 <field name="severity">
1166 <ref>RefactoringProblemSeverity</ref>
1167 <p>
1168 The severity of the problem being represented.
1169 </p>
1170 </field>
1171 <field name="message">
1172 <ref>String</ref>
1173 <p>
1174 A human-readable description of the problem being represented.
1175 </p>
1176 </field>
1177 <field name="location" optional="true">
1178 <ref>Location</ref>
1179 <p>
1180 The location of the problem being represented. This field is omitted
1181 unless there is a specific location associated with the problem (such
1182 as a location where an element being renamed will be shadowed).
1183 </p>
1184 </field>
1185 </object>
1186 </type>
1187 <type name="RefactoringProblemSeverity">
1188 <p>
1189 An enumeration of the severities of problems that can be returned by the
1190 refactoring requests.
1191 </p>
1192 <enum>
1193 <value>
1194 <code>INFO</code>
1195 <p>
1196 A minor code problem. No example, because it is not used yet.
1197 </p>
1198 </value>
1199 <value>
1200 <code>WARNING</code>
1201 <p>
1202 A minor code problem. For example names of local variables should be
1203 camel case and start with a lower case letter. Staring the name of a
1204 variable with an upper case is OK from the language point of view, but
1205 it is nice to warn the user.
1206 </p>
1207 </value>
1208 <value>
1209 <code>ERROR</code>
1210 <p>
1211 The refactoring technically can be performed, but there is a logical
1212 problem. For example the name of a local variable being extracted
1213 conflicts with another name in the scope, or duplicate parameter names
1214 in the method being extracted, or a conflict between a parameter name
1215 and a local variable, etc. In some cases the location of the problem
1216 is also provided, so the IDE can show user the location and the
1217 problem, and let the user decide whether they want to perform the
1218 refactoring. For example the name conflict might be expected, and the
1219 user wants to fix it afterwards.
1220 </p>
1221 </value>
1222 <value>
1223 <code>FATAL</code>
1224 <p>
1225 A fatal error, which prevents performing the refactoring. For example
1226 the name of a local variable being extracted is not a valid
1227 identifier, or selection is not a valid expression.
1228 </p>
1229 </value>
1230 </enum>
1231 </type>
1232 <type name="RemoveContentOverlay">
1233 <p>
1234 A directive to remove an existing file content overlay. After processing
1235 this directive, the file contents will once again be read from the file
1236 system.
1237 </p>
1238 <p>
1239 If this directive is used on a file that doesn't currently have a content
1240 overlay, it has no effect.
1241 </p>
1242 <object>
1243 <field name="type" value="remove">
1244 <ref>String</ref>
1245 </field>
1246 </object>
1247 </type>
1248 <type name="SourceChange">
1249 <p>
1250 A description of a set of edits that implement a single conceptual change.
1251 </p>
1252 <object>
1253 <field name="message">
1254 <ref>String</ref>
1255 <p>
1256 A human-readable description of the change to be applied.
1257 </p>
1258 </field>
1259 <field name="edits">
1260 <list>
1261 <ref>SourceFileEdit</ref>
1262 </list>
1263 <p>
1264 A list of the edits used to effect the change, grouped by file.
1265 </p>
1266 </field>
1267 <field name="linkedEditGroups">
1268 <list>
1269 <ref>LinkedEditGroup</ref>
1270 </list>
1271 <p>
1272 A list of the linked editing groups used to customize the changes that
1273 were made.
1274 </p>
1275 </field>
1276 <field name="selection" optional="true">
1277 <ref>Position</ref>
1278 <p>
1279 The position that should be selected after the edits have been
1280 applied.
1281 </p>
1282 </field>
1283 </object>
1284 </type>
1285 <type name="SourceEdit">
1286 <p>
1287 A description of a single change to a single file.
1288 </p>
1289 <object>
1290 <field name="offset">
1291 <ref>int</ref>
1292 <p>
1293 The offset of the region to be modified.
1294 </p>
1295 </field>
1296 <field name="length">
1297 <ref>int</ref>
1298 <p>
1299 The length of the region to be modified.
1300 </p>
1301 </field>
1302 <field name="replacement">
1303 <ref>String</ref>
1304 <p>
1305 The code that is to replace the specified region in the original code.
1306 </p>
1307 </field>
1308 <field name="id" optional="true">
1309 <ref>String</ref>
1310 <p>
1311 An identifier that uniquely identifies this source edit from other
1312 edits in the same response. This field is omitted unless a containing
1313 structure needs to be able to identify the edit for some reason.
1314 </p>
1315 <p>
1316 For example, some refactoring operations can produce edits that might
1317 not be appropriate (referred to as potential edits). Such edits will
1318 have an id so that they can be referenced. Edits in the same response
1319 that do not need to be referenced will not have an id.
1320 </p>
1321 </field>
1322 </object>
1323 </type>
1324 <type name="SourceFileEdit">
1325 <p>
1326 A description of a set of changes to a single file.
1327 </p>
1328 <object>
1329 <field name="file">
1330 <ref>FilePath</ref>
1331 <p>
1332 The file containing the code to be modified.
1333 </p>
1334 </field>
1335 <field name="fileStamp">
1336 <ref>long</ref>
1337 <p>
1338 The modification stamp of the file at the moment when the change was
1339 created, in milliseconds since the "Unix epoch". Will be -1 if the
1340 file did not exist and should be created. The client may use this
1341 field to make sure that the file was not changed since then, so it is
1342 safe to apply the change.
1343 </p>
1344 </field>
1345 <field name="edits">
1346 <list>
1347 <ref>SourceEdit</ref>
1348 </list>
1349 <p>
1350 A list of the edits used to effect the change.
1351 </p>
1352 </field>
1353 </object>
1354 </type>
1355 </types>
1356 </body>
1357 </html>
OLDNEW
« no previous file with comments | « pkg/analyzer_plugin/tool/spec/codegen_matchers.dart ('k') | pkg/analyzer_plugin/tool/spec/from_html.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698