bindRegister method

void bindRegister(
  1. IMirrorRegister register
)

绑定注册器,只可以调用一次

Implementation

void bindRegister(IMirrorRegister register) {
  if (_register == null) {
    _register = _registers == null
        ? register
        : (_MirrorRegister(register)..bindSecRegister(_registers!));
    _register!.classInfos().forEach((element) {
      _mirrorClasses.add(element);
      _mirrorClassesK[element.key] = element;
      _mirrorClassesT[element.type.typeValue] = element;
    });
    LoadTypeAdapter().onInit(this);
    loadInitializer()
        .map((e) => newSingleInstance(e))
        .whereType<Initializer>()
        .forEach((element) => element.onInit(instance));
    // _register
    //     .loadInitializer()
    //     .map((e) => parseUriInfoByUriStr(e))
    //     .map((e) => newInstance(e.key, e.namedConstructorInUri, e.uriParams))
    //     .whereType<MirrorInitializer>()
    //     .forEach((element) => element.onInit(this));
  } else {
    throw Exception('MagicMirror is initialized');
  }
}