void _initialize()

in lib/src/db/model_db_impl.dart [200:226]


  void _initialize(Iterable<mirrors.LibraryMirror> libraries) {
    for (var lm in libraries) {
      lm.declarations.values
          .whereType<mirrors.ClassMirror>()
          .where((d) => d.hasReflectedType)
          .forEach((declaration) {
        _tryLoadNewModelClass(declaration);
      });
    }

    // Ask every [ModelDescription] to compute whatever global state it wants
    // to have.
    for (var modelDescription in _modelDescriptions) {
      modelDescription.initialize(this);
    }

    // Ask every [ModelDescription] whether we should register it with a given
    // kind name.
    for (var modelDescription in _modelDescriptions) {
      var kindName = modelDescription.kindName(this);
      if (_kind2ModelDesc.containsKey(kindName)) {
        throw StateError('Cannot have two ModelDescriptions '
            'with the same kind ($kindName)');
      }
      _kind2ModelDesc[kindName] = modelDescription;
    }
  }