Chromium Code Reviews| 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 |