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

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

Issue 2637543002: Introduce the interface NamedType as a replacement for TypeName (Closed)
Patch Set: Created 3 years, 11 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 | no next file » | 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 AST model. The AST (Abstract Syntax Tree) model describes the 6 * Defines the AST model. The AST (Abstract Syntax Tree) model describes the
7 * syntactic (as opposed to semantic) structure of Dart code. The semantic 7 * syntactic (as opposed to semantic) structure of Dart code. The semantic
8 * structure of the code is modeled by the 8 * structure of the code is modeled by the
9 * [element model](../element/element.dart). 9 * [element model](../element/element.dart).
10 * 10 *
(...skipping 5034 matching lines...) Expand 10 before | Expand all | Expand 10 after
5045 */ 5045 */
5046 Label get name; 5046 Label get name;
5047 5047
5048 /** 5048 /**
5049 * Set the name associated with the expression to the given [identifier]. 5049 * Set the name associated with the expression to the given [identifier].
5050 */ 5050 */
5051 void set name(Label identifier); 5051 void set name(Label identifier);
5052 } 5052 }
5053 5053
5054 /** 5054 /**
5055 * A named type, which can optionally include type arguments.
5056 *
5057 * namedType ::=
5058 * [Identifier] typeArguments?
5059 *
5060 * Clients may not extend, implement or mix-in this class.
5061 */
5062 abstract class NamedType extends TypeAnnotation {
5063 /**
5064 * Return `true` if this type is a deferred type.
5065 *
5066 * 15.1 Static Types: A type <i>T</i> is deferred iff it is of the form
5067 * </i>p.T</i> where <i>p</i> is a deferred prefix.
5068 */
5069 bool get isDeferred;
5070
5071 /**
5072 * Return the name of the type.
5073 */
5074 Identifier get name;
5075
5076 /**
5077 * Set the name of the type to the given [identifier].
5078 */
5079 void set name(Identifier identifier);
5080
5081 /**
5082 * Return the question mark marking this as a nullable type, or `null` if
5083 * the type is non-nullable.
5084 */
5085 Token get question;
5086
5087 /**
5088 * Return the question mark marking this as a nullable type to the given
5089 * [question].
5090 */
5091 void set question(Token question);
5092
5093 /**
5094 * Set the type being named to the given [type].
5095 */
5096 void set type(DartType type);
5097
5098 /**
5099 * Return the type arguments associated with the type, or `null` if there are
5100 * no type arguments.
5101 */
5102 TypeArgumentList get typeArguments;
5103
5104 /**
5105 * Set the type arguments associated with the type to the given
5106 * [typeArguments].
5107 */
5108 void set typeArguments(TypeArgumentList typeArguments);
5109 }
5110
5111 /**
5055 * A node that represents a directive that impacts the namespace of a library. 5112 * A node that represents a directive that impacts the namespace of a library.
5056 * 5113 *
5057 * directive ::= 5114 * directive ::=
5058 * [ExportDirective] 5115 * [ExportDirective]
5059 * | [ImportDirective] 5116 * | [ImportDirective]
5060 * 5117 *
5061 * Clients may not extend, implement or mix-in this class. 5118 * Clients may not extend, implement or mix-in this class.
5062 */ 5119 */
5063 abstract class NamespaceDirective extends UriBasedDirective { 5120 abstract class NamespaceDirective extends UriBasedDirective {
5064 /** 5121 /**
(...skipping 1949 matching lines...) Expand 10 before | Expand all | Expand 10 after
7014 /** 7071 /**
7015 * Return the 'yield' keyword. 7072 * Return the 'yield' keyword.
7016 */ 7073 */
7017 Token get yieldKeyword; 7074 Token get yieldKeyword;
7018 7075
7019 /** 7076 /**
7020 * Return the 'yield' keyword to the given [token]. 7077 * Return the 'yield' keyword to the given [token].
7021 */ 7078 */
7022 void set yieldKeyword(Token token); 7079 void set yieldKeyword(Token token);
7023 } 7080 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698