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

Side by Side Diff: lib/src/js/nodes.dart

Issue 1243503007: fixes #221, initial sync*, async, async* implementation (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 4 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 | « lib/src/info.dart ('k') | lib/src/js/printer.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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 part of js_ast; 5 part of js_ast;
6 6
7 abstract class NodeVisitor<T> { 7 abstract class NodeVisitor<T> {
8 T visitProgram(Program node); 8 T visitProgram(Program node);
9 9
10 T visitBlock(Block node); 10 T visitBlock(Block node);
(...skipping 1264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1275 template.accept(visitor); 1275 template.accept(visitor);
1276 } 1276 }
1277 1277
1278 TaggedTemplate _clone() => new TaggedTemplate(tag, template); 1278 TaggedTemplate _clone() => new TaggedTemplate(tag, template);
1279 1279
1280 int get precedenceLevel => CALL; 1280 int get precedenceLevel => CALL;
1281 } 1281 }
1282 1282
1283 // TODO(jmesserly): parser does not support this yet. 1283 // TODO(jmesserly): parser does not support this yet.
1284 class Yield extends Expression { 1284 class Yield extends Expression {
1285 final Expression value; 1285 final Expression value; // Can be null.
1286 1286
1287 /** 1287 /**
1288 * Whether this yield expression is a `yield*` that iterates each item in 1288 * Whether this yield expression is a `yield*` that iterates each item in
1289 * [value]. 1289 * [value].
1290 */ 1290 */
1291 final bool star; 1291 final bool star;
1292 1292
1293 Yield(this.value, {this.star: false}); 1293 Yield(this.value, {this.star: false});
1294 1294
1295 accept(NodeVisitor visitor) => visitor.visitYield(this); 1295 accept(NodeVisitor visitor) => visitor.visitYield(this);
1296 1296
1297 void visitChildren(NodeVisitor visitor) { 1297 void visitChildren(NodeVisitor visitor) {
1298 value.accept(visitor); 1298 if (value != null) value.accept(visitor);
1299 } 1299 }
1300 1300
1301 Yield _clone() => new Yield(value); 1301 Yield _clone() => new Yield(value);
1302 1302
1303 int get precedenceLevel => YIELD; 1303 int get precedenceLevel => YIELD;
1304 } 1304 }
1305 1305
1306 class ClassDeclaration extends Statement { 1306 class ClassDeclaration extends Statement {
1307 final ClassExpression classExpr; 1307 final ClassExpression classExpr;
1308 1308
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1529 final Expression expression; 1529 final Expression expression;
1530 1530
1531 CommentExpression(this.comment, this.expression); 1531 CommentExpression(this.comment, this.expression);
1532 1532
1533 int get precedenceLevel => PRIMARY; 1533 int get precedenceLevel => PRIMARY;
1534 accept(NodeVisitor visitor) => visitor.visitCommentExpression(this); 1534 accept(NodeVisitor visitor) => visitor.visitCommentExpression(this);
1535 CommentExpression _clone() => new CommentExpression(comment, expression); 1535 CommentExpression _clone() => new CommentExpression(comment, expression);
1536 1536
1537 void visitChildren(NodeVisitor visitor) => expression.accept(visitor); 1537 void visitChildren(NodeVisitor visitor) => expression.accept(visitor);
1538 } 1538 }
OLDNEW
« no previous file with comments | « lib/src/info.dart ('k') | lib/src/js/printer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698