| Index: pkg/polymer_expressions/lib/eval.dart
|
| diff --git a/pkg/polymer_expressions/lib/eval.dart b/pkg/polymer_expressions/lib/eval.dart
|
| index 5c0c6e445ef720a847f28524686808b62be4124c..4f624b1d6b421f7b896c9408188a28e58fb1d3e5 100644
|
| --- a/pkg/polymer_expressions/lib/eval.dart
|
| +++ b/pkg/polymer_expressions/lib/eval.dart
|
| @@ -420,20 +420,20 @@ class IdentifierObserver extends ExpressionObserver<Identifier>
|
|
|
| IdentifierObserver(Identifier value) : super(value);
|
|
|
| - dynamic get value => _expr.value;
|
| + String get value => (_expr as Identifier).value;
|
|
|
| _updateSelf(Scope scope) {
|
| - _value = scope[_expr.value];
|
| + _value = scope[value];
|
|
|
| - var owner = scope.ownerOf(_expr.value);
|
| + var owner = scope.ownerOf(value);
|
| if (owner is Observable) {
|
| - _subscription = (owner as Observable).changes.listen(
|
| - (List<ChangeRecord> changes) {
|
| - var symbol = new Symbol(_expr.value);
|
| - if (changes.any((c) => c.changes(symbol))) {
|
| - _invalidate(scope);
|
| - }
|
| - });
|
| + var symbol = new Symbol(value);
|
| + _subscription = (owner as Observable).changes.listen((changes) {
|
| + if (changes.any(
|
| + (c) => c is PropertyChangeRecord && c.name == symbol)) {
|
| + _invalidate(scope);
|
| + }
|
| + });
|
| }
|
| }
|
|
|
| @@ -545,7 +545,7 @@ class InvokeObserver extends ExpressionObserver<Invoke> implements Invoke {
|
| _subscription = (receiverValue as Observable).changes.listen(
|
| (List<ChangeRecord> changes) {
|
| if (changes.any((c) =>
|
| - c is MapChangeRecord && c.changes(key))) {
|
| + c is MapChangeRecord && c.key == key)) {
|
| _invalidate(scope);
|
| }
|
| });
|
| @@ -560,7 +560,8 @@ class InvokeObserver extends ExpressionObserver<Invoke> implements Invoke {
|
| if (receiverValue is Observable) {
|
| _subscription = (receiverValue as Observable).changes.listen(
|
| (List<ChangeRecord> changes) {
|
| - if (changes.any((c) => c.changes(symbol))) {
|
| + if (changes.any(
|
| + (c) => c is PropertyChangeRecord && c.name == symbol)) {
|
| _invalidate(scope);
|
| }
|
| });
|
|
|