Revert "(insert|move|remove)ChildRenderObject Deprecation: Step 1 (#64189)" (#64249)

This reverts commit 21cfed34d478d6a1c0223557a7935b69b15613bb.
diff --git a/packages/flutter/lib/src/cupertino/action_sheet.dart b/packages/flutter/lib/src/cupertino/action_sheet.dart
index 364d148..8bc6e64 100644
--- a/packages/flutter/lib/src/cupertino/action_sheet.dart
+++ b/packages/flutter/lib/src/cupertino/action_sheet.dart
@@ -448,13 +448,13 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, _AlertSections slot) {
+  void insertChildRenderObject(RenderObject child, _AlertSections slot) {
     _placeChildInSlot(child, slot);
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, _AlertSections oldSlot, _AlertSections newSlot) {
-    _placeChildInSlot(child, newSlot);
+  void moveChildRenderObject(RenderObject child, _AlertSections slot) {
+    _placeChildInSlot(child, slot);
   }
 
   @override
@@ -478,7 +478,7 @@
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, _AlertSections slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(child == renderObject.contentSection || child == renderObject.actionsSection);
     if (renderObject.contentSection == child) {
       renderObject.contentSection = null;
diff --git a/packages/flutter/lib/src/cupertino/dialog.dart b/packages/flutter/lib/src/cupertino/dialog.dart
index b310a71..f8c5361 100644
--- a/packages/flutter/lib/src/cupertino/dialog.dart
+++ b/packages/flutter/lib/src/cupertino/dialog.dart
@@ -433,7 +433,7 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, _AlertDialogSections slot) {
+  void insertChildRenderObject(RenderObject child, _AlertDialogSections slot) {
     assert(slot != null);
     switch (slot) {
       case _AlertDialogSections.contentSection:
@@ -446,7 +446,7 @@
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, _AlertDialogSections oldSlot, _AlertDialogSections newSlot) {
+  void moveChildRenderObject(RenderObject child, _AlertDialogSections slot) {
     assert(false);
   }
 
@@ -470,7 +470,7 @@
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, _AlertDialogSections slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(child == renderObject.contentSection || child == renderObject.actionsSection);
     if (renderObject.contentSection == child) {
       renderObject.contentSection = null;
diff --git a/packages/flutter/lib/src/cupertino/text_selection.dart b/packages/flutter/lib/src/cupertino/text_selection.dart
index fad1d67..d3bd9e0 100644
--- a/packages/flutter/lib/src/cupertino/text_selection.dart
+++ b/packages/flutter/lib/src/cupertino/text_selection.dart
@@ -775,9 +775,10 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, dynamic slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slot) {
     if (slot is _CupertinoTextSelectionToolbarItemsSlot) {
       assert(child is RenderBox);
+      assert(slot is _CupertinoTextSelectionToolbarItemsSlot);
       _updateRenderObject(child as RenderBox, slot);
       assert(renderObject.childToSlot.containsKey(child));
       assert(renderObject.slotToChild.containsKey(slot));
@@ -793,9 +794,9 @@
 
   // This is not reachable for children that don't have an IndexedSlot.
   @override
-  void moveRenderObjectChild(RenderObject child, IndexedSlot<Element> oldSlot, IndexedSlot<Element> newSlot) {
+  void moveChildRenderObject(RenderObject child, IndexedSlot<Element> slot) {
     assert(child.parent == renderObject);
-    renderObject.move(child as RenderBox, after: newSlot?.value?.renderObject as RenderBox);
+    renderObject.move(child as RenderBox, after: slot?.value?.renderObject as RenderBox);
   }
 
   static bool _shouldPaint(Element child) {
@@ -803,20 +804,18 @@
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, dynamic slot) {
+  void removeChildRenderObject(RenderObject child) {
     // Check if the child is in a slot.
-    if (slot is _CupertinoTextSelectionToolbarItemsSlot) {
+    if (renderObject.childToSlot.containsKey(child)) {
       assert(child is RenderBox);
-      assert(renderObject.slotToChild.containsKey(slot));
       assert(renderObject.childToSlot.containsKey(child));
-      _updateRenderObject(null, slot);
+      _updateRenderObject(null, renderObject.childToSlot[child]);
       assert(!renderObject.childToSlot.containsKey(child));
       assert(!renderObject.slotToChild.containsKey(slot));
       return;
     }
 
     // Otherwise look for it in the list of children.
-    assert(slot is IndexedSlot);
     assert(child.parent == renderObject);
     renderObject.remove(child as RenderBox);
   }
diff --git a/packages/flutter/lib/src/material/chip.dart b/packages/flutter/lib/src/material/chip.dart
index f0f6c90..6a8900d 100644
--- a/packages/flutter/lib/src/material/chip.dart
+++ b/packages/flutter/lib/src/material/chip.dart
@@ -2148,25 +2148,26 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, _ChipSlot slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slotValue) {
     assert(child is RenderBox);
+    assert(slotValue is _ChipSlot);
+    final _ChipSlot slot = slotValue as _ChipSlot;
     _updateRenderObject(child, slot);
     assert(renderObject.childToSlot.keys.contains(child));
     assert(renderObject.slotToChild.keys.contains(slot));
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, _ChipSlot slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(child is RenderBox);
-    assert(renderObject.childToSlot[child] == slot);
-    assert(renderObject.slotToChild[slot] == child);
-    _updateRenderObject(null, slot);
+    assert(renderObject.childToSlot.keys.contains(child));
+    _updateRenderObject(null, renderObject.childToSlot[child]);
     assert(!renderObject.childToSlot.keys.contains(child));
     assert(!renderObject.slotToChild.keys.contains(slot));
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slotValue) {
     assert(false, 'not reachable');
   }
 }
diff --git a/packages/flutter/lib/src/material/input_decorator.dart b/packages/flutter/lib/src/material/input_decorator.dart
index 520a32e..76d3962 100644
--- a/packages/flutter/lib/src/material/input_decorator.dart
+++ b/packages/flutter/lib/src/material/input_decorator.dart
@@ -1654,25 +1654,26 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, _DecorationSlot slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slotValue) {
     assert(child is RenderBox);
+    assert(slotValue is _DecorationSlot);
+    final _DecorationSlot slot = slotValue as _DecorationSlot;
     _updateRenderObject(child as RenderBox, slot);
     assert(renderObject.childToSlot.keys.contains(child));
     assert(renderObject.slotToChild.keys.contains(slot));
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, _DecorationSlot slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(child is RenderBox);
-    assert(renderObject.childToSlot[child] == slot);
-    assert(renderObject.slotToChild[slot] == child);
-    _updateRenderObject(null, slot);
+    assert(renderObject.childToSlot.keys.contains(child));
+    _updateRenderObject(null, renderObject.childToSlot[child]);
     assert(!renderObject.childToSlot.keys.contains(child));
     assert(!renderObject.slotToChild.keys.contains(slot));
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slotValue) {
     assert(false, 'not reachable');
   }
 }
diff --git a/packages/flutter/lib/src/material/list_tile.dart b/packages/flutter/lib/src/material/list_tile.dart
index d1ecc8a..97929f9 100644
--- a/packages/flutter/lib/src/material/list_tile.dart
+++ b/packages/flutter/lib/src/material/list_tile.dart
@@ -1250,25 +1250,26 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, _ListTileSlot slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slotValue) {
     assert(child is RenderBox);
+    assert(slotValue is _ListTileSlot);
+    final _ListTileSlot slot = slotValue as _ListTileSlot;
     _updateRenderObject(child as RenderBox, slot);
     assert(renderObject.childToSlot.keys.contains(child));
     assert(renderObject.slotToChild.keys.contains(slot));
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, _ListTileSlot slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(child is RenderBox);
-    assert(renderObject.childToSlot[child] == slot);
-    assert(renderObject.slotToChild[slot] == child);
-    _updateRenderObject(null, slot);
+    assert(renderObject.childToSlot.keys.contains(child));
+    _updateRenderObject(null, renderObject.childToSlot[child]);
     assert(!renderObject.childToSlot.keys.contains(child));
     assert(!renderObject.slotToChild.keys.contains(slot));
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slotValue) {
     assert(false, 'not reachable');
   }
 }
diff --git a/packages/flutter/lib/src/widgets/binding.dart b/packages/flutter/lib/src/widgets/binding.dart
index ea6d60d..71296d8 100644
--- a/packages/flutter/lib/src/widgets/binding.dart
+++ b/packages/flutter/lib/src/widgets/binding.dart
@@ -1268,19 +1268,19 @@
   RenderObjectWithChildMixin<T> get renderObject => super.renderObject as RenderObjectWithChildMixin<T>;
 
   @override
-  void insertRenderObjectChild(RenderObject child, dynamic slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slot) {
     assert(slot == _rootChildSlot);
     assert(renderObject.debugValidateChild(child));
     renderObject.child = child as T;
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slot) {
     assert(false);
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, dynamic slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(renderObject.child == child);
     renderObject.child = null;
   }
diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart
index 8199107..1de80e4 100644
--- a/packages/flutter/lib/src/widgets/framework.dart
+++ b/packages/flutter/lib/src/widgets/framework.dart
@@ -3290,9 +3290,9 @@
   /// the "active" lifecycle state.
   ///
   /// Subclasses that override this method are likely to want to also override
-  /// [update], [visitChildren], [RenderObjectElement.insertRenderObjectChild],
-  /// [RenderObjectElement.moveRenderObjectChild], and
-  /// [RenderObjectElement.removeRenderObjectChild].
+  /// [update], [visitChildren], [RenderObjectElement.insertChildRenderObject],
+  /// [RenderObjectElement.moveChildRenderObject], and
+  /// [RenderObjectElement.removeChildRenderObject].
   @mustCallSuper
   void mount(Element parent, dynamic newSlot) {
     assert(_debugLifecycleState == _ElementLifecycle.initial);
@@ -5335,9 +5335,9 @@
 /// ### Maintaining the render object tree
 ///
 /// Once a descendant produces a render object, it will call
-/// [insertRenderObjectChild]. If the descendant's slot changes identity, it
-/// will call [moveRenderObjectChild]. If a descendant goes away, it will call
-/// [removeRenderObjectChild].
+/// [insertChildRenderObject]. If the descendant's slot changes identity, it
+/// will call [moveChildRenderObject]. If a descendant goes away, it will call
+/// [removeChildRenderObject].
 ///
 /// These three methods should update the render tree accordingly, attaching,
 /// moving, and detaching the given child render object from this element's own
@@ -5727,11 +5727,10 @@
 
   @override
   void _updateSlot(dynamic newSlot) {
-    final dynamic oldSlot = slot;
-    assert(oldSlot != newSlot);
+    assert(slot != newSlot);
     super._updateSlot(newSlot);
     assert(slot == newSlot);
-    _ancestorRenderObjectElement.moveRenderObjectChild(renderObject, oldSlot, slot);
+    _ancestorRenderObjectElement.moveChildRenderObject(renderObject, slot);
   }
 
   @override
@@ -5739,7 +5738,7 @@
     assert(_ancestorRenderObjectElement == null);
     _slot = newSlot;
     _ancestorRenderObjectElement = _findAncestorRenderObjectElement();
-    _ancestorRenderObjectElement?.insertRenderObjectChild(renderObject, newSlot);
+    _ancestorRenderObjectElement?.insertChildRenderObject(renderObject, newSlot);
     final ParentDataElement<ParentData> parentDataElement = _findAncestorParentDataElement();
     if (parentDataElement != null)
       _updateParentData(parentDataElement.widget);
@@ -5748,7 +5747,7 @@
   @override
   void detachRenderObject() {
     if (_ancestorRenderObjectElement != null) {
-      _ancestorRenderObjectElement.removeRenderObjectChild(renderObject, slot);
+      _ancestorRenderObjectElement.removeChildRenderObject(renderObject);
       _ancestorRenderObjectElement = null;
     }
     _slot = null;
@@ -5756,53 +5755,6 @@
 
   /// Insert the given child into [renderObject] at the given slot.
   ///
-  /// {@macro flutter.widgets.slots}
-  ///
-  /// ## Deprecation
-  ///
-  /// This method has been deprecated in favor of [insertRenderObjectChild].
-  ///
-  /// The reason for the deprecation is to provide the `oldSlot` argument to
-  /// the [moveRenderObjectChild] method (such an argument was missing from
-  /// the now-deprecated [moveChildRenderObject] method) and the `slot`
-  /// argument to the [removeRenderObjectChild] method (such an argument was
-  /// missing from the now-deprecated [removeChildRenderObject] method). While
-  /// no argument was added to [insertRenderObjectChild], the name change (and
-  /// corresponding deprecation) was made to maintain naming parity with the
-  /// other two methods.
-  ///
-  /// To migrate, simply override [insertRenderObjectChild] instead of
-  /// [insertChildRenderObject]. The arguments stay the same. Subclasses should
-  /// _not_ call `super.insertRenderObjectChild(...)`.
-  @protected
-  @mustCallSuper
-  @Deprecated(
-    'Override insertRenderObjectChild instead. '
-    'This feature was deprecated after v1.21.0-9.0.pre.'
-  )
-  void insertChildRenderObject(covariant RenderObject child, covariant dynamic slot) {
-    assert(() {
-      throw FlutterError.fromParts(<DiagnosticsNode>[
-        ErrorSummary('RenderObjectElement.insertChildRenderObject() is deprecated.'),
-        toDiagnosticsNode(
-          name: 'insertChildRenderObject() was called on this Element',
-          style: DiagnosticsTreeStyle.shallow,
-        ),
-        ErrorDescription('insertChildRenderObject() has been deprecated in favor of '
-          'insertRenderObjectChild(). See https://github.com/flutter/flutter/issues/63269 '
-          'for details.'),
-        ErrorHint('Rather than overriding insertChildRenderObject() in your '
-          'RenderObjectElement subclass, override insertRenderObjectChild() instead, '
-          "and DON'T call super.insertRenderObjectChild(). If you're implementing a "
-          'new RenderObjectElement, you should override/implement '
-          'insertRenderObjectChild(), moveRenderObjectChild(), and '
-          'removeRenderObjectChild().'),
-      ]);
-    }());
-  }
-
-  /// Insert the given child into [renderObject] at the given slot.
-  ///
   /// {@template flutter.widgets.slots}
   /// The semantics of `slot` are determined by this element. For example, if
   /// this element has a single child, the slot should always be null. If this
@@ -5810,9 +5762,7 @@
   /// [IndexedSlot] is a convenient value for the slot.
   /// {@endtemplate}
   @protected
-  void insertRenderObjectChild(covariant RenderObject child, covariant dynamic slot) {
-    insertChildRenderObject(child, slot);
-  }
+  void insertChildRenderObject(covariant RenderObject child, covariant dynamic slot);
 
   /// Move the given child to the given slot.
   ///
@@ -5828,127 +5778,14 @@
   /// always having the same slot (and where children in different slots are never
   /// compared against each other for the purposes of updating one slot with the
   /// element from another slot) would never call this.
-  ///
-  /// ## Deprecation
-  ///
-  /// This method has been deprecated in favor of [moveRenderObjectChild].
-  ///
-  /// The reason for the deprecation is to provide the `oldSlot` argument to
-  /// the [moveRenderObjectChild] method (such an argument was missing from
-  /// the now-deprecated [moveChildRenderObject] method) and the `slot`
-  /// argument to the [removeRenderObjectChild] method (such an argument was
-  /// missing from the now-deprecated [removeChildRenderObject] method). While
-  /// no argument was added to [insertRenderObjectChild], the name change (and
-  /// corresponding deprecation) was made to maintain naming parity with the
-  /// other two methods.
-  ///
-  /// To migrate, simply override [moveRenderObjectChild] instead of
-  /// [moveChildRenderObject]. The `slot` argument becomes the `newSlot`
-  /// argument, and the method will now take a new `oldSlot` argument that
-  /// subclasses may find useful. Subclasses should _not_ call
-  /// `super.moveRenderObjectChild(...)`.
   @protected
-  @mustCallSuper
-  @Deprecated(
-    'Override moveRenderObjectChild instead. '
-    'This feature was deprecated after v1.21.0-9.0.pre.'
-  )
-  void moveChildRenderObject(covariant RenderObject child, covariant dynamic slot) {
-    assert(() {
-      throw FlutterError.fromParts(<DiagnosticsNode>[
-        ErrorSummary('RenderObjectElement.moveChildRenderObject() is deprecated.'),
-        toDiagnosticsNode(
-          name: 'super.moveChildRenderObject() was called on this Element',
-          style: DiagnosticsTreeStyle.shallow,
-        ),
-        ErrorDescription('moveChildRenderObject() has been deprecated in favor of '
-            'moveRenderObjectChild(). See https://github.com/flutter/flutter/issues/63269 '
-            'for details.'),
-        ErrorHint('Rather than overriding moveChildRenderObject() in your '
-            'RenderObjectElement subclass, override moveRenderObjectChild() instead, '
-            "and DON'T call super.moveRenderObjectChild(). If you're implementing a "
-            'new RenderObjectElement, you should override/implement '
-            'insertRenderObjectChild(), moveRenderObjectChild(), and '
-            'removeRenderObjectChild().'),
-      ]);
-    }());
-  }
-
-  /// Move the given child from the given old slot to the given new slot.
-  ///
-  /// The given child is guaranteed to have [renderObject] as its parent.
-  ///
-  /// {@macro flutter.widgets.slots}
-  ///
-  /// This method is only ever called if [updateChild] can end up being called
-  /// with an existing [Element] child and a `slot` that differs from the slot
-  /// that element was previously given. [MultiChildRenderObjectElement] does this,
-  /// for example. [SingleChildRenderObjectElement] does not (since the `slot` is
-  /// always null). An [Element] that has a specific set of slots with each child
-  /// always having the same slot (and where children in different slots are never
-  /// compared against each other for the purposes of updating one slot with the
-  /// element from another slot) would never call this.
-  @protected
-  void moveRenderObjectChild(covariant RenderObject child, covariant dynamic oldSlot, covariant dynamic newSlot) {
-    moveChildRenderObject(child, newSlot);
-  }
+  void moveChildRenderObject(covariant RenderObject child, covariant dynamic slot);
 
   /// Remove the given child from [renderObject].
   ///
   /// The given child is guaranteed to have [renderObject] as its parent.
-  ///
-  /// ## Deprecation
-  ///
-  /// This method has been deprecated in favor of [removeRenderObjectChild].
-  ///
-  /// The reason for the deprecation is to provide the `oldSlot` argument to
-  /// the [moveRenderObjectChild] method (such an argument was missing from
-  /// the now-deprecated [moveChildRenderObject] method) and the `slot`
-  /// argument to the [removeRenderObjectChild] method (such an argument was
-  /// missing from the now-deprecated [removeChildRenderObject] method). While
-  /// no argument was added to [insertRenderObjectChild], the name change (and
-  /// corresponding deprecation) was made to maintain naming parity with the
-  /// other two methods.
-  ///
-  /// To migrate, simply override [removeRenderObjectChild] instead of
-  /// [removeChildRenderObject]. The method will now take a new `slot` argument
-  /// that subclasses may find useful. Subclasses should _not_ call
-  /// `super.removeRenderObjectChild(...)`.
   @protected
-  @mustCallSuper
-  @Deprecated(
-    'Override removeRenderObjectChild instead. '
-    'This feature was deprecated after v1.21.0-9.0.pre.'
-  )
-  void removeChildRenderObject(covariant RenderObject child) {
-    assert(() {
-      throw FlutterError.fromParts(<DiagnosticsNode>[
-        ErrorSummary('RenderObjectElement.removeChildRenderObject() is deprecated.'),
-        toDiagnosticsNode(
-          name: 'super.removeChildRenderObject() was called on this Element',
-          style: DiagnosticsTreeStyle.shallow,
-        ),
-        ErrorDescription('removeChildRenderObject() has been deprecated in favor of '
-            'removeRenderObjectChild(). See https://github.com/flutter/flutter/issues/63269 '
-            'for details.'),
-        ErrorHint('Rather than overriding removeChildRenderObject() in your '
-            'RenderObjectElement subclass, override removeRenderObjectChild() instead, '
-            "and DON'T call super.removeRenderObjectChild(). If you're implementing a "
-            'new RenderObjectElement, you should override/implement '
-            'insertRenderObjectChild(), moveRenderObjectChild(), and '
-            'removeRenderObjectChild().'),
-      ]);
-    }());
-  }
-
-  /// Remove the given child from [renderObject].
-  ///
-  /// The given child is guaranteed to have been inserted at the given `slot`
-  /// and have [renderObject] as its parent.
-  @protected
-  void removeRenderObjectChild(covariant RenderObject child, covariant dynamic slot) {
-    removeChildRenderObject(child);
-  }
+  void removeChildRenderObject(covariant RenderObject child);
 
   @override
   void debugFillProperties(DiagnosticPropertiesBuilder properties) {
@@ -6000,17 +5837,17 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, dynamic slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slot) {
     assert(false);
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slot) {
     assert(false);
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, dynamic slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(false);
   }
 
@@ -6063,7 +5900,7 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, dynamic slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slot) {
     final RenderObjectWithChildMixin<RenderObject> renderObject = this.renderObject as RenderObjectWithChildMixin<RenderObject>;
     assert(slot == null);
     assert(renderObject.debugValidateChild(child));
@@ -6072,12 +5909,12 @@
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slot) {
     assert(false);
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, dynamic slot) {
+  void removeChildRenderObject(RenderObject child) {
     final RenderObjectWithChildMixin<RenderObject> renderObject = this.renderObject as RenderObjectWithChildMixin<RenderObject>;
     assert(renderObject.child == child);
     renderObject.child = null;
@@ -6121,7 +5958,7 @@
   final Set<Element> _forgottenChildren = HashSet<Element>();
 
   @override
-  void insertRenderObjectChild(RenderObject child, IndexedSlot<Element> slot) {
+  void insertChildRenderObject(RenderObject child, IndexedSlot<Element> slot) {
     final ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>> renderObject =
       this.renderObject as ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>>;
     assert(renderObject.debugValidateChild(child));
@@ -6130,16 +5967,16 @@
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, IndexedSlot<Element> oldSlot, IndexedSlot<Element> newSlot) {
+  void moveChildRenderObject(RenderObject child, IndexedSlot<Element> slot) {
     final ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>> renderObject =
       this.renderObject as ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>>;
     assert(child.parent == renderObject);
-    renderObject.move(child, after: newSlot?.value?.renderObject);
+    renderObject.move(child, after: slot?.value?.renderObject);
     assert(renderObject == this.renderObject);
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, dynamic slot) {
+  void removeChildRenderObject(RenderObject child) {
     final ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>> renderObject =
       this.renderObject as ContainerRenderObjectMixin<RenderObject, ContainerParentDataMixin<RenderObject>>;
     assert(child.parent == renderObject);
diff --git a/packages/flutter/lib/src/widgets/layout_builder.dart b/packages/flutter/lib/src/widgets/layout_builder.dart
index 558a9a3..f5751e6 100644
--- a/packages/flutter/lib/src/widgets/layout_builder.dart
+++ b/packages/flutter/lib/src/widgets/layout_builder.dart
@@ -156,7 +156,7 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, dynamic slot) {
+  void insertChildRenderObject(RenderObject child, dynamic slot) {
     final RenderObjectWithChildMixin<RenderObject> renderObject = this.renderObject;
     assert(slot == null);
     assert(renderObject.debugValidateChild(child));
@@ -165,12 +165,12 @@
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slot) {
     assert(false);
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, dynamic slot) {
+  void removeChildRenderObject(RenderObject child) {
     final RenderConstrainedLayoutBuilder<ConstraintType, RenderObject> renderObject = this.renderObject;
     assert(renderObject.child == child);
     renderObject.child = null;
diff --git a/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart b/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart
index 1b6fc21..26e32c3 100644
--- a/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart
+++ b/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart
@@ -907,7 +907,7 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, int slot) {
+  void insertChildRenderObject(RenderObject child, int slot) {
     final RenderListWheelViewport renderObject = this.renderObject;
     assert(renderObject.debugValidateChild(child));
     renderObject.insert(child as RenderBox, after: _childElements[slot - 1]?.renderObject as RenderBox);
@@ -915,7 +915,7 @@
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, int oldSlot, int newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slot) {
     const String moveChildRenderObjectErrorMessage =
         'Currently we maintain the list in contiguous increasing order, so '
         'moving children around is not allowed.';
@@ -923,7 +923,7 @@
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, int slot) {
+  void removeChildRenderObject(RenderObject child) {
     assert(child.parent == renderObject);
     renderObject.remove(child as RenderBox);
   }
diff --git a/packages/flutter/lib/src/widgets/sliver.dart b/packages/flutter/lib/src/widgets/sliver.dart
index c040a05..1fde2ef 100644
--- a/packages/flutter/lib/src/widgets/sliver.dart
+++ b/packages/flutter/lib/src/widgets/sliver.dart
@@ -1273,7 +1273,7 @@
   }
 
   @override
-  void insertRenderObjectChild(covariant RenderObject child, int slot) {
+  void insertChildRenderObject(covariant RenderObject child, int slot) {
     assert(slot != null);
     assert(_currentlyUpdatingChildIndex == slot);
     assert(renderObject.debugValidateChild(child));
@@ -1286,14 +1286,14 @@
   }
 
   @override
-  void moveRenderObjectChild(covariant RenderObject child, int oldSlot, int newSlot) {
-    assert(newSlot != null);
-    assert(_currentlyUpdatingChildIndex == newSlot);
+  void moveChildRenderObject(covariant RenderObject child, int slot) {
+    assert(slot != null);
+    assert(_currentlyUpdatingChildIndex == slot);
     renderObject.move(child as RenderBox, after: _currentBeforeChild);
   }
 
   @override
-  void removeRenderObjectChild(covariant RenderObject child, int slot) {
+  void removeChildRenderObject(covariant RenderObject child) {
     assert(_currentlyUpdatingChildIndex != null);
     renderObject.remove(child as RenderBox);
   }
diff --git a/packages/flutter/lib/src/widgets/sliver_persistent_header.dart b/packages/flutter/lib/src/widgets/sliver_persistent_header.dart
index 673e1cb..b26cc4b 100644
--- a/packages/flutter/lib/src/widgets/sliver_persistent_header.dart
+++ b/packages/flutter/lib/src/widgets/sliver_persistent_header.dart
@@ -236,18 +236,18 @@
   }
 
   @override
-  void insertRenderObjectChild(covariant RenderBox child, dynamic slot) {
+  void insertChildRenderObject(covariant RenderBox child, dynamic slot) {
     assert(renderObject.debugValidateChild(child));
     renderObject.child = child;
   }
 
   @override
-  void moveRenderObjectChild(covariant RenderObject child, dynamic oldSlot, dynamic newSlot) {
+  void moveChildRenderObject(covariant RenderObject child, dynamic slot) {
     assert(false);
   }
 
   @override
-  void removeRenderObjectChild(covariant RenderObject child, dynamic slot) {
+  void removeChildRenderObject(covariant RenderObject child) {
     renderObject.child = null;
   }
 
diff --git a/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart b/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart
index fab01fa..b6e6c2a 100644
--- a/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart
+++ b/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart
@@ -75,12 +75,12 @@
   static final Object _prototypeSlot = Object();
 
   @override
-  void insertRenderObjectChild(covariant RenderObject child, covariant dynamic slot) {
+  void insertChildRenderObject(covariant RenderObject child, covariant dynamic slot) {
     if (slot == _prototypeSlot) {
       assert(child is RenderBox);
       renderObject.child = child as RenderBox;
     } else {
-      super.insertRenderObjectChild(child, slot as int);
+      super.insertChildRenderObject(child, slot as int);
     }
   }
 
@@ -91,19 +91,19 @@
   }
 
   @override
-  void moveRenderObjectChild(RenderBox child, dynamic oldSlot, dynamic newSlot) {
-    if (newSlot == _prototypeSlot)
+  void moveChildRenderObject(RenderBox child, dynamic slot) {
+    if (slot == _prototypeSlot)
       assert(false); // There's only one prototype child so it cannot be moved.
     else
-      super.moveRenderObjectChild(child, oldSlot as int, newSlot as int);
+      super.moveChildRenderObject(child, slot as int);
   }
 
   @override
-  void removeRenderObjectChild(RenderBox child, dynamic slot) {
+  void removeChildRenderObject(RenderBox child) {
     if (renderObject.child == child)
       renderObject.child = null;
     else
-      super.removeRenderObjectChild(child, slot as int);
+      super.removeChildRenderObject(child);
   }
 
   @override
diff --git a/packages/flutter/lib/src/widgets/table.dart b/packages/flutter/lib/src/widgets/table.dart
index afbfb40..70c4a99 100644
--- a/packages/flutter/lib/src/widgets/table.dart
+++ b/packages/flutter/lib/src/widgets/table.dart
@@ -303,16 +303,16 @@
   }
 
   @override
-  void insertRenderObjectChild(RenderObject child, IndexedSlot<Element> slot) {
+  void insertChildRenderObject(RenderObject child, IndexedSlot<Element> slot) {
     renderObject.setupParentData(child);
   }
 
   @override
-  void moveRenderObjectChild(RenderObject child, IndexedSlot<Element> oldSlot, IndexedSlot<Element> newSlot) {
+  void moveChildRenderObject(RenderObject child, dynamic slot) {
   }
 
   @override
-  void removeRenderObjectChild(RenderObject child, IndexedSlot<Element> slot) {
+  void removeChildRenderObject(RenderObject child) {
     final TableCellParentData childParentData = child.parentData as TableCellParentData;
     renderObject.setChild(childParentData.x, childParentData.y, null);
   }
diff --git a/packages/flutter/test/widgets/render_object_element_test.dart b/packages/flutter/test/widgets/render_object_element_test.dart
deleted file mode 100644
index fbbbe0f..0000000
--- a/packages/flutter/test/widgets/render_object_element_test.dart
+++ /dev/null
@@ -1,383 +0,0 @@
-// Copyright 2014 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// @dart = 2.8
-
-import 'package:flutter_test/flutter_test.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter/rendering.dart';
-import 'package:flutter/widgets.dart';
-
-@immutable
-class Pair<T> {
-  const Pair(this.first, this.second);
-  final T first;
-  final T second;
-
-  @override
-  bool operator ==(Object other) {
-    return other is Pair<T> && other.first == first && other.second == second;
-  }
-
-  @override
-  int get hashCode => hashValues(first, second);
-
-  @override
-  String toString() => '($first,$second)';
-}
-
-/// Widget that will layout one child in the top half of this widget's size
-/// and the other child in the bottom half. It will swap which child is on top
-/// and which is on bottom every time the widget is rendered.
-abstract class Swapper extends RenderObjectWidget {
-  const Swapper({this.stable, this.swapper});
-
-  final Widget stable;
-  final Widget swapper;
-
-  @override
-  SwapperElement createElement();
-
-  @override
-  RenderObject createRenderObject(BuildContext context) => RenderSwapper();
-}
-
-class SwapperWithProperOverrides extends Swapper {
-  const SwapperWithProperOverrides({
-    Widget stable,
-    Widget swapper,
-  }) : super(stable: stable, swapper: swapper);
-
-  @override
-  SwapperElement createElement() => SwapperElementWithProperOverrides(this);
-}
-
-class SwapperWithNoOverrides extends Swapper {
-  const SwapperWithNoOverrides({
-    Widget stable,
-    Widget swapper,
-  }) : super(stable: stable, swapper: swapper);
-
-  @override
-  SwapperElement createElement() => SwapperElementWithNoOverrides(this);
-}
-
-class SwapperWithDeprecatedOverrides extends Swapper {
-  const SwapperWithDeprecatedOverrides({
-    Widget stable,
-    Widget swapper,
-  }) : super(stable: stable, swapper: swapper);
-
-  @override
-  SwapperElement createElement() => SwapperElementWithDeprecatedOverrides(this);
-}
-
-abstract class SwapperElement extends RenderObjectElement {
-  SwapperElement(Swapper widget) : super(widget);
-
-  Element stable;
-  Element swapper;
-  bool swapperIsOnTop = true;
-  List<dynamic> insertSlots = <dynamic>[];
-  List<Pair<dynamic>> moveSlots = <Pair<dynamic>>[];
-  List<dynamic> removeSlots = <dynamic>[];
-
-  @override
-  Swapper get widget => super.widget as Swapper;
-
-  @override
-  RenderSwapper get renderObject => super.renderObject as RenderSwapper;
-
-  @override
-  void visitChildren(ElementVisitor visitor) {
-    if (stable != null)
-      visitor(stable);
-    if (swapper != null)
-      visitor(swapper);
-  }
-
-  @override
-  void update(Swapper newWidget) {
-    super.update(newWidget);
-    _updateChildren(newWidget);
-  }
-
-  @override
-  void mount(Element parent, dynamic newSlot) {
-    super.mount(parent, newSlot);
-    _updateChildren(widget);
-  }
-
-  void _updateChildren(Swapper widget) {
-    stable = updateChild(stable, widget.stable, 'stable');
-    swapper = updateChild(swapper, widget.swapper, swapperIsOnTop);
-    swapperIsOnTop = !swapperIsOnTop;
-  }
-}
-
-class SwapperElementWithProperOverrides extends SwapperElement {
-  SwapperElementWithProperOverrides(Swapper widget) : super(widget);
-
-  @override
-  void insertRenderObjectChild(RenderBox child, dynamic slot) {
-    insertSlots.add(slot);
-    assert(child != null);
-    if (slot == 'stable')
-      renderObject.stable = child;
-    else
-      renderObject.setSwapper(child, slot as bool);
-  }
-
-  @override
-  void moveRenderObjectChild(RenderBox child, bool oldIsOnTop, bool newIsOnTop) {
-    moveSlots.add(Pair<bool>(oldIsOnTop, newIsOnTop));
-    assert(oldIsOnTop == !newIsOnTop);
-    renderObject.setSwapper(child, newIsOnTop);
-  }
-
-  @override
-  void removeRenderObjectChild(RenderBox child, dynamic slot) {
-    removeSlots.add(slot);
-    if (slot == 'stable')
-      renderObject.stable = null;
-    else
-      renderObject.setSwapper(null, slot as bool);
-  }
-}
-
-class SwapperElementWithNoOverrides extends SwapperElement {
-  SwapperElementWithNoOverrides(Swapper widget) : super(widget);
-}
-
-class SwapperElementWithDeprecatedOverrides extends SwapperElement {
-  SwapperElementWithDeprecatedOverrides(Swapper widget) : super(widget);
-
-  @override
-  // ignore: must_call_super
-  void insertChildRenderObject(RenderBox child, dynamic slot) {
-    insertSlots.add(slot);
-    assert(child != null);
-    if (slot == 'stable')
-      renderObject.stable = child;
-    else
-      renderObject.setSwapper(child, slot as bool);
-  }
-
-  @override
-  // ignore: must_call_super
-  void moveChildRenderObject(RenderBox child, bool isOnTop) {
-    moveSlots.add(Pair<bool>(null, isOnTop));
-    renderObject.setSwapper(child, isOnTop);
-  }
-
-  @override
-  // ignore: must_call_super
-  void removeChildRenderObject(RenderBox child) {
-    removeSlots.add(null);
-    if (child == renderObject._stable)
-      renderObject.stable = null;
-    else
-      renderObject.setSwapper(null, swapperIsOnTop);
-  }
-}
-
-class RenderSwapper extends RenderBox {
-  RenderBox _stable;
-  RenderBox get stable => _stable;
-  set stable(RenderBox child) {
-    if (child == _stable)
-      return;
-    if (_stable != null)
-      dropChild(_stable);
-    _stable = child;
-    if (child != null)
-      adoptChild(child);
-  }
-
-  bool _swapperIsOnTop;
-  RenderBox _swapper;
-  RenderBox get swapper => _swapper;
-  void setSwapper(RenderBox child, bool isOnTop) {
-    if (isOnTop != _swapperIsOnTop) {
-      _swapperIsOnTop = isOnTop;
-      markNeedsLayout();
-    }
-    if (child == _swapper)
-      return;
-    if (_swapper != null)
-      dropChild(_swapper);
-    _swapper = child;
-    if (child != null)
-      adoptChild(child);
-  }
-
-  @override
-  void visitChildren(RenderObjectVisitor visitor) {
-    if (_stable != null)
-      visitor(_stable);
-    if (_swapper != null)
-      visitor(_swapper);
-  }
-
-  @override
-  void attach(PipelineOwner owner) {
-    super.attach(owner);
-    visitChildren((RenderObject child) => child.attach(owner));
-  }
-
-  @override
-  void detach() {
-    super.detach();
-    visitChildren((RenderObject child) => child.detach());
-  }
-
-  @override
-  void performLayout() {
-    assert(constraints.hasBoundedWidth);
-    assert(constraints.hasTightHeight);
-    size = constraints.biggest;
-    const Offset topOffset = Offset.zero;
-    final Offset bottomOffset = Offset(0, size.height / 2);
-    final BoxConstraints childConstraints = constraints.copyWith(
-      minHeight: constraints.minHeight / 2,
-      maxHeight: constraints.maxHeight / 2,
-    );
-    if (_stable != null) {
-      final BoxParentData stableParentData = _stable.parentData as BoxParentData;
-      _stable.layout(childConstraints);
-      stableParentData.offset = _swapperIsOnTop ? bottomOffset : topOffset;
-    }
-    if (_swapper != null) {
-      final BoxParentData swapperParentData = _swapper.parentData as BoxParentData;
-      _swapper.layout(childConstraints);
-      swapperParentData.offset = _swapperIsOnTop ? topOffset : bottomOffset;
-    }
-  }
-
-  @override
-  void paint(PaintingContext context, Offset offset) {
-    visitChildren((RenderObject child) {
-      final BoxParentData childParentData = child.parentData as BoxParentData;
-      context.paintChild(child, offset + childParentData.offset);
-    });
-  }
-
-  @override
-  void redepthChildren() {
-    visitChildren((RenderObject child) => redepthChild(child));
-  }
-}
-
-BoxParentData parentDataFor(RenderObject renderObject) => renderObject.parentData as BoxParentData;
-
-void main() {
-  testWidgets('RenderObjectElement *RenderObjectChild methods get called with correct arguments', (WidgetTester tester) async {
-    const Key redKey = ValueKey<String>('red');
-    const Key blueKey = ValueKey<String>('blue');
-    Widget widget() {
-      return SwapperWithProperOverrides(
-        stable: ColoredBox(
-          key: redKey,
-          color: Color(nonconst(0xffff0000)),
-        ),
-        swapper: ColoredBox(
-          key: blueKey,
-          color: Color(nonconst(0xff0000ff)),
-        ),
-      );
-    }
-
-    await tester.pumpWidget(widget());
-    final SwapperElement swapper = tester.element<SwapperElement>(find.byType(SwapperWithProperOverrides));
-    final RenderBox redBox = tester.renderObject<RenderBox>(find.byKey(redKey));
-    final RenderBox blueBox = tester.renderObject<RenderBox>(find.byKey(blueKey));
-    expect(swapper.insertSlots.length, 2);
-    expect(swapper.insertSlots, contains('stable'));
-    expect(swapper.insertSlots, contains(true));
-    expect(swapper.moveSlots, isEmpty);
-    expect(swapper.removeSlots, isEmpty);
-    expect(parentDataFor(redBox).offset, const Offset(0, 300));
-    expect(parentDataFor(blueBox).offset, Offset.zero);
-    await tester.pumpWidget(widget());
-    expect(swapper.insertSlots.length, 2);
-    expect(swapper.moveSlots.length, 1);
-    expect(swapper.moveSlots, contains(const Pair<bool>(true, false)));
-    expect(swapper.removeSlots, isEmpty);
-    expect(parentDataFor(redBox).offset, Offset.zero);
-    expect(parentDataFor(blueBox).offset, const Offset(0, 300));
-    await tester.pumpWidget(const SwapperWithProperOverrides());
-    expect(redBox.attached, false);
-    expect(blueBox.attached, false);
-    expect(swapper.insertSlots.length, 2);
-    expect(swapper.moveSlots.length, 1);
-    expect(swapper.removeSlots.length, 2);
-    expect(swapper.removeSlots, contains('stable'));
-    expect(swapper.removeSlots, contains(false));
-  });
-
-  testWidgets('RenderObjectElement *RenderObjectChild methods delegate to deprecated methods', (WidgetTester tester) async {
-    const Key redKey = ValueKey<String>('red');
-    const Key blueKey = ValueKey<String>('blue');
-    Widget widget() {
-      return SwapperWithDeprecatedOverrides(
-        stable: ColoredBox(
-          key: redKey,
-          color: Color(nonconst(0xffff0000)),
-        ),
-        swapper: ColoredBox(
-          key: blueKey,
-          color: Color(nonconst(0xff0000ff)),
-        ),
-      );
-    }
-
-    await tester.pumpWidget(widget());
-    final SwapperElement swapper = tester.element<SwapperElement>(find.byType(SwapperWithDeprecatedOverrides));
-    final RenderBox redBox = tester.renderObject<RenderBox>(find.byKey(redKey));
-    final RenderBox blueBox = tester.renderObject<RenderBox>(find.byKey(blueKey));
-    expect(swapper.insertSlots.length, 2);
-    expect(swapper.insertSlots, contains('stable'));
-    expect(swapper.insertSlots, contains(true));
-    expect(swapper.moveSlots, isEmpty);
-    expect(swapper.removeSlots, isEmpty);
-    expect(parentDataFor(redBox).offset, const Offset(0, 300));
-    expect(parentDataFor(blueBox).offset, Offset.zero);
-    await tester.pumpWidget(widget());
-    expect(swapper.insertSlots.length, 2);
-    expect(swapper.moveSlots.length, 1);
-    expect(swapper.moveSlots, contains(const Pair<bool>(null, false)));
-    expect(swapper.removeSlots, isEmpty);
-    expect(parentDataFor(redBox).offset, Offset.zero);
-    expect(parentDataFor(blueBox).offset, const Offset(0, 300));
-    await tester.pumpWidget(const SwapperWithDeprecatedOverrides());
-    expect(redBox.attached, false);
-    expect(blueBox.attached, false);
-    expect(swapper.insertSlots.length, 2);
-    expect(swapper.moveSlots.length, 1);
-    expect(swapper.removeSlots.length, 2);
-    expect(swapper.removeSlots, <bool>[null,null]);
-  });
-
-  testWidgets('RenderObjectElement *ChildRenderObject methods fail with deprecation message', (WidgetTester tester) async {
-    const Key redKey = ValueKey<String>('red');
-    const Key blueKey = ValueKey<String>('blue');
-    Widget widget() {
-      return SwapperWithNoOverrides(
-        stable: ColoredBox(
-          key: redKey,
-          color: Color(nonconst(0xffff0000)),
-        ),
-        swapper: ColoredBox(
-          key: blueKey,
-          color: Color(nonconst(0xff0000ff)),
-        ),
-      );
-    }
-
-    await tester.pumpWidget(widget());
-    final FlutterError error = tester.takeException() as FlutterError;
-    final ErrorSummary summary = error.diagnostics.first as ErrorSummary;
-    expect(summary.toString(), contains('deprecated'));
-  });
-}