void _tryLoadNewModelClassFull()

in lib/src/db/model_db_impl.dart [290:312]


  void _tryLoadNewModelClassFull(
      mirrors.ClassMirror modelClass, String name, bool useIntegerId) {
    assert(!_modelDesc2Type.containsKey(modelClass.reflectedType));

    _ModelDescription modelDesc;
    if (_isExpandoClass(modelClass)) {
      modelDesc = _ExpandoModelDescription(name, useIntegerId);
    } else {
      modelDesc = _ModelDescription(name, useIntegerId);
    }

    _type2ModelDesc[modelDesc] = modelClass.reflectedType;
    _modelDesc2Type[modelClass.reflectedType] = modelDesc;
    _modelDesc2ClassMirror[modelDesc] = modelClass;
    _modelDesc2Properties[modelDesc] =
        _propertiesFromModelDescription(modelClass);

    // Ensure we have an empty constructor.
    if (!hasDefaultConstructor(modelClass)) {
      throw StateError('Class ${modelClass.simpleName} does not have a default '
          'constructor.');
    }
  }