Chromium Code Reviews| Index: pkg/polymer_expressions/lib/eval.dart |
| diff --git a/pkg/polymer_expressions/lib/eval.dart b/pkg/polymer_expressions/lib/eval.dart |
| index dbf1f8897412323ff29320faccb6b20f8b36b927..43b3b505f22f9d10fe3153ff611e6aa602a59a85 100644 |
| --- a/pkg/polymer_expressions/lib/eval.dart |
| +++ b/pkg/polymer_expressions/lib/eval.dart |
| @@ -74,24 +74,25 @@ void assign(Expression expr, Object value, Scope scope) { |
| bool isIndex = false; |
| var filters = <Expression>[]; // reversed order for assignment |
| - while (expr is BinaryOperator && expr.operator == '|') { |
| - filters.add(expr.right); |
| - expr = expr.left; |
| + while (expr is BinaryOperator && (expr as BinaryOperator).operator == '|') { |
| + filters.add((expr as BinaryOperator).right); |
|
justinfagnani
2013/08/29 18:31:49
I'd prefer not use casts when they can be avoided.
blois
2013/08/29 19:43:22
Done.
|
| + expr = (expr as BinaryOperator).left; |
| } |
| if (expr is Identifier) { |
| expression = empty(); |
| - property = expr.value; |
| + property = (expr as Identifier).value; |
|
justinfagnani
2013/08/29 18:31:49
Identifier ident = expr;
property = ident.value;
blois
2013/08/29 19:43:22
Done.
|
| } else if (expr is Invoke) { |
| - expression = expr.receiver; |
| - if (expr.method == '[]') { |
| - if (expr.arguments[0] is! Literal) notAssignable(); |
| - Literal l = expr.arguments[0]; |
| + Invoke invoke = expr; |
| + expression = invoke.receiver; |
| + if (invoke.method == '[]') { |
| + if (invoke.arguments[0] is! Literal) notAssignable(); |
| + Literal l = invoke.arguments[0]; |
| property = l.value; |
| isIndex = true; |
| - } else if (expr.method != null) { |
| - if (expr.arguments != null) notAssignable(); |
| - property = expr.method; |
| + } else if (invoke.method != null) { |
| + if (invoke.arguments != null) notAssignable(); |
| + property = invoke.method; |
| } else { |
| notAssignable(); |
| } |
| @@ -418,7 +419,7 @@ class ParenthesizedObserver extends ExpressionObserver<ParenthesizedExpression> |
| implements ParenthesizedExpression { |
| final ExpressionObserver child; |
| - ParenthesizedObserver(ExpressionObserver expr, this.child) : super(expr); |
| + ParenthesizedObserver(ParenthesizedExpression expr, this.child) : super(expr); |
| _updateSelf(Scope scope) { |