Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Side by Side Diff: pkg/analyzer/lib/dart/element/element.dart

Issue 2775863004: Add error checking for the immutable annotation (issue 27750) (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/analyzer/lib/error/error.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/error/error.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698