Chromium Code Reviews| Index: dart/sdk/lib/_internal/compiler/implementation/js/nodes.dart |
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/js/nodes.dart b/dart/sdk/lib/_internal/compiler/implementation/js/nodes.dart |
| index 1f1134c3ae85f10c5d099e9ad531ffe2f63078a5..d8773aaae511037d6f2db6edda0c91ed46dc9047 100644 |
| --- a/dart/sdk/lib/_internal/compiler/implementation/js/nodes.dart |
| +++ b/dart/sdk/lib/_internal/compiler/implementation/js/nodes.dart |
| @@ -28,6 +28,7 @@ abstract class NodeVisitor<T> { |
| T visitLabeledStatement(LabeledStatement node); |
| T visitLiteralStatement(LiteralStatement node); |
| + T visitBlob(Blob node); |
| T visitLiteralExpression(LiteralExpression node); |
| T visitVariableDeclarationList(VariableDeclarationList node); |
| T visitSequence(Sequence node); |
| @@ -103,6 +104,7 @@ class BaseVisitor<T> implements NodeVisitor<T> { |
| T visitDefault(Default node) => visitNode(node); |
| T visitExpression(Expression node) => visitNode(node); |
| + T visitBlob(Blob node) => visitExpression(node); |
| T visitVariableReference(VariableReference node) => visitExpression(node); |
| T visitLiteralExpression(LiteralExpression node) => visitExpression(node); |
| @@ -516,6 +518,19 @@ abstract class Expression extends Node { |
| Prefix get not => new Prefix('!', this); |
| } |
| +/// Wrap a CodeBuffer as an expression. |
|
ngeoffray
2013/07/17 07:35:57
This feels very workaround-ish. Add a TODO that th
ahe
2013/07/17 07:55:27
Agreed. The intent is to make it easier to migrat
|
| +class Blob extends Expression { |
| + final leg.CodeBuffer buffer; |
| + |
| + Blob(this.buffer); |
| + |
| + accept(NodeVisitor visitor) => visitor.visitBlob(this); |
| + |
| + void visitChildren(NodeVisitor visitor) {} |
| + |
| + int get precedenceLevel => PRIMARY; |
| +} |
| + |
| class LiteralExpression extends Expression { |
| final String template; |
| final List<Expression> inputs; |