| 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: |
| 11 * - Fields of type List are never null, and have a default value of the empty | 11 * - Fields of type List are never null, and have a default value of the empty |
| 12 * list. | 12 * list. |
| 13 * - Fields of type int are never null, and have a default value of zero. | 13 * - Fields of type int are unsigned 32-bit integers, never null, and have a |
| 14 * default value of zero. |
| 14 * - Fields of type String are never null, and have a default value of ''. | 15 * - Fields of type String are never null, and have a default value of ''. |
| 15 * - Fields of type bool are never null, and have a default value of false. | 16 * - Fields of type bool are never null, and have a default value of false. |
| 16 * - Fields whose type is an enum are never null, and have a default value of | 17 * - Fields whose type is an enum are never null, and have a default value of |
| 17 * the first value declared in the enum. | 18 * the first value declared in the enum. |
| 18 * | 19 * |
| 19 * Terminology used in this document: | 20 * Terminology used in this document: |
| 20 * - "Unlinked" refers to information that can be determined from reading a | 21 * - "Unlinked" refers to information that can be determined from reading a |
| 21 * single .dart file in isolation. | 22 * single .dart file in isolation. |
| 22 * - "Prelinked" refers to information that can be determined from the defining | 23 * - "Prelinked" refers to information that can be determined from the defining |
| 23 * compilation unit of a library, plus direct imports, plus the transitive | 24 * compilation unit of a library, plus direct imports, plus the transitive |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 List<UnlinkedUnit> unlinkedUnits; | 292 List<UnlinkedUnit> unlinkedUnits; |
| 292 } | 293 } |
| 293 | 294 |
| 294 /** | 295 /** |
| 295 * Summary information about a reference to a type. | 296 * Summary information about a reference to a type. |
| 296 */ | 297 */ |
| 297 class TypeRef { | 298 class TypeRef { |
| 298 /** | 299 /** |
| 299 * If this [TypeRef] is contained within [LinkedUnit.types], slot id (which | 300 * If this [TypeRef] is contained within [LinkedUnit.types], slot id (which |
| 300 * is unique within the compilation unit) identifying the target of type | 301 * is unique within the compilation unit) identifying the target of type |
| 301 * propagation or type inference with which this [TypeRef] is asociated. | 302 * propagation or type inference with which this [TypeRef] is associated. |
| 302 * | 303 * |
| 303 * Otherwise zero. | 304 * Otherwise zero. |
| 304 */ | 305 */ |
| 305 int slot; | 306 int slot; |
| 306 | 307 |
| 307 /** | 308 /** |
| 308 * Index into [UnlinkedUnit.references] for the type being referred to, or | 309 * Index into [UnlinkedUnit.references] for the type being referred to, or |
| 309 * zero if this is a reference to a type parameter. | 310 * zero if this is a reference to a type parameter. |
| 310 * | 311 * |
| 311 * Note that since zero is also a valid index into | 312 * Note that since zero is also a valid index into |
| (...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1416 /** | 1417 /** |
| 1417 * If this variable is propagable, nonzero slot id identifying which entry in | 1418 * If this variable is propagable, nonzero slot id identifying which entry in |
| 1418 * [LinkedLibrary.types] contains the propagated type for this variable. If | 1419 * [LinkedLibrary.types] contains the propagated type for this variable. If |
| 1419 * there is no matching entry in [LinkedLibrary.types], then this variable's | 1420 * there is no matching entry in [LinkedLibrary.types], then this variable's |
| 1420 * propagated type is the same as its declared type. | 1421 * propagated type is the same as its declared type. |
| 1421 * | 1422 * |
| 1422 * Non-propagable variables have a [propagatedTypeSlot] of zero. | 1423 * Non-propagable variables have a [propagatedTypeSlot] of zero. |
| 1423 */ | 1424 */ |
| 1424 int propagatedTypeSlot; | 1425 int propagatedTypeSlot; |
| 1425 } | 1426 } |
| OLD | NEW |