OLD | NEW |
---|---|
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * This file is an "idl" style description of the summary format. It | 6 * This file is an "idl" style description of the summary format. It |
7 * contains abstract classes which declare the interface for reading data from | 7 * contains abstract classes which declare the interface for reading data from |
8 * summaries. It is parsed and transformed into code that implements the | 8 * summaries. It is parsed and transformed into code that implements the |
9 * summary format. | 9 * summary format. |
10 * | 10 * |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
189 IS_MIXED_IN_BY, | 189 IS_MIXED_IN_BY, |
190 | 190 |
191 /** | 191 /** |
192 * Left: method, property accessor, function, variable. | 192 * Left: method, property accessor, function, variable. |
193 * Is invoked at. | 193 * Is invoked at. |
194 * Right: location. | 194 * Right: location. |
195 */ | 195 */ |
196 IS_INVOKED_BY, | 196 IS_INVOKED_BY, |
197 | 197 |
198 /** | 198 /** |
199 * Left: method, property accessor, function, variable. | |
200 * Is invoked with a qualifier at. | |
201 * Right: location. | |
202 */ | |
203 IS_INVOKED_QUALIFIED_BY, | |
204 | |
205 /** | |
206 * Left: any element. | 199 * Left: any element. |
207 * Is referenced (and not invoked, read/written) at. | 200 * Is referenced (and not invoked, read/written) at. |
208 * Right: location. | 201 * Right: location. |
209 */ | 202 */ |
210 IS_REFERENCED_BY, | 203 IS_REFERENCED_BY |
211 | |
212 /** | |
213 * Left: any element. | |
214 * Is referenced (and not invoked, read/written) with a qualifier at. | |
215 * Right: location. | |
216 */ | |
217 IS_REFERENCED_QUALIFIED_BY | |
218 } | 204 } |
219 | 205 |
220 /** | 206 /** |
221 * When we need to reference a synthetic element in [PackageIndex] we use a | 207 * When we need to reference a synthetic element in [PackageIndex] we use a |
222 * value of this enum to specify which kind of the synthetic element we | 208 * value of this enum to specify which kind of the synthetic element we |
223 * actually reference. | 209 * actually reference. |
224 */ | 210 */ |
225 enum IndexSyntheticElementKind { | 211 enum IndexSyntheticElementKind { |
226 /** | 212 /** |
227 * Not a synthetic element. | 213 * Not a synthetic element. |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
631 unresolved | 617 unresolved |
632 } | 618 } |
633 | 619 |
634 /** | 620 /** |
635 * Index information about a unit in a [PackageIndex]. | 621 * Index information about a unit in a [PackageIndex]. |
636 */ | 622 */ |
637 abstract class UnitIndex extends base.SummaryClass { | 623 abstract class UnitIndex extends base.SummaryClass { |
638 /** | 624 /** |
639 * Each item of this list is the kind of an element defined in this unit. | 625 * Each item of this list is the kind of an element defined in this unit. |
640 */ | 626 */ |
641 @Id(6) | 627 @Id(7) |
Paul Berry
2016/03/01 17:06:19
Please don't renumber the Ids when adding a new fi
scheglov
2016/03/01 19:05:34
Done.
| |
642 List<IndexNameKind> get definedNameKinds; | 628 List<IndexNameKind> get definedNameKinds; |
643 | 629 |
644 /** | 630 /** |
645 * Each item of this list is the name offset of an element defined in this | 631 * Each item of this list is the name offset of an element defined in this |
646 * unit relative to the beginning of the file. | 632 * unit relative to the beginning of the file. |
647 */ | 633 */ |
648 @Id(7) | 634 @Id(8) |
649 List<int> get definedNameOffsets; | 635 List<int> get definedNameOffsets; |
650 | 636 |
651 /** | 637 /** |
652 * Each item of this list corresponds to an element defined in this unit. It | 638 * Each item of this list corresponds to an element defined in this unit. It |
653 * is an index into [PackageIndex.strings] list. The list is sorted in | 639 * is an index into [PackageIndex.strings] list. The list is sorted in |
654 * ascending order, so that the client can quickly find name definitions in | 640 * ascending order, so that the client can quickly find name definitions in |
655 * this [UnitIndex]. | 641 * this [UnitIndex]. |
656 */ | 642 */ |
657 @Id(5) | 643 @Id(6) |
658 List<int> get definedNames; | 644 List<int> get definedNames; |
659 | 645 |
660 /** | 646 /** |
661 * Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris] | 647 * Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris] |
662 * for the library specific unit that corresponds to this [UnitIndex]. | 648 * for the library specific unit that corresponds to this [UnitIndex]. |
663 */ | 649 */ |
664 @Id(0) | 650 @Id(0) |
665 int get unit; | 651 int get unit; |
666 | 652 |
667 /** | 653 /** |
654 * Each item of this list is the `true` if the corresponding element usage | |
655 * is qualified with some prefix. | |
656 */ | |
657 @Id(5) | |
658 List<bool> get usedElementIsQualifiedFlags; | |
659 | |
660 /** | |
668 * Each item of this list is the kind of the element usage. | 661 * Each item of this list is the kind of the element usage. |
669 */ | 662 */ |
670 @Id(4) | 663 @Id(2) |
671 List<IndexRelationKind> get usedElementKinds; | 664 List<IndexRelationKind> get usedElementKinds; |
672 | 665 |
673 /** | 666 /** |
674 * Each item of this list is the length of the element usage. | 667 * Each item of this list is the length of the element usage. |
675 */ | 668 */ |
676 @Id(1) | 669 @Id(4) |
677 List<int> get usedElementLengths; | 670 List<int> get usedElementLengths; |
678 | 671 |
679 /** | 672 /** |
680 * Each item of this list is the offset of the element usage relative to the | 673 * Each item of this list is the offset of the element usage relative to the |
681 * beginning of the file. | 674 * beginning of the file. |
682 */ | 675 */ |
683 @Id(2) | 676 @Id(3) |
684 List<int> get usedElementOffsets; | 677 List<int> get usedElementOffsets; |
685 | 678 |
686 /** | 679 /** |
687 * Each item of this list is the index into [PackageIndex.elementUnits] and | 680 * Each item of this list is the index into [PackageIndex.elementUnits] and |
688 * [PackageIndex.elementOffsets]. The list is sorted in ascending order, so | 681 * [PackageIndex.elementOffsets]. The list is sorted in ascending order, so |
689 * that the client can quickly find element references in this [UnitIndex]. | 682 * that the client can quickly find element references in this [UnitIndex]. |
690 */ | 683 */ |
691 @Id(3) | 684 @Id(1) |
692 List<int> get usedElements; | 685 List<int> get usedElements; |
693 | 686 |
694 /** | 687 /** |
695 * Each item of this list is the kind of the name usage. | 688 * Each item of this list is the kind of the name usage. |
696 */ | 689 */ |
697 @Id(10) | 690 @Id(11) |
698 List<IndexRelationKind> get usedNameKinds; | 691 List<IndexRelationKind> get usedNameKinds; |
699 | 692 |
700 /** | 693 /** |
701 * Each item of this list is the offset of the name usage relative to the | 694 * Each item of this list is the offset of the name usage relative to the |
702 * beginning of the file. | 695 * beginning of the file. |
703 */ | 696 */ |
704 @Id(9) | 697 @Id(10) |
705 List<int> get usedNameOffsets; | 698 List<int> get usedNameOffsets; |
706 | 699 |
707 /** | 700 /** |
708 * Each item of this list is the index into [PackageIndex.strings] for a | 701 * Each item of this list is the index into [PackageIndex.strings] for a |
709 * used name. The list is sorted in ascending order, so that the client can | 702 * used name. The list is sorted in ascending order, so that the client can |
710 * quickly find name uses in this [UnitIndex]. | 703 * quickly find name uses in this [UnitIndex]. |
711 */ | 704 */ |
712 @Id(8) | 705 @Id(9) |
713 List<int> get usedNames; | 706 List<int> get usedNames; |
714 } | 707 } |
715 | 708 |
716 /** | 709 /** |
717 * Unlinked summary information about a class declaration. | 710 * Unlinked summary information about a class declaration. |
718 */ | 711 */ |
719 abstract class UnlinkedClass extends base.SummaryClass { | 712 abstract class UnlinkedClass extends base.SummaryClass { |
720 /** | 713 /** |
721 * Annotations for this class. | 714 * Annotations for this class. |
722 */ | 715 */ |
(...skipping 1520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2243 */ | 2236 */ |
2244 @Id(11) | 2237 @Id(11) |
2245 int get visibleLength; | 2238 int get visibleLength; |
2246 | 2239 |
2247 /** | 2240 /** |
2248 * If a local variable, the beginning of the visible range; zero otherwise. | 2241 * If a local variable, the beginning of the visible range; zero otherwise. |
2249 */ | 2242 */ |
2250 @Id(12) | 2243 @Id(12) |
2251 int get visibleOffset; | 2244 int get visibleOffset; |
2252 } | 2245 } |
OLD | NEW |