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 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |