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;
}
}