Fix _LateInitializationError for RenderObjectElement.renderObject (#70974)
diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index 3978fc3..71b3bc7 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart
@@ -5463,8 +5463,8 @@ /// The underlying [RenderObject] for this element. @override - RenderObject get renderObject => _renderObject; - late RenderObject _renderObject; + RenderObject get renderObject => _renderObject!; + RenderObject? _renderObject; bool _debugDoingBuild = false; @override @@ -5566,7 +5566,7 @@ void _debugUpdateRenderObjectOwner() { assert(() { - _renderObject.debugCreator = DebugCreator(this); + renderObject.debugCreator = DebugCreator(this); return true; }()); } @@ -6058,7 +6058,7 @@ @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); - properties.add(DiagnosticsProperty<RenderObject>('renderObject', renderObject, defaultValue: null)); + properties.add(DiagnosticsProperty<RenderObject>('renderObject', _renderObject, defaultValue: null)); } }
diff --git a/packages/flutter/test/widgets/framework_test.dart b/packages/flutter/test/widgets/framework_test.dart index 7dc9e7e..9b8e7a1 100644 --- a/packages/flutter/test/widgets/framework_test.dart +++ b/packages/flutter/test/widgets/framework_test.dart
@@ -1494,6 +1494,12 @@ expect(GestureBinding.instance!.pointerRouter.debugGlobalRouteCount, pointerRouterCount); expect(RawKeyboard.instance.keyEventHandler, same(rawKeyEventHandler)); }); + + testWidgets('Can access debugFillProperties without _LateInitializationError', (WidgetTester tester) async { + final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); + TestRenderObjectElement().debugFillProperties(builder); + expect(builder.properties.any((DiagnosticsNode property) => property.name == 'renderObject' && property.value == null), isTrue); + }); } class _FakeFocusManager implements FocusManager { @@ -1837,3 +1843,7 @@ size = constraints.biggest; } } + +class TestRenderObjectElement extends RenderObjectElement { + TestRenderObjectElement() : super(Table()); +}