OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 * Defines the element model. The element model describes the semantic (as | 6 * Defines the element model. The element model describes the semantic (as |
7 * opposed to syntactic) structure of Dart code. The syntactic structure of the | 7 * opposed to syntactic) structure of Dart code. The syntactic structure of the |
8 * code is modeled by the [AST structure](../ast/ast.dart). | 8 * code is modeled by the [AST structure](../ast/ast.dart). |
9 * | 9 * |
10 * The element model consists of two closely related kinds of objects: elements | 10 * The element model consists of two closely related kinds of objects: elements |
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
819 * deprecated. | 819 * deprecated. |
820 */ | 820 */ |
821 bool get isDeprecated; | 821 bool get isDeprecated; |
822 | 822 |
823 /** | 823 /** |
824 * Return `true` if this annotation marks the associated member as a factory. | 824 * Return `true` if this annotation marks the associated member as a factory. |
825 */ | 825 */ |
826 bool get isFactory; | 826 bool get isFactory; |
827 | 827 |
828 /** | 828 /** |
| 829 * Return `true` if this annotation marks the associated class and its |
| 830 * subclasses as being immutable. |
| 831 */ |
| 832 bool get isImmutable; |
| 833 |
| 834 /** |
829 * Return `true` if this annotation marks the associated element with the `JS` | 835 * Return `true` if this annotation marks the associated element with the `JS` |
830 * annotation. | 836 * annotation. |
831 */ | 837 */ |
832 bool get isJS; | 838 bool get isJS; |
833 | 839 |
834 /** | 840 /** |
835 * Return `true` if this annotation marks the associated member as requiring | 841 * Return `true` if this annotation marks the associated member as requiring |
836 * overriding methods to call super. | 842 * overriding methods to call super. |
837 */ | 843 */ |
838 bool get isMustCallSuper; | 844 bool get isMustCallSuper; |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1270 * Return `true` if the function is an entry point, i.e. a top-level function | 1276 * Return `true` if the function is an entry point, i.e. a top-level function |
1271 * and has the name `main`. | 1277 * and has the name `main`. |
1272 */ | 1278 */ |
1273 bool get isEntryPoint; | 1279 bool get isEntryPoint; |
1274 | 1280 |
1275 @override | 1281 @override |
1276 FunctionDeclaration computeNode(); | 1282 FunctionDeclaration computeNode(); |
1277 } | 1283 } |
1278 | 1284 |
1279 /** | 1285 /** |
1280 * The pseudo-declaration that defines a generic function type. | |
1281 */ | |
1282 abstract class GenericFunctionTypeElement implements FunctionTypedElement {} | |
1283 | |
1284 /** | |
1285 * A function type alias (`typedef`). | 1286 * A function type alias (`typedef`). |
1286 * | 1287 * |
1287 * Clients may not extend, implement or mix-in this class. | 1288 * Clients may not extend, implement or mix-in this class. |
1288 */ | 1289 */ |
1289 abstract class FunctionTypeAliasElement | 1290 abstract class FunctionTypeAliasElement |
1290 implements FunctionTypedElement, TypeDefiningElement { | 1291 implements FunctionTypedElement, TypeDefiningElement { |
1291 /** | 1292 /** |
1292 * An empty array of type alias elements. | 1293 * An empty array of type alias elements. |
1293 */ | 1294 */ |
1294 static List<FunctionTypeAliasElement> EMPTY_LIST = | 1295 static List<FunctionTypeAliasElement> EMPTY_LIST = |
(...skipping 25 matching lines...) Expand all Loading... |
1320 * fully populated, then the [returnType] will not be `null`, even if no | 1321 * fully populated, then the [returnType] will not be `null`, even if no |
1321 * return type was explicitly specified. | 1322 * return type was explicitly specified. |
1322 */ | 1323 */ |
1323 DartType get returnType; | 1324 DartType get returnType; |
1324 | 1325 |
1325 @override | 1326 @override |
1326 FunctionType get type; | 1327 FunctionType get type; |
1327 } | 1328 } |
1328 | 1329 |
1329 /** | 1330 /** |
| 1331 * The pseudo-declaration that defines a generic function type. |
| 1332 */ |
| 1333 abstract class GenericFunctionTypeElement implements FunctionTypedElement {} |
| 1334 |
| 1335 /** |
1330 * A combinator that causes some of the names in a namespace to be hidden when | 1336 * A combinator that causes some of the names in a namespace to be hidden when |
1331 * being imported. | 1337 * being imported. |
1332 * | 1338 * |
1333 * Clients may not extend, implement or mix-in this class. | 1339 * Clients may not extend, implement or mix-in this class. |
1334 */ | 1340 */ |
1335 abstract class HideElementCombinator implements NamespaceCombinator { | 1341 abstract class HideElementCombinator implements NamespaceCombinator { |
1336 /** | 1342 /** |
1337 * Return a list containing the names that are not to be made visible in the | 1343 * Return a list containing the names that are not to be made visible in the |
1338 * importing library even if they are defined in the imported library. | 1344 * importing library even if they are defined in the imported library. |
1339 */ | 1345 */ |
(...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2063 DartType get type; | 2069 DartType get type; |
2064 | 2070 |
2065 /** | 2071 /** |
2066 * Return a representation of the value of this variable, forcing the value | 2072 * Return a representation of the value of this variable, forcing the value |
2067 * to be computed if it had not previously been computed, or `null` if either | 2073 * to be computed if it had not previously been computed, or `null` if either |
2068 * this variable was not declared with the 'const' modifier or if the value of | 2074 * this variable was not declared with the 'const' modifier or if the value of |
2069 * this variable could not be computed because of errors. | 2075 * this variable could not be computed because of errors. |
2070 */ | 2076 */ |
2071 DartObject computeConstantValue(); | 2077 DartObject computeConstantValue(); |
2072 } | 2078 } |
OLD | NEW |