Index: sky/sdk/lib/widgets/ui_node.dart |
diff --git a/sky/sdk/lib/widgets/ui_node.dart b/sky/sdk/lib/widgets/ui_node.dart |
index cdaaf540560ccf1ec8df35d7f71cb6e8e5b1d8fa..a0fcc6f35ca052dbe784f76a542f61264c15d722 100644 |
--- a/sky/sdk/lib/widgets/ui_node.dart |
+++ b/sky/sdk/lib/widgets/ui_node.dart |
@@ -15,18 +15,13 @@ export '../rendering/box.dart' show BoxConstraints, BoxDecoration, Border, Borde |
export '../rendering/flex.dart' show FlexDirection; |
export '../rendering/object.dart' show Point, Size, Rect, Color, Paint, Path; |
- |
-// final sky.Tracing _tracing = sky.window.tracing; |
- |
final bool _shouldLogRenderDuration = false; |
-/* |
- * All Effen nodes derive from UINode. All nodes have a _parent, a _key and |
- * can be sync'd. |
- */ |
+// All Effen nodes derive from UINode. All nodes have a _parent, a _key and |
+// can be sync'd. |
abstract class UINode { |
- UINode({ Object key }) { |
+ UINode({ String key }) { |
_key = key == null ? "$runtimeType" : "$runtimeType-$key"; |
assert(this is AbstractUINodeRoot || _inRenderDirtyComponents); // you should not build the UI tree ahead of time, build it only during build() |
} |
@@ -157,7 +152,8 @@ abstract class UINode { |
// stylistic information, etc. |
abstract class TagNode extends UINode { |
- TagNode(UINode content, { Object key }) : this.content = content, super(key: key); |
+ TagNode(UINode content, { String key }) |
+ : this.content = content, super(key: key); |
UINode content; |
@@ -178,7 +174,8 @@ abstract class TagNode extends UINode { |
} |
class ParentDataNode extends TagNode { |
- ParentDataNode(UINode content, this.parentData, { Object key }): super(content, key: key); |
+ ParentDataNode(UINode content, this.parentData, { String key }) |
+ : super(content, key: key); |
final ParentData parentData; |
} |
@@ -275,14 +272,11 @@ class EventListenerNode extends TagNode { |
abstract class Component extends UINode { |
- Component({ Object key, bool stateful }) |
+ Component({ String key, bool stateful }) |
: _stateful = stateful != null ? stateful : false, |
_order = _currentOrder + 1, |
super(key: key); |
- Component.fromArgs(Object key, bool stateful) |
- : this(key: key, stateful: stateful); |
- |
static Component _currentlyBuilding; |
bool get _isBuilding => _currentlyBuilding == this; |
@@ -341,14 +335,13 @@ abstract class Component extends UINode { |
final int _order; |
static int _currentOrder = 0; |
- /* There are three cases here: |
- * 1) Building for the first time: |
- * assert(_built == null && old == null) |
- * 2) Re-building (because a dirty flag got set): |
- * assert(_built != null && old == null) |
- * 3) Syncing against an old version |
- * assert(_built == null && old != null) |
- */ |
+ // There are three cases here: |
+ // 1) Building for the first time: |
+ // assert(_built == null && old == null) |
+ // 2) Re-building (because a dirty flag got set): |
+ // assert(_built != null && old == null) |
+ // 3) Syncing against an old version |
+ // assert(_built == null && old != null) |
void _sync(UINode old, dynamic slot) { |
assert(_built == null || old == null); |
assert(!_disqualifiedFromEverAppearingAgain); |
@@ -456,18 +449,14 @@ void _scheduleComponentForRender(Component c) { |
} |
-/* |
- * RenderObjectWrappers correspond to a desired state of a RenderObject. |
- * They are fully immutable, with one exception: A UINode which is a |
- * Component which lives within an MultiChildRenderObjectWrapper's |
- * children list, may be replaced with the "old" instance if it has |
- * become stateful. |
- */ |
+// RenderObjectWrappers correspond to a desired state of a RenderObject. |
+// They are fully immutable, with one exception: A UINode which is a |
+// Component which lives within an MultiChildRenderObjectWrapper's |
+// children list, may be replaced with the "old" instance if it has |
+// become stateful. |
abstract class RenderObjectWrapper extends UINode { |
- RenderObjectWrapper({ |
- Object key |
- }) : super(key: key); |
+ RenderObjectWrapper({ String key }) : super(key: key); |
RenderObject createNode(); |
@@ -524,7 +513,8 @@ abstract class RenderObjectWrapper extends UINode { |
abstract class OneChildRenderObjectWrapper extends RenderObjectWrapper { |
- OneChildRenderObjectWrapper({ UINode child, Object key }) : _child = child, super(key: key); |
+ OneChildRenderObjectWrapper({ UINode child, String key }) |
+ : _child = child, super(key: key); |
UINode _child; |
UINode get child => _child; |
@@ -564,11 +554,9 @@ abstract class MultiChildRenderObjectWrapper extends RenderObjectWrapper { |
// In MultiChildRenderObjectWrapper subclasses, slots are RenderObject nodes |
// to use as the "insert before" sibling in ContainerRenderObjectMixin.add() calls |
- MultiChildRenderObjectWrapper({ |
- Object key, |
- List<UINode> children |
- }) : this.children = children == null ? const [] : children, |
- super(key: key) { |
+ MultiChildRenderObjectWrapper({ String key, List<UINode> children }) |
+ : this.children = children == null ? const [] : children, |
+ super(key: key) { |
assert(!_debugHasDuplicateIds()); |
} |