From 10cda2fe28f310b4038ff45050194419f370c0c1 Mon Sep 17 00:00:00 2001 From: Hixie Date: Thu, 4 Jun 2015 15:58:43 -0700 Subject: [PATCH] Include DETACHED, NEEDS-LAYOUT, and relayoutSubtreeRoot info in the debug output for the render tree R=chinmaygarde@google.com Review URL: https://codereview.chromium.org/1149083011 --- sdk/lib/framework/rendering/object.dart | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sdk/lib/framework/rendering/object.dart b/sdk/lib/framework/rendering/object.dart index 86eec6e2b..5aee1f85f 100644 --- a/sdk/lib/framework/rendering/object.dart +++ b/sdk/lib/framework/rendering/object.dart @@ -222,9 +222,22 @@ abstract class RenderObject extends AbstractNode { String toString([String prefix = '']) { - String header = '${runtimeType}\n'; + String header = '${runtimeType}'; + if (_relayoutSubtreeRoot != null && _relayoutSubtreeRoot != this) { + int count = 1; + RenderObject target = parent; + while (target != null && target != _relayoutSubtreeRoot) { + target = target.parent as RenderObject; + count += 1; + } + header += ' relayoutSubtreeRoot=up$count'; + } + if (_needsLayout) + header += ' NEEDS-LAYOUT'; + if (!attached) + header += ' DETACHED'; prefix += ' '; - return '${header}${debugDescribeSettings(prefix)}${debugDescribeChildren(prefix)}'; + return '${header}\n${debugDescribeSettings(prefix)}${debugDescribeChildren(prefix)}'; } String debugDescribeSettings(String prefix) => '${prefix}parentData: ${parentData}\n'; String debugDescribeChildren(String prefix) => ''; -- GitLab