UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
uLang::CDataDefinition Class Reference

#include <DataDefinition.h>

+ Inheritance diagram for uLang::CDataDefinition:

Public Member Functions

 CDataDefinition (const CSymbol &IdentName, CScope &EnclosingScope)
 
 CDataDefinition (const CSymbol &IdentName, CScope &EnclosingScope, const CTypeBase *Type)
 
void SetPrototypeDefinition (const CDataDefinition &PrototypeDefinition)
 
const CDataDefinitionGetPrototypeDefinition () const
 
UE_API void SetAstNode (CExprDefinition *AstNode)
 
UE_API CExprDefinitionGetAstNode () const
 
UE_API void SetIrNode (CExprDefinition *AstNode)
 
UE_API CExprDefinitionGetIrNode (bool bForce=false) const
 
UE_API bool IsNativeRepresentation () const
 
void SetType (const CTypeBase *Type)
 
const CTypeBaseGetType () const
 
UE_API CUTF8String GetScopePath (uLang::UTF8Char SeparatorChar='.', CScope::EPathMode Mode=CScope::EPathMode::Default) const
 
void SetOverriddenDefinition (const CDataDefinition &OverriddenDefinition)
 
const CDataDefinitionGetOverriddenDefinition () const
 
const CDataDefinitionGetBaseOverriddenDefinition () const
 
const CDataDefinitionGetBaseClassOverriddenDefinition () const
 
void SetHasInitializer ()
 
bool HasInitializer () const
 
void SetVarAccessLevel (TOptional< SAccessLevel > &&AccessLevel)
 
void SetIsVar ()
 
void SetIsLive (bool bIsLive)
 
const TOptional< SAccessLevel > & SelfVarAccessLevel () const
 
bool IsVar () const
 
bool IsLive () const
 
SAccessLevel DerivedVarAccessLevel () const
 
UE_API bool IsVarWritableFrom (const CScope &) const
 
const CDataDefinitionGetDefinitionVarAccessibilityRoot () const
 
UE_API bool IsModuleScopedVar () const
 
UE_API void MarkPersistenceCompatConstraint () const
 
virtual UE_API bool IsPersistenceCompatConstraint () const override
 
UE_API bool CanHaveCustomAccessors () const
 
UE_API bool HasPredictsAttribute () const
 
UE_API bool CanBeAccessedFromPredicts () const
 
- Public Member Functions inherited from uLang::CDefinition
UE_API CDefinition (EKind Kind, CScope &EnclosingScope, const CSymbol &Name)
 
UE_API ~CDefinition ()
 
bool TryMarkOverriddenAndConstrainedDefinitionsVisited (VisitStampType VisitStamp) const
 
EKind GetKind () const
 
template<typename TDefinition >
TDefinitionAsChecked ()
 
template<typename TDefinition >
TDefinition const & AsChecked () const
 
template<typename TDefinition >
bool IsA () const
 
template<typename TDefinition >
TDefinitionAsNullable ()
 
template<typename TDefinition >
TDefinition const * AsNullable () const
 
const CDefinitionGetOverriddenDefinition () const
 
const CDefinitionGetBaseOverriddenDefinition () const
 
UE_API const CDefinitionGetBaseClassOverriddenDefinition () const
 
const CDefinitionGetPrototypeDefinition () const
 
void SetConstrainedDefinition (const CDefinition &ConstrainedDefinition)
 
const CDefinitionGetConstrainedDefinition () const
 
CExpressionBaseGetAstNode () const
 
CExpressionBaseGetIrNode (bool bForce=false) const
 
void SetAccessLevel (const TOptional< SAccessLevel > &AccessLevel)
 
const TOptional< SAccessLevel > & SelfAccessLevel () const
 
UE_API SAccessLevel DerivedAccessLevel () const
 
UE_API bool IsInstanceMember () const
 
UE_API bool IsDeprecated () const
 
UE_API bool IsExperimental () const
 
UE_API bool IsFinal () const
 
UE_API const CExpressionBaseGetNativeSpecifierExpression () const
 
UE_API bool IsNative () const
 
UE_API bool IsBuiltIn () const
 
virtual const CLogicalScopeDefinitionAsLogicalScopeNullable () const
 
const CDefinitionGetDefinitionAccessibilityRoot () const
 
UE_API bool IsAccessibleFrom (const CScope &) const
 
void SetOverriddenDefinition (const CDefinition &OverriddenDefinition)
 
void SetOverriddenDefinition (const CDefinition *OverriddenDefinition)
 
UE_API const CDefinitionGetEnclosingDefinition () const
 
bool IsExplicitlyLocallyQualified () const
 If the definition is explicitly qualified with the (local:) identifier.
 
bool IsLocallyQualified () const
 If the definition is implicitly local by virtue of being a definition within a function body/explicitly qualified as (local:).
 
UE_API SQualifier GetImplicitQualifier () const
 Determines the qualifier for this definition, even if not explicitly specified (from the original source).
 
UE_API void SetName (const CSymbol &NewName)
 
TOptional< uint64_tGetCombinedAvailableVersion () const
 
void SetCombinedAvailableVersion (uint64_t InAvailableVersion) const
 
template<typename TDefinition >
TDefinition const & AsChecked () const
 
- Public Member Functions inherited from uLang::CAttributable
bool HasAttributes () const
 
UE_API bool HasAttributeClass (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API bool HasAttributeSubclass (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API int32_t GetAttributeClassCount (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API TArray< const CExpressionBase * > GetAttributesWithAttribute (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const CExpressionBaseFindAttributeExpr (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const CExpressionBaseFindAttributeSubclassExpr (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const TArray< CExpressionBase * > FindAttributeExprs (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API const TArray< CExpressionBase * > FindAttributeSubclassExprs (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API TOptional< SAttributeFindAttribute (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API TArray< SAttributeFindAttributes (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API void AddAttributeClass (const CClass *AttributeClass)
 
UE_API void AddAttribute (SAttribute Attribute)
 
UE_API void RemoveAttributeClass (const CClass *AttributeClass, const CSemanticProgram &Program)
 
UE_API TOptional< CUTF8StringGetAttributeTextValue (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
CAttributableoperator= (const CAttributable &Other)=delete
 
CAttributableoperator= (CAttributable &&Other)=delete
 
UE_API bool HasAttributeClassHack (const CClass *AttributeClass, const CSemanticProgram &) const
 
UE_API bool HasAttributeFunctionHack (const CFunction *AttributeFunction, const CSemanticProgram &) const
 
- Public Member Functions inherited from uLang::CNamed
ULANG_FORCEINLINE CNamed ()
 
ULANG_FORCEINLINE CNamed (const CSymbol &Name)
 
ULANG_FORCEINLINE CNamed (const CNamed &Source)
 
ULANG_FORCEINLINE CNamedoperator= (const CNamed &Source)
 
ULANG_FORCEINLINE operator const CSymbol & () const
 
ULANG_FORCEINLINE EEquate Compare (const CSymbol &Name) const
 
ULANG_FORCEINLINE bool operator== (const CSymbol &Name) const
 
ULANG_FORCEINLINE bool operator!= (const CSymbol &Name) const
 
ULANG_FORCEINLINE bool operator<= (const CSymbol &Name) const
 
ULANG_FORCEINLINE bool operator>= (const CSymbol &Name) const
 
ULANG_FORCEINLINE bool operator< (const CSymbol &Name) const
 
ULANG_FORCEINLINE bool operator> (const CSymbol &Name) const
 
ULANG_FORCEINLINE const CSymbolGetName () const
 
ULANG_FORCEINLINE SymbolId GetNameId () const
 
ULANG_FORCEINLINE CUTF8StringView AsNameStringView () const
 
ULANG_FORCEINLINE const charAsNameCString () const
 
ULANG_FORCEINLINE UTF8Char AsNameFirstByte () const
 
- Public Member Functions inherited from uLang::TAstNodeRef< CExpressionBase >
CExpressionBaseGetAstNode () const
 
CExpressionBaseGetIrNode (bool bForce=false) const
 
void SetAstNode (CExpressionBase *AstNode)
 
void SetIrNode (CExpressionBase *IrNode)
 
- Public Member Functions inherited from uLang::CSharedMix
 CSharedMix ()
 
virtual UE_API ~CSharedMix ()
 
 CSharedMix (const CSharedMix &Other)=delete
 
CSharedMixoperator= (const CSharedMix &Other)=delete
 
uint32_t GetRefCount () const
 

Public Attributes

bool _bNamed = false
 
const CTypeBase_NegativeType = nullptr
 
const CTypeVariable_ImplicitParam = nullptr
 
SClassVarAccessorFunctions _OptionalAccessors
 
TSPtr< CExpressionBaseDefaultValue
 
- Public Attributes inherited from uLang::CDefinition
CScope_EnclosingScope
 
const int32_t _ParentScopeOrdinal
 
SQualifier _Qualifier
 
- Public Attributes inherited from uLang::CAttributable
TArray< SAttribute_Attributes
 

Static Public Attributes

static const CDefinition::EKind StaticDefinitionKind = CDefinition::EKind::Data
 

Friends

class CExprDataDefinition
 

Additional Inherited Members

- Public Types inherited from uLang::CDefinition
enum class  EKind : uint8_t { VISIT_KIND }
 
- Public Types inherited from uLang::CAttributable
enum class  EAttributableScope : uint8_t {
  Module , Class , Struct , Data ,
  Function , Enum , Enumerator , AttributeClass ,
  Interface , Expression , TypeDefinition , ScopedAccessLevel ,
  ClassTypeFunction , AttributeClassTypeFunction , InterfaceTypeFunction
}
 
- Static Public Member Functions inherited from uLang::CAttributable
static UE_API TOptional< CUTF8StringGetAttributeTextValue (const TArray< SAttribute > &Attributes, const CClass *AttributeClass, const CSemanticProgram &Program)
 
- Protected Member Functions inherited from uLang::CDefinition
void SetPrototypeDefinition (const CDefinition &PrototypeDefinition)
 
void SetAstNode (CExpressionBase *AstNode)
 
void SetIrNode (CExpressionBase *IrNode)
 
- Static Protected Member Functions inherited from uLang::CSharedMix
template<class ObjectType >
static TSPtrG< ObjectType, false, CHeapRawAllocatorSharedThis (ObjectType *This)
 
template<class ObjectType >
static TSPtrG< const ObjectType, false, CHeapRawAllocatorSharedThis (const ObjectType *This)
 
- Protected Attributes inherited from uLang::CNamed
CSymbol _Name
 

Detailed Description

Joining structure, making data-members attributable.

Constructor & Destructor Documentation

◆ CDataDefinition() [1/2]

uLang::CDataDefinition::CDataDefinition ( const CSymbol IdentName,
CScope EnclosingScope 
)
inline

◆ CDataDefinition() [2/2]

uLang::CDataDefinition::CDataDefinition ( const CSymbol IdentName,
CScope EnclosingScope,
const CTypeBase Type 
)
inline

Member Function Documentation

◆ CanBeAccessedFromPredicts()

bool uLang::CDataDefinition::CanBeAccessedFromPredicts ( ) const

◆ CanHaveCustomAccessors()

bool uLang::CDataDefinition::CanHaveCustomAccessors ( ) const

◆ DerivedVarAccessLevel()

SAccessLevel uLang::CDataDefinition::DerivedVarAccessLevel ( ) const
inline

◆ GetAstNode()

CExprDefinition * uLang::CDataDefinition::GetAstNode ( ) const

◆ GetBaseClassOverriddenDefinition()

const CDataDefinition & uLang::CDataDefinition::GetBaseClassOverriddenDefinition ( ) const
inline

◆ GetBaseOverriddenDefinition()

const CDataDefinition & uLang::CDataDefinition::GetBaseOverriddenDefinition ( ) const
inline

◆ GetDefinitionVarAccessibilityRoot()

const CDataDefinition & uLang::CDataDefinition::GetDefinitionVarAccessibilityRoot ( ) const
inline

◆ GetIrNode()

CExprDefinition * uLang::CDataDefinition::GetIrNode ( bool  bForce = false) const

◆ GetOverriddenDefinition()

const CDataDefinition * uLang::CDataDefinition::GetOverriddenDefinition ( ) const
inline

◆ GetPrototypeDefinition()

const CDataDefinition * uLang::CDataDefinition::GetPrototypeDefinition ( ) const
inline

◆ GetScopePath()

CUTF8String uLang::CDataDefinition::GetScopePath ( uLang::UTF8Char  SeparatorChar = '.',
CScope::EPathMode  Mode = CScope::EPathMode::Default 
) const

◆ GetType()

const CTypeBase * uLang::CDataDefinition::GetType ( ) const
inline

◆ HasInitializer()

bool uLang::CDataDefinition::HasInitializer ( ) const
inline

◆ HasPredictsAttribute()

bool uLang::CDataDefinition::HasPredictsAttribute ( ) const

◆ IsLive()

bool uLang::CDataDefinition::IsLive ( ) const
inline

◆ IsModuleScopedVar()

bool uLang::CDataDefinition::IsModuleScopedVar ( ) const

◆ IsNativeRepresentation()

bool uLang::CDataDefinition::IsNativeRepresentation ( ) const

◆ IsPersistenceCompatConstraint()

bool uLang::CDataDefinition::IsPersistenceCompatConstraint ( ) const
overridevirtual

Implements uLang::CDefinition.

◆ IsVar()

bool uLang::CDataDefinition::IsVar ( ) const
inline

◆ IsVarWritableFrom()

bool uLang::CDataDefinition::IsVarWritableFrom ( const CScope Scope) const

◆ MarkPersistenceCompatConstraint()

void uLang::CDataDefinition::MarkPersistenceCompatConstraint ( ) const

◆ SelfVarAccessLevel()

const TOptional< SAccessLevel > & uLang::CDataDefinition::SelfVarAccessLevel ( ) const
inline

◆ SetAstNode()

void uLang::CDataDefinition::SetAstNode ( CExprDefinition AstNode)

◆ SetHasInitializer()

void uLang::CDataDefinition::SetHasInitializer ( )
inline

◆ SetIrNode()

void uLang::CDataDefinition::SetIrNode ( CExprDefinition AstNode)

◆ SetIsLive()

void uLang::CDataDefinition::SetIsLive ( bool  bIsLive)
inline

◆ SetIsVar()

void uLang::CDataDefinition::SetIsVar ( )
inline

◆ SetOverriddenDefinition()

void uLang::CDataDefinition::SetOverriddenDefinition ( const CDataDefinition OverriddenDefinition)
inline

◆ SetPrototypeDefinition()

void uLang::CDataDefinition::SetPrototypeDefinition ( const CDataDefinition PrototypeDefinition)
inline

◆ SetType()

void uLang::CDataDefinition::SetType ( const CTypeBase Type)
inline

◆ SetVarAccessLevel()

void uLang::CDataDefinition::SetVarAccessLevel ( TOptional< SAccessLevel > &&  AccessLevel)
inline

Friends And Related Symbol Documentation

◆ CExprDataDefinition

Member Data Documentation

◆ _bNamed

bool uLang::CDataDefinition::_bNamed = false

◆ _ImplicitParam

const CTypeVariable* uLang::CDataDefinition::_ImplicitParam = nullptr

◆ _NegativeType

const CTypeBase* uLang::CDataDefinition::_NegativeType = nullptr

◆ _OptionalAccessors

SClassVarAccessorFunctions uLang::CDataDefinition::_OptionalAccessors

◆ DefaultValue

TSPtr<CExpressionBase> uLang::CDataDefinition::DefaultValue

◆ StaticDefinitionKind

const CDefinition::EKind uLang::CDataDefinition::StaticDefinitionKind = CDefinition::EKind::Data
static

The documentation for this class was generated from the following files: