| Index: pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| index c23efd500fc60735aa3e8d75a03276333f73ced3..d5d1449537422b0fbfdc0230b71f4dfb65c776d4 100644
|
| --- a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| +++ b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
|
| @@ -895,6 +895,20 @@ class TypeExpression extends Expression {
|
| }
|
| }
|
|
|
| +class Await extends Expression {
|
| + Expression input;
|
| +
|
| + Await(this.input);
|
| +
|
| + accept(ExpressionVisitor visitor) {
|
| + return visitor.visitAwait(this);
|
| + }
|
| +
|
| + accept1(ExpressionVisitor1 visitor, arg) {
|
| + return visitor.visitAwait(this, arg);
|
| + }
|
| +}
|
| +
|
| abstract class ExpressionVisitor<E> {
|
| E visitExpression(Expression node) => node.accept(this);
|
| E visitVariableUse(VariableUse node);
|
| @@ -928,6 +942,7 @@ abstract class ExpressionVisitor<E> {
|
| E visitGetLength(GetLength node);
|
| E visitGetIndex(GetIndex node);
|
| E visitSetIndex(SetIndex node);
|
| + E visitAwait(Await node);
|
| }
|
|
|
| abstract class ExpressionVisitor1<E, A> {
|
| @@ -963,6 +978,7 @@ abstract class ExpressionVisitor1<E, A> {
|
| E visitGetLength(GetLength node, A arg);
|
| E visitGetIndex(GetIndex node, A arg);
|
| E visitSetIndex(SetIndex node, A arg);
|
| + E visitAwait(Await node, A arg);
|
| }
|
|
|
| abstract class StatementVisitor<S> {
|
| @@ -1196,6 +1212,10 @@ abstract class RecursiveVisitor implements StatementVisitor, ExpressionVisitor {
|
| visitExpression(node.index);
|
| visitExpression(node.value);
|
| }
|
| +
|
| + visitAwait(Await node) {
|
| + visitExpression(node.input);
|
| + }
|
| }
|
|
|
| abstract class Transformer implements ExpressionVisitor<Expression>,
|
| @@ -1438,6 +1458,11 @@ class RecursiveTransformer extends Transformer {
|
| node.value = visitExpression(node.value);
|
| return node;
|
| }
|
| +
|
| + visitAwait(Await node) {
|
| + node.input = visitExpression(node.input);
|
| + return node;
|
| + }
|
| }
|
|
|
| class FallthroughTarget {
|
|
|