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

Side by Side Diff: pkg/analyzer/lib/src/summary/idl.dart

Issue 1750163003: Separate 'isQualified' flags as List<bool>. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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 // 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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698