| Index: compiler/java/com/google/dart/compiler/parser/DartParser.java
 | 
| ===================================================================
 | 
| --- compiler/java/com/google/dart/compiler/parser/DartParser.java	(revision 8338)
 | 
| +++ compiler/java/com/google/dart/compiler/parser/DartParser.java	(working copy)
 | 
| @@ -1889,6 +1889,10 @@
 | 
|            } else {
 | 
|              right = done(new DartTypeExpression(parseTypeAnnotation()));
 | 
|            }
 | 
| +        } else if (token == Token.AS) {
 | 
| +          beginCastExpression();
 | 
| +          beginTypeExpression();
 | 
| +          right = done(new DartTypeExpression(parseTypeAnnotation()));
 | 
|          } else {
 | 
|            right = parseBinaryExpression(level + 1);
 | 
|          }
 | 
| @@ -1898,7 +1902,8 @@
 | 
|  
 | 
|          lastResult = right;
 | 
|          result = doneWithoutConsuming(new DartBinaryExpression(token, result, right));
 | 
| -        if ((token == Token.IS)
 | 
| +        if (token == Token.IS
 | 
| +            || token == Token.AS
 | 
|              || token.isRelationalOperator()
 | 
|              || token.isEqualityOperator()) {
 | 
|            // The operations cannot be chained.
 | 
| 
 |