| 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 973 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 * Indicates whether the executable is declared using the `factory` keyword. | 984 * Indicates whether the executable is declared using the `factory` keyword. |
| 985 */ | 985 */ |
| 986 bool get isFactory; | 986 bool get isFactory; |
| 987 | 987 |
| 988 /** | 988 /** |
| 989 * Indicates whether the executable is declared using the `external` keyword. | 989 * Indicates whether the executable is declared using the `external` keyword. |
| 990 */ | 990 */ |
| 991 bool get isExternal; | 991 bool get isExternal; |
| 992 | 992 |
| 993 /** | 993 /** |
| 994 * If this executable's return type is inferrable, nonzero slot id | 994 * If this executable's return type is inferable, nonzero slot id |
| 995 * identifying which entry in [LinkedLibrary.types] contains the inferred | 995 * identifying which entry in [LinkedLibrary.types] contains the inferred |
| 996 * return type. If there is no matching entry in [LinkedLibrary.types], then | 996 * return type. If there is no matching entry in [LinkedLibrary.types], then |
| 997 * no return type was inferred for this variable, so its static type is | 997 * no return type was inferred for this variable, so its static type is |
| 998 * `dynamic`. | 998 * `dynamic`. |
| 999 */ | 999 */ |
| 1000 int get inferredReturnTypeSlot; | 1000 int get inferredReturnTypeSlot; |
| 1001 } | 1001 } |
| 1002 | 1002 |
| 1003 /** | 1003 /** |
| 1004 * Enum used to indicate the kind of an executable. | 1004 * Enum used to indicate the kind of an executable. |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1165 */ | 1165 */ |
| 1166 bool get isFunctionTyped; | 1166 bool get isFunctionTyped; |
| 1167 | 1167 |
| 1168 /** | 1168 /** |
| 1169 * Indicates whether this is an initializing formal parameter (i.e. it is | 1169 * Indicates whether this is an initializing formal parameter (i.e. it is |
| 1170 * declared using `this.` syntax). | 1170 * declared using `this.` syntax). |
| 1171 */ | 1171 */ |
| 1172 bool get isInitializingFormal; | 1172 bool get isInitializingFormal; |
| 1173 | 1173 |
| 1174 /** | 1174 /** |
| 1175 * If this parameter's type is inferrable, nonzero slot id identifying which | 1175 * If this parameter's type is inferable, nonzero slot id identifying which |
| 1176 * entry in [LinkedLibrary.types] contains the inferred type. If there is no | 1176 * entry in [LinkedLibrary.types] contains the inferred type. If there is no |
| 1177 * matching entry in [LinkedLibrary.types], then no type was inferred for | 1177 * matching entry in [LinkedLibrary.types], then no type was inferred for |
| 1178 * this variable, so its static type is `dynamic`. | 1178 * this variable, so its static type is `dynamic`. |
| 1179 * | 1179 * |
| 1180 * Note that although strong mode considers initializing formals to be | 1180 * Note that although strong mode considers initializing formals to be |
| 1181 * inferrable, they are not marked as such in the summary; if their type is | 1181 * inferable, they are not marked as such in the summary; if their type is |
| 1182 * not specified, they always inherit the static type of the corresponding | 1182 * not specified, they always inherit the static type of the corresponding |
| 1183 * field. | 1183 * field. |
| 1184 */ | 1184 */ |
| 1185 int get inferredTypeSlot; | 1185 int get inferredTypeSlot; |
| 1186 |
| 1187 /** |
| 1188 * If the parameter has a default value the constant expression in the |
| 1189 * default value. |
| 1190 */ |
| 1191 UnlinkedConst get defaultValue; |
| 1186 } | 1192 } |
| 1187 | 1193 |
| 1188 /** | 1194 /** |
| 1189 * Enum used to indicate the kind of a parameter. | 1195 * Enum used to indicate the kind of a parameter. |
| 1190 */ | 1196 */ |
| 1191 enum UnlinkedParamKind { | 1197 enum UnlinkedParamKind { |
| 1192 /** | 1198 /** |
| 1193 * Parameter is required. | 1199 * Parameter is required. |
| 1194 */ | 1200 */ |
| 1195 required, | 1201 required, |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1515 * If this variable is propagable, nonzero slot id identifying which entry in | 1521 * If this variable is propagable, nonzero slot id identifying which entry in |
| 1516 * [LinkedLibrary.types] contains the propagated type for this variable. If | 1522 * [LinkedLibrary.types] contains the propagated type for this variable. If |
| 1517 * there is no matching entry in [LinkedLibrary.types], then this variable's | 1523 * there is no matching entry in [LinkedLibrary.types], then this variable's |
| 1518 * propagated type is the same as its declared type. | 1524 * propagated type is the same as its declared type. |
| 1519 * | 1525 * |
| 1520 * Non-propagable variables have a [propagatedTypeSlot] of zero. | 1526 * Non-propagable variables have a [propagatedTypeSlot] of zero. |
| 1521 */ | 1527 */ |
| 1522 int get propagatedTypeSlot; | 1528 int get propagatedTypeSlot; |
| 1523 | 1529 |
| 1524 /** | 1530 /** |
| 1525 * If this variable is inferrable, nonzero slot id identifying which entry in | 1531 * If this variable is inferable, nonzero slot id identifying which entry in |
| 1526 * [LinkedLibrary.types] contains the inferred type for this variable. If | 1532 * [LinkedLibrary.types] contains the inferred type for this variable. If |
| 1527 * there is no matching entry in [LinkedLibrary.types], then no type was | 1533 * there is no matching entry in [LinkedLibrary.types], then no type was |
| 1528 * inferred for this variable, so its static type is `dynamic`. | 1534 * inferred for this variable, so its static type is `dynamic`. |
| 1529 */ | 1535 */ |
| 1530 int get inferredTypeSlot; | 1536 int get inferredTypeSlot; |
| 1531 } | 1537 } |
| OLD | NEW |