5#include "Containers/Array.h"
7#include "Containers/Map.h"
8#include "Containers/Set.h"
151 return TEXT(
"::AddReferencedObjects()");
168 UE_DEPRECATED(5.0,
"Direct Object reference has been deprecated. Use ObjectInfo member variable instead.")
200 void FillReferenceInfo();
233 return Nodes[NodeIndex];
239 return Nodes[Nodes.
Num()-2];
267 return ReferenceInfos[NodeIndex];
336 return ReferenceChains;
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EPrintStaleReferencesOptions
Definition PrintStaleReferencesOptions.h:10
EReferenceChainSearchMode
Definition ReferenceChainSearch.h:33
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition GCObjectInfo.h:28
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition ReferenceChainSearch.h:188
FReferenceChain * Split()
Definition ReferenceChainSearch.h:254
bool Contains(const FGraphNode *InNode) const
Definition ReferenceChainSearch.h:260
void InsertNode(FGraphNode *InNode)
Definition ReferenceChainSearch.h:226
FReferenceChain(FGraphNode *InTargetNode, TArray< FGraphNode * > InNodes, TArray< const FNodeReferenceInfo * > InReferenceInfos)
Definition ReferenceChainSearch.h:209
FGraphNode * GetRootNode() const
Definition ReferenceChainSearch.h:244
void AddNode(FGraphNode *InNode)
Definition ReferenceChainSearch.h:222
FGraphNode * GetRootNode(FGraphNode *Exclude) const
Definition ReferenceChainSearch.h:235
FGraphNode * GetNode(int32 NodeIndex) const
Definition ReferenceChainSearch.h:231
FReferenceChain(int32 ReserveDepth)
Definition ReferenceChainSearch.h:204
bool IsExternal() const
Definition ReferenceChainSearch.cpp:1542
const FNodeReferenceInfo * GetReferenceInfo(int32 NodeIndex) const
Definition ReferenceChainSearch.h:265
FReferenceChain()
Definition ReferenceChainSearch.h:203
int64 GetAllocatedSize() const
Definition ReferenceChainSearch.h:216
int32 Num() const
Definition ReferenceChainSearch.h:249
Definition ReferenceChainSearch.h:64
const TArray< FReferenceChain * > & GetReferenceChains() const
Definition ReferenceChainSearch.h:334
EReferenceType
Definition ReferenceChainSearch.h:74
int64 GetAllocatedSize() const
Definition ReferenceChainSearch.cpp:1607
static FString GetObjectFlags(const FGCObjectInfo &InObject)
Definition ReferenceChainSearch.cpp:1264
COREUOBJECT_API FString GetRootPath(UObject *TargetObject=nullptr) const
Definition ReferenceChainSearch.cpp:1780
TReferenceInfo< FGraphNode > FNodeReferenceInfo
Definition ReferenceChainSearch.h:162
COREUOBJECT_API void SetVerbosityForPrint(ELogVerbosity::Type Verbosity)
Definition ReferenceChainSearch.cpp:1683
TReferenceInfo< FGCObjectInfo > FObjectReferenceInfo
Definition ReferenceChainSearch.h:161
static COREUOBJECT_API TArray< FString > FindAndPrintStaleReferencesToObjects(TConstArrayView< UObject * > ObjectsToFindReferencesTo, EPrintStaleReferencesOptions Options)
Definition ReferenceChainSearch.cpp:1908
static COREUOBJECT_API FString FindAndPrintStaleReferencesToObject(UObject *ObjectToFindReferencesTo, EPrintStaleReferencesOptions Options)
Definition ReferenceChainSearch.cpp:1903
COREUOBJECT_API ~FReferenceChainSearch()
Definition ReferenceChainSearch.cpp:1602
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT ElementType & Last(SizeType IndexFromTheEnd=0) UE_LIFETIMEBOUND
Definition Array.h:1263
bool Contains(const ComparisonType &Item) const
Definition Array.h:1518
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_NODEBUG UE_FORCEINLINE_HINT SIZE_T GetAllocatedSize(void) const
Definition Array.h:1059
SizeType Insert(std::initializer_list< ElementType > InitList, const SizeType InIndex)
Definition Array.h:1875
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Type
Definition LogVerbosity.h:17
@ Log
Definition LogVerbosity.h:40
Definition ThreadHeartBeat.h:424
Definition ReferenceChainSearch.h:275
int32 Indent
Definition ReferenceChainSearch.h:283
FGCObjectInfo * Referencer
Definition ReferenceChainSearch.h:279
const FNodeReferenceInfo * ReferenceInfo
Definition ReferenceChainSearch.h:281
FGCObjectInfo * Object
Definition ReferenceChainSearch.h:277
FOutputDevice * Out
Definition ReferenceChainSearch.h:285
Definition ReferenceChainSearch.h:166
UObject * Object
Definition ReferenceChainSearch.h:169
FGCObjectInfo * ObjectInfo
Definition ReferenceChainSearch.h:171
int64 GetAllocatedSize() const
Definition ReferenceChainSearch.h:179
int32 Visited
Definition ReferenceChainSearch.h:177
TSet< FNodeReferenceInfo > ReferencedObjects
Definition ReferenceChainSearch.h:173
TSet< FGraphNode * > ReferencedByObjects
Definition ReferenceChainSearch.h:175
Definition ReferenceChainSearch.h:84
bool operator==(const TReferenceInfo &Other) const
Definition ReferenceChainSearch.h:126
EReferenceType Type
Definition ReferenceChainSearch.h:92
TReferenceInfo(T *InObject)
Definition ReferenceChainSearch.h:103
FString ToString() const
Definition ReferenceChainSearch.h:137
TReferenceInfo & operator=(TReferenceInfo &&)=default
TReferenceInfo()
Definition ReferenceChainSearch.h:97
T * Object
Definition ReferenceChainSearch.h:89
TArray< uint64 > StackFrames
Definition ReferenceChainSearch.h:90
TReferenceInfo(T *InObject, EReferenceType InType, FString InReferencerName, TConstArrayView< uint64 > InStackFrames={})
Definition ReferenceChainSearch.h:110
TReferenceInfo(TReferenceInfo &&)=default
static constexpr uint32 MaxStackFrames
Definition ReferenceChainSearch.h:86
FString ReferencerName
Definition ReferenceChainSearch.h:94
friend uint32 GetTypeHash(const TReferenceInfo &Info)
Definition ReferenceChainSearch.h:131
Definition ThreadHeartBeat.h:265