defaultGetNopListener static method

NopListener defaultGetNopListener(
  1. Type t,
  2. GetTypePointers? current, {
  3. bool shared = true,
})

Implementation

static NopListener defaultGetNopListener(Type t, GetTypePointers? current,
    {bool shared = true}) {
  NopListener? listener;
  if (shared) {
    listener = current?.findCurrentTypeArg(t);
    if (listener == null) {
      listener = current?.findTypeArgOther(t);
      // 全局查找
      listener ??= globalDependences.findTypeArg(t);
      if (listener != null) {
        current?.addListener(t, listener);
      }
    }
  }

  if (listener == null && current != null) {
    // 页面创建
    listener = current.createListenerArg(t, shared: shared);
    assert(listener.shared == shared);
  }
  assert(listener != null ||
      Log.w('Global Scope: create $t Object', position: 6));
  return listener ?? globalDependences.getTypeArg(t);
}