getTypeDefault static method

NopListener getTypeDefault(
  1. Type t,
  2. NopListener owner
)

Implementation

static NopListener getTypeDefault(Type t, NopListener owner) {
  t = GetTypePointers.getAlias(t);

  NopListener? listener = owner._subNopListeners[t];
  listener ??= owner._attachNopListeners[t];

  if (listener == null) {
    listener = owner.handle?.getTypeListener(t);
    if (owner.shared) {
      assert(owner._dependenceTree.isNotEmpty);
      listener ??= GetTypePointers.defaultGetNopListener(
          t, owner._dependenceTree.first);
    }
    if (listener != null) {
      owner.addListener(t, listener);
      assert(owner.scope.index >= listener.scope.index);
    }
  }

  return listener!;
}