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 is not | 6 * This file is an "idl" style description of the summary format. It is not |
7 * executed directly; instead it is parsed and transformed into code that | 7 * executed directly; instead it is parsed and transformed into code that |
8 * implements the summary format. | 8 * implements the summary format. |
9 * | 9 * |
10 * The code generation process introduces the following non-typical semantics: | 10 * The code generation process introduces the following non-typical semantics: |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
116 * that reference is resolved. | 116 * that reference is resolved. |
117 */ | 117 */ |
118 List<PrelinkedReference> references; | 118 List<PrelinkedReference> references; |
119 } | 119 } |
120 | 120 |
121 /** | 121 /** |
122 * Information about the resolution of an [UnlinkedReference]. | 122 * Information about the resolution of an [UnlinkedReference]. |
123 */ | 123 */ |
124 class PrelinkedReference { | 124 class PrelinkedReference { |
125 /** | 125 /** |
126 * Index into [UnlinkedLibrary.dependencies] indicating which imported library | 126 * Index into [PrelinkedLibrary.dependencies] indicating which imported librar y |
127 * declares the entity being referred to. | 127 * declares the entity being referred to. |
128 */ | 128 */ |
129 int dependency; | 129 int dependency; |
130 | 130 |
131 /** | 131 /** |
132 * The kind of the entity being referred to. For the pseudo-type `dynamic`, | 132 * The kind of the entity being referred to. For the pseudo-type `dynamic`, |
133 * the kind if [PrelinkedReferenceKind.classOrEnum]. | 133 * the kind is [PrelinkedReferenceKind.classOrEnum]. |
134 */ | 134 */ |
135 PrelinkedReferenceKind kind; | 135 PrelinkedReferenceKind kind; |
136 | 136 |
137 /** | 137 /** |
138 * Integer index indicating which unit in the imported library contains the | 138 * Integer index indicating which unit in the imported library contains the |
139 * definition of the entity. As with indices into [UnlinkedLibrary.units], | 139 * definition of the entity. As with indices into [PrelinkedLibrary.units], |
140 * zero represents the defining compilation unit, and nonzero values | 140 * zero represents the defining compilation unit, and nonzero values |
141 * represent parts in the order of the corresponding `part` declarations. | 141 * represent parts in the order of the corresponding `part` declarations. |
142 */ | 142 */ |
143 int unit; | 143 int unit; |
144 } | 144 } |
145 | 145 |
146 /** | 146 /** |
147 * Enum used to indicate the kind of entity referred to by a | 147 * Enum used to indicate the kind of entity referred to by a |
148 * [PrelinkedReference]. | 148 * [PrelinkedReference]. |
149 */ | 149 */ |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
194 List<UnlinkedTypeParam> typeParameters; | 194 List<UnlinkedTypeParam> typeParameters; |
195 | 195 |
196 /** | 196 /** |
197 * Supertype of the class, or `null` if either (a) the class doesn't | 197 * Supertype of the class, or `null` if either (a) the class doesn't |
198 * explicitly declare a supertype (and hence has supertype `Object`), or (b) | 198 * explicitly declare a supertype (and hence has supertype `Object`), or (b) |
199 * the class *is* `Object` (and hence has no supertype). | 199 * the class *is* `Object` (and hence has no supertype). |
200 */ | 200 */ |
201 UnlinkedTypeRef supertype; | 201 UnlinkedTypeRef supertype; |
202 | 202 |
203 /** | 203 /** |
204 * Mixins appering in a `with` clause, if any. | 204 * Mixins appearing in a `with` clause, if any. |
205 */ | 205 */ |
206 List<UnlinkedTypeRef> mixins; | 206 List<UnlinkedTypeRef> mixins; |
207 | 207 |
208 /** | 208 /** |
209 * Interfaces appearing in an `implements` clause, if any. | 209 * Interfaces appearing in an `implements` clause, if any. |
210 */ | 210 */ |
211 List<UnlinkedTypeRef> interfaces; | 211 List<UnlinkedTypeRef> interfaces; |
212 | 212 |
213 /** | 213 /** |
214 * Field declarations contained in the class. | 214 * Field declarations contained in the class. |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
634 * instantiate it. Trailing type arguments of type `dynamic` are omitted. | 634 * instantiate it. Trailing type arguments of type `dynamic` are omitted. |
635 */ | 635 */ |
636 List<UnlinkedTypeRef> typeArguments; | 636 List<UnlinkedTypeRef> typeArguments; |
637 } | 637 } |
638 | 638 |
639 /** | 639 /** |
640 * Unlinked summary information about a compilation unit ("part file"). Note | 640 * Unlinked summary information about a compilation unit ("part file"). Note |
641 * that since a declaration can be moved from one part file to another without | 641 * that since a declaration can be moved from one part file to another without |
642 * changing semantics, the declarations themselves aren't stored here; they are | 642 * changing semantics, the declarations themselves aren't stored here; they are |
643 * stored in [UnlinkedLibrary] and they refer to [UnlinkedUnit]s via an index | 643 * stored in [UnlinkedLibrary] and they refer to [UnlinkedUnit]s via an index |
644 * into [UnlinkedLibrary.units]. | 644 * into [UnlinkedLibrary.units]. |
scheglov
2015/12/15 06:23:33
This comment also does not look right.
It says tha
Paul Berry
2015/12/15 17:35:32
You're right. I'll remove the bogus text in my ne
| |
645 */ | 645 */ |
646 class UnlinkedUnit { | 646 class UnlinkedUnit { |
647 /** | 647 /** |
648 * Name of the library (from a "library" declaration, if present). | 648 * Name of the library (from a "library" declaration, if present). |
649 */ | 649 */ |
650 String libraryName; | 650 String libraryName; |
651 | 651 |
652 /** | 652 /** |
653 * Classes declared in the compilation unit. | 653 * Classes declared in the compilation unit. |
654 */ | 654 */ |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
724 /** | 724 /** |
725 * Indicates whether the variable is declared using the `const` keyword. | 725 * Indicates whether the variable is declared using the `const` keyword. |
726 */ | 726 */ |
727 bool isConst; | 727 bool isConst; |
728 | 728 |
729 /** | 729 /** |
730 * Indicates whether this variable lacks an explicit type declaration. | 730 * Indicates whether this variable lacks an explicit type declaration. |
731 */ | 731 */ |
732 bool hasImplicitType; | 732 bool hasImplicitType; |
733 } | 733 } |
OLD | NEW |