5#if !UE_WITH_CONSTINIT_UOBJECT
42template<
typename UClassClass,
typename PostNewFn>
44 const TCHAR* PackageName,
89 UE_LOG(
LogClass,
Log,
TEXT(
"Could not find existing class %s in package %s for reload, assuming new or modified class"),
Name, PackageName);
94 UE_LOG(
LogClass,
Log,
TEXT(
"Could not find existing package %s for reload of class %s, assuming a new package."), PackageName,
Name);
120 UClassClass::StaticClass,
132template<
typename UEnumClass,
typename EnumParams,
typename PostNewFn>
135 UObject* (*OuterFunc)() = Params.OuterFunc;
159 if (Params.DisplayNameFunc)
161 NewEnum->SetEnumDisplayNameFn(Params.DisplayNameFunc);
165 AddMetaData(
NewEnum, Params.MetaDataArray, Params.NumMetaData);
169template<
typename UScriptStructClass,
typename StructParams,
typename PostNewFn>
172 UObject* (*OuterFunc)() = Params.OuterFunc;
192 AddMetaData(
NewStruct, Params.MetaDataArray, Params.NumMetaData);
196template<
typename UClassClass,
typename ClassParams,
typename PostNewFn>
235 NewClass->CreateLinkAndAddChildFunctionsToMap(Params.FunctionLinkArray, Params.NumFunctions);
239 if (Params.ClassConfigNameUTF8)
244 NewClass->SetCppTypeInfoStatic(Params.CppClassInfo);
259 AddMetaData(
NewClass, Params.MetaDataArray, Params.NumMetaData);
264 NewClass->SetSparseClassDataStruct(
NewClass->GetSparseClassDataArchetypeStruct());
267template<
typename UFunctionClass,
typename FunctionParams,
typename NewFn>
270 UObject* (*OuterFunc)() = Params.OuterFunc;
271 UFunction* (*SuperFunc)() = Params.SuperFunc;
313 AddMetaData(
NewFunction, Params.MetaDataArray, Params.NumMetaData);
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
COREUOBJECT_API void InitializePrivateStaticClass(class UClass *(*TClass_StaticClassFn)(), class UClass *TClass_Super_StaticClass, class UClass *TClass_PrivateStaticClass, class UClass *TClass_WithinClass_StaticClass, const TCHAR *PackageName, const TCHAR *Name)
Definition Class.cpp:127
EStructFlags
Definition Class.h:1023
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
EActiveReloadType GetActiveReloadType()
Definition ModuleManager.h:1171
bool IsReloadActive()
Definition ModuleManager.h:1173
EClassCastFlags
Definition ObjectMacros.h:333
EClassFlags
Definition ObjectMacros.h:199
@ CLASS_Constructed
Definition ObjectMacros.h:270
@ CLASS_Intrinsic
Definition ObjectMacros.h:268
@ CLASS_TokenStreamAssembled
Definition ObjectMacros.h:256
@ EC_StaticConstructor
Definition ObjectMacros.h:174
#define CLASS_Inherit
Definition ObjectMacros.h:281
EObjectFlags
Definition ObjectMacros.h:552
@ RF_MarkAsRootSet
Object will be marked as root set on construction and not be garbage collected, even if unreferenced ...
Definition ObjectMacros.h:568
@ RF_Public
Object is visible outside its package.
Definition ObjectMacros.h:559
@ RF_MarkAsNative
Object (UField) will be marked as native on construction (DO NOT USE THIS FLAG in HasAnyFlags() etc)
Definition ObjectMacros.h:561
@ RF_Standalone
Keep object around for editing even if unreferenced.
Definition ObjectMacros.h:560
@ RF_Transient
Don't save object.
Definition ObjectMacros.h:565
@ EC_InternalUseOnlyConstructor
Definition ObjectMacros.h:175
#define UTF8_TO_TCHAR(str)
Definition StringConv.h:1022
COREUOBJECT_API FUObjectAllocator GUObjectAllocator
Definition UObjectAllocator.cpp:11
void UObjectForceRegistration(UObjectBase *Object, bool bCheckForModuleRelease)
Definition UObjectBase.cpp:636
UPackage * FindPackage(UObject *InOuter, const TCHAR *PackageName)
Definition UObjectGlobals.cpp:924
UObject * StaticFindObjectFastInternal(const UClass *ObjectClass, const UObject *ObjectPackage, FName ObjectName, EFindObjectFlags Flags, EObjectFlags ExcludeFlags, EInternalObjectFlags ExclusiveInternalFlags)
Definition UObjectHash.cpp:1153
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
COREUOBJECT_API UObjectBase * AllocateUObject(int32 Size, int32 Alignment, bool bAllowPermanent)
Definition UObjectAllocator.cpp:34
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
void(* ClassConstructorType)(const FObjectInitializer &)
Definition Class.h:3802
EClassFlags ClassFlags
Definition Class.h:3823
UObject *(* ClassVTableHelperCtorCallerType)(FVTableHelper &Helper)
Definition Class.h:3803
UClass *(* StaticClassFunctionType)()
Definition Class.h:3804
UClass * GetSuperClass() const
Definition Class.h:4352
ECppForm
Definition Class.h:2799
Definition UObjectConstructInternal.h:15
void ConstructFProperties(UObject *Outer, const FPropertyParamsBase *const *PropertyArray, int32 NumProperties)
Definition UObjectGlobals.cpp:6602
void ConstructUClassNoInitHelper(const TCHAR *PackageName, const TCHAR *Name, UClass *&ReturnClass, void(*RegisterNativeFunc)(), uint32 InSize, uint32 InAlignment, EClassFlags InClassFlags, EClassCastFlags InClassCastFlags, const TCHAR *InConfigName, UClass::ClassConstructorType InClassConstructor, UClass::ClassVTableHelperCtorCallerType InClassVTableHelperCtorCaller, FUObjectCppClassStaticFunctions &&InCppClassStaticFunctions, UClass::StaticClassFunctionType InSuperClassFn, UClass::StaticClassFunctionType InWithinClassFn, PostNewFn &&InPostNewFn)
Definition UObjectConstructInternal.h:43
void ConstructUClassHelper(UClass *&OutClass, const ClassParams &Params, PostNewFn &&InPostNewFn)
Definition UObjectConstructInternal.h:197
void ConstructUEnumHelper(UEnum *&OutEnum, const EnumParams &Params, PostNewFn &&InPostNewFn)
Definition UObjectConstructInternal.h:133
void ConstructUScriptStructHelper(UScriptStruct *&OutStruct, const StructParams &Params, PostNewFn &&InPostNewFn)
Definition UObjectConstructInternal.h:170
void ConstructUFunctionHelper(UFunction *&InOutFunction, const FunctionParams &Params, UFunction **InSingletonPtr, NewFn &&InNewFn)
Definition UObjectConstructInternal.h:268
Definition ObjectMacros.h:2059