buildIndexFromContext method

_Slot? buildIndexFromContext(
  1. BuildContext context
)

Implementation

_Slot? buildIndexFromContext(BuildContext context) {
  if (context is! Element) return null;
  _Slot? slot;
  if (context.slot is! _Slot) {
    context.visitAncestorElements((element) {
      if (element is AnimatedSliverMultiBoxAdaptorElement) return false;
      if (element.slot is _Slot) {
        slot = element.slot as _Slot;
        return false;
      }
      return true;
    });
    if (slot == null || slot is! _Slot) return null;
  } else {
    slot = context.slot as _Slot;
  }
  assert(() {
    AnimatedSliverMultiBoxAdaptorElement? e;
    context.visitAncestorElements((element) {
      if (element is AnimatedSliverMultiBoxAdaptorElement) {
        e = element;
        return false;
      }
      return true;
    });
    return e != null && e == this;
  }());
  return slot;
}