Index: sky/framework/components/animated_component.dart |
diff --git a/sky/framework/components/animated_component.dart b/sky/framework/components/animated_component.dart |
index a4bfda004fe0bb19774c61b7f63a48a19e3b6c0d..34d906f2a0edf4a97e4511a6c422f946ff5e67bc 100644 |
--- a/sky/framework/components/animated_component.dart |
+++ b/sky/framework/components/animated_component.dart |
@@ -9,12 +9,18 @@ import 'dart:mirrors'; |
abstract class AnimatedComponent extends Component { |
AnimatedComponent({ Object key }) : super(key: key, stateful: true); |
+ var _debugAnimatedFields = new Set<Symbol>(); |
+ bool _debugIsNotYetAnimated(Symbol s) { |
+ return _debugAnimatedFields.add(s); |
+ } |
+ |
animateField(AnimatedValue value, Symbol symbol) { |
// TODO(rafaelw): Assert symbol is present on |this|, is private and |
// is over the same parameterized type as the animated value. |
var mirror = reflect(this); |
var subscription; |
+ assert(_debugIsNotYetAnimated(symbol)); |
mirror.setField(symbol, value.value); |
onDidMount(() { |