Base: Make Type::importModule private

This commit is contained in:
Benjamin Nauck
2025-02-24 09:31:22 +01:00
parent e7119ee243
commit a0a64c1fb8
2 changed files with 4 additions and 11 deletions

View File

@@ -3527,17 +3527,10 @@ unsigned int PropertyPersistentObject::getMemSize() const
void PropertyPersistentObject::setValue(const char* type)
{
if (!type) {
type = "";
}
if (type[0]) {
Base::Type::importModule(type);
Base::Type t = Base::Type::fromName(type);
if (!Base::Tools::isNullOrEmpty(type)) {
Base::Type t = Base::Type::getTypeIfDerivedFrom(type, Persistence::getClassTypeId());
if (t.isBad()) {
throw Base::TypeError("Invalid type");
}
if (!t.isDerivedFrom(Persistence::getClassTypeId())) {
throw Base::TypeError("Type must be derived from Base::Persistence");
throw Base::TypeError("Invalid type or type must be derived from Base::Persistence");
}
if (_pObject && _pObject->getTypeId() == t) {
return;

View File

@@ -94,7 +94,6 @@ public:
[[nodiscard]] bool canInstantiate() const;
/// Creates an instance of the named type
[[nodiscard]] static void* createInstanceByName(const char* typeName, bool loadModule = false);
static void importModule(const char* TypeName);
using instantiationMethod = void* (*)();
@@ -142,6 +141,7 @@ public:
private:
[[nodiscard]] instantiationMethod getInstantiationMethod() const;
static void importModule(const char* TypeName);
TypeId index {BadTypeIndex};