Index: lib/compiler/implementation/scanner/listener.dart |
diff --git a/lib/compiler/implementation/scanner/listener.dart b/lib/compiler/implementation/scanner/listener.dart |
index 6b3184ee090686e2230521416db0a7fcacad3ffc..8db9b688c59e5ffdc78fc7deedbd6d9538fdccc1 100644 |
--- a/lib/compiler/implementation/scanner/listener.dart |
+++ b/lib/compiler/implementation/scanner/listener.dart |
@@ -17,6 +17,12 @@ class Listener { |
void endBlock(int count, Token beginToken, Token endToken) { |
} |
+ void beginCascade(Token token) { |
+ } |
+ |
+ void endCascade() { |
+ } |
+ |
void beginClassBody(Token token) { |
} |
@@ -1010,7 +1016,7 @@ class NodeListener extends ElementListener { |
void handleBinaryExpression(Token token) { |
Node argument = popNode(); |
Node receiver = popNode(); |
- if (token.stringValue === '.') { |
+ if (token.stringValue === '.' || token.stringValue == '..') { |
ahe
2012/04/16 08:55:23
Please store the stringValue in a temporary.
Lasse Reichstein Nielsen
2012/04/16 12:41:38
Done.
|
if (argument is !Send) internalError(node: argument); |
if (argument.asSend().receiver !== null) internalError(node: argument); |
if (argument is SendSet) internalError(node: argument); |
@@ -1021,6 +1027,14 @@ class NodeListener extends ElementListener { |
} |
} |
+ void beginCascade(Token token) { |
+ pushNode(new CascadeReceiver(popNode(), token)); |
+ } |
+ |
+ void endCascade() { |
+ pushNode(new Cascade(popNode())); |
+ } |
+ |
void handleAssignmentExpression(Token token) { |
Node arg = popNode(); |
Node node = popNode(); |