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

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

Issue 2226093002: Record information about a summary's dependencies in the summary itself. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 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 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 651
652 /** 652 /**
653 * MD5 hash of the non-informative fields of the [PackageBundle] (not 653 * MD5 hash of the non-informative fields of the [PackageBundle] (not
654 * including this one). This can be used to identify when the API of a 654 * including this one). This can be used to identify when the API of a
655 * package may have changed. 655 * package may have changed.
656 */ 656 */
657 @Id(7) 657 @Id(7)
658 String get apiSignature; 658 String get apiSignature;
659 659
660 /** 660 /**
661 * Information about the packages this package depends on, if known.
662 */
663 @Id(8)
664 @informative
665 List<PackageDependencyInfo> get dependencies;
666
667 /**
661 * Linked libraries. 668 * Linked libraries.
662 */ 669 */
663 @Id(0) 670 @Id(0)
664 List<LinkedLibrary> get linkedLibraries; 671 List<LinkedLibrary> get linkedLibraries;
665 672
666 /** 673 /**
667 * The list of URIs of items in [linkedLibraries], e.g. `dart:core` or 674 * The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
668 * `package:foo/bar.dart`. 675 * `package:foo/bar.dart`.
669 */ 676 */
670 @Id(1) 677 @Id(1)
(...skipping 28 matching lines...) Expand all
699 List<UnlinkedUnit> get unlinkedUnits; 706 List<UnlinkedUnit> get unlinkedUnits;
700 707
701 /** 708 /**
702 * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`. 709 * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
703 */ 710 */
704 @Id(3) 711 @Id(3)
705 List<String> get unlinkedUnitUris; 712 List<String> get unlinkedUnitUris;
706 } 713 }
707 714
708 /** 715 /**
716 * Information about a single dependency of a summary package.
717 */
718 abstract class PackageDependencyInfo extends base.SummaryClass {
719 /**
720 * API signature of this dependency.
721 */
722 @Id(0)
723 String get apiSignature;
724
725 /**
726 * If this dependency summarizes any files whose URI takes the form
727 * "package:<package_name>/...", a list of all such package names, sorted
728 * lexicographically. Otherwise empty.
729 */
730 @Id(2)
731 List<String> get includedPackageNames;
732
733 /**
734 * Indicates whether this dependency summarizes any files whose URI takes the
735 * form "dart:...".
736 */
737 @Id(4)
738 bool get includesDartUris;
739
740 /**
741 * Indicates whether this dependency summarizes any files whose URI takes the
742 * form "file:...".
743 */
744 @Id(3)
745 bool get includesFileUris;
746
747 /**
748 * Relative path to the summary file for this dependency. This is intended as
749 * a hint to help the analysis server locate summaries of dependencies. We
750 * don't specify precisely what this path is relative to, but we expect it to
751 * be relative to a directory the analysis server can find (e.g. for projects
752 * built using Bazel, it would be relative to the "bazel-bin" directory).
753 *
754 * Absent if the path is not known.
755 */
756 @Id(1)
757 String get summaryPath;
758 }
759
760 /**
709 * Index information about a package. 761 * Index information about a package.
710 */ 762 */
711 @TopLevel('Indx') 763 @TopLevel('Indx')
712 abstract class PackageIndex extends base.SummaryClass { 764 abstract class PackageIndex extends base.SummaryClass {
713 factory PackageIndex.fromBuffer(List<int> buffer) => 765 factory PackageIndex.fromBuffer(List<int> buffer) =>
714 generated.readPackageIndex(buffer); 766 generated.readPackageIndex(buffer);
715 767
716 /** 768 /**
717 * Each item of this list corresponds to a unique referenced element. It is 769 * Each item of this list corresponds to a unique referenced element. It is
718 * the kind of the synthetic element. 770 * the kind of the synthetic element.
(...skipping 2081 matching lines...) Expand 10 before | Expand all | Expand 10 after
2800 */ 2852 */
2801 @Id(11) 2853 @Id(11)
2802 int get visibleLength; 2854 int get visibleLength;
2803 2855
2804 /** 2856 /**
2805 * If a local variable, the beginning of the visible range; zero otherwise. 2857 * If a local variable, the beginning of the visible range; zero otherwise.
2806 */ 2858 */
2807 @Id(12) 2859 @Id(12)
2808 int get visibleOffset; 2860 int get visibleOffset;
2809 } 2861 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698