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

#include <SemanticClass.h>

+ Inheritance diagram for uLang::CClass:

Public Member Functions

UE_API CClass (CClassDefinition *, CScope &EnclosingScope, CClass *Superclass=nullptr, TArray< CInterface * > &&SuperInterfaces={}, EStructOrClass=EStructOrClass::Class, SEffectSet ConstructorEffects=EffectSets::ClassAndInterfaceDefault)
 
UE_API CClass (CScope *ParentScope, CClassDefinition *, EStructOrClass, CClass *Superclass, TArray< CInterface * > &&SuperInterfaces, SEffectSet ConstructorEffects, CClass *GeneralizedClass, TArray< STypeVariableSubstitution >)
 
UE_API CClass (CClass *PositiveClass)
 
UE_API const CTypeTypeGetTypeType () const
 
UE_API void SetSuperclass (CClass *SuperClass)
 
bool IsClass (const CClass &Class) const
 Determine if current class is the same class or a subclass of the specified Class
 
bool IsSubclassOf (const CClass &Superclass) const
 Determine if current class is a subclass / descendant / child of the specified Class (and not the same class!)
 
bool IsSuperclassOf (const CClass &Subclass) const
 Determine if current class is a superclass / ancestor / parent of the specified Class (and not the same class!)
 
UE_API bool ImplementsInterface (const CInterface &Interface) const
 Determine if current class implements Interface
 
bool IsStruct () const
 Is this class a struct?
 
bool IsNative () const
 
bool IsNativeRepresentation () const
 
UE_API bool IsAbstract () const
 
UE_API bool IsPersistent () const
 
UE_API bool IsUnique () const
 
UE_API bool HasConcreteAttribute () const
 Does this class hold a concrete attribute?
 
UE_API const CClassFindConcreteBase () const
 Return first class in the inheritance chain that contains the concrete attribute or null.
 
UE_API const CClassFindInitialConcreteBase () const
 Return topmost class in the inheritance chain that contains the concrete attribute or null.
 
bool IsExplicitlyConcrete () const override
 Is this class concrete either by having a concrete attribute or inheriting one.
 
UE_API bool HasCastableAttribute () const
 Does this class hold a castable attribute?
 
UE_API const CNominalTypeFindExplicitlyCastableBase () const
 Return first class in the inheritance chain that contains the castable attribute. Otherwise null.
 
bool IsExplicitlyCastable () const override
 Is this class castable either by having a castable attribute or inheriting one.
 
UE_API bool HasFinalSuperBaseAttribute () const
 Does this class hold a <final_super_base> attribute?
 
UE_API bool HasFinalSuperAttribute () const
 Does this class hold a <final_super> attribute?
 
virtual CSymbol GetScopeName () const override
 
virtual const CTypeBaseScopeAsType () const override
 
virtual const CDefinitionScopeAsDefinition () const override
 
virtual UE_API SAccessLevel GetDefaultDefinitionAccessLevel () const override
 
virtual UE_API void CreateNegativeDataDefinition (const CDataDefinition &PositiveDataDefinition) const override
 
virtual UE_API void CreateNegativeFunction (const CFunction &PositiveFunction) const override
 
virtual UE_API SmallDefinitionArray FindDefinitions (const CSymbol &Name, EMemberOrigin Origin=EMemberOrigin::InheritedOrOriginal, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr, VisitStampType VisitStamp=GenerateNewVisitStamp()) const override
 
virtual UE_API CUTF8String AsCodeRecursive (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const override
 
virtual UE_API SmallDefinitionArray FindInstanceMember (const CSymbol &Name, EMemberOrigin Origin, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr, VisitStampType VisitStamp=CScope::GenerateNewVisitStamp()) const override
 
virtual UE_API EComparability GetComparability () const override
 
UE_API EComparability GetComparability (VisitStampType) const
 
UE_API bool IsPersistable () const override
 
virtual void SetRevision (SemanticRevision Revision) override
 
virtual bool CanBeCustomAccessorDataType () const override
 
virtual bool CanBePredictsVarDataType () const override
 
virtual const CDefinitionDefinition () const override
 
template<typename TFunc >
void ForEachAncestorClassOrInterface (const TFunc &Func)
 
bool HasAttributeClass (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
bool HasAttributeSubclass (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
UE_API void AddAttribute (SAttribute) const
 
TOptional< SAttributeFindAttribute (const CClass *AttributeClass, const CSemanticProgram &Program) const
 
bool HasCyclesBroken () const
 
bool IsParametric () const
 
CSemanticProgramGetProgram () const
 
- Public Member Functions inherited from uLang::CNominalType
 CNominalType (ETypeKind Kind, CSemanticProgram &Program)
 
virtual const CNominalTypeAsNominalType () const override
 
- Public Member Functions inherited from uLang::CNormalType
 CNormalType (ETypeKind Kind, CSemanticProgram &Program)
 
ETypeKind GetKind () const
 
template<typename TType >
TType & AsChecked ()
 
template<typename TType >
TType const & AsChecked () const
 
template<typename TType >
bool IsA () const
 
template<typename TType >
TType * AsNullable ()
 
template<typename TType >
TType const * AsNullable () const
 
virtual const CTypeBaseGetReferenceValueType () const
 
virtual const CTypeBaseGetInnerType () const
 
UE_API SmallDefinitionArray FindInstanceMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, const CAstPackage *ContextPackage=nullptr) const
 
UE_API SmallDefinitionArray FindTypeMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier) const
 
virtual SmallDefinitionArray FindTypeMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, VisitStampType VisitStamp) const
 
virtual const CNormalTypeGetNormalType () const override
 
- Public Member Functions inherited from uLang::CTypeBase
 CTypeBase (CSemanticProgram &Program)
 
virtual ~CTypeBase ()
 
CSemanticProgramGetProgram () const
 
virtual CNamedTypeAsNamedType ()
 
virtual const CNamedTypeAsNamedType () const
 
virtual CFlowTypeAsFlowType ()
 
virtual const CFlowTypeAsFlowType () const
 
virtual const CAliasTypeAsAliasType () const
 
CUTF8String AsCode (ETypeSyntaxPrecedence OuterPrecedence=ETypeSyntaxPrecedence::Min, ETypeStringFlag Flag=ETypeStringFlag::Simple) const
 
CUTF8String AsParamsCode (ETypeSyntaxPrecedence OuterPrecedence=ETypeSyntaxPrecedence::Min, ETypeStringFlag Flag=ETypeStringFlag::Simple) const
 
virtual CUTF8String AsParamsCode (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool WithColon, ETypeStringFlag Flag=ETypeStringFlag::Simple) const
 
CUTF8String AsLinkableCode () const
 
- Public Member Functions inherited from uLang::CLogicalScope
 CLogicalScope (EKind Kind, CScope *Parent, CSemanticProgram &Program)
 
virtual UE_API ~CLogicalScope ()
 
 CLogicalScope (const CLogicalScope &)=delete
 
 CLogicalScope (CLogicalScope &&)=delete
 
UE_API EIterateResult IterateRecurseLogicalScopes (const TFunction< EVisitResult(const CLogicalScope &)> &Functor) const
 Iterates through all the logical scopes nested inside this scope.
 
UE_API EIterateResult IterateRecurseLogicalScopes (TFunction< EVisitResult(const CLogicalScope &)> &&Functor) const
 
const TArray< TSRef< CDefinition > > & GetDefinitions () const
 
TMap< CSymbol, SmallDefinitionArray > & GetDefinitionNameMap ()
 
template<typename FilterClass >
TFilteredDefinitionRange< FilterClass > GetDefinitionsOfKind () const
 
template<typename FilterClass >
FilterClass * FindFirstDefinitionOfKind (const CSymbol &Name, EMemberOrigin Origin=EMemberOrigin::InheritedOrOriginal, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr, VisitStampType VisitStamp=GenerateNewVisitStamp()) const
 
SemanticRevision GetRevision () const
 
ULANG_FORCEINLINE bool TryMarkVisited (VisitStampType VisitStamp) const
 
int32_t AllocateNextDefinitionOrdinal ()
 
UE_API const CDefinitionFindOverrideFor (const CDefinition &Definition) const
 Get the matching override definition in this class for the argument, if there is any.
 
virtual const CLogicalScopeAsLogicalScopeNullable () const override
 Iff this scope is a logical scope, return it a pointer to it. Otherwise, return null.
 
virtual CLogicalScopeAsLogicalScopeNullable () override
 
UE_API SQualifier AsQualifier () const
 
void AddDefinitionToLogicalScope (TSRef< CDefinition > &&NewDefinition)
 
- Public Member Functions inherited from uLang::CScope
 CScope (EKind Kind, CScope *Parent, CSemanticProgram &Program)
 
virtual UE_API ~CScope ()
 
 CScope (const CScope &)=delete
 
 CScope (CScope &&)=delete
 
ULANG_FORCEINLINE EKind GetKind () const
 
ULANG_FORCEINLINE CScopeGetParentScope () const
 
UE_API CScopeGetScopeOfKind (EKind)
 
UE_API const CScopeGetScopeOfKind (EKind) const
 
UE_API CUTF8String GetScopePath (uLang::UTF8Char SeparatorChar='.', EPathMode Mode=EPathMode::Default) const
 
UE_API const CModuleGetModule () const
 
UE_API CModuleGetModule ()
 
UE_API const CModulePartGetModulePart () const
 
UE_API CModulePartGetModulePart ()
 
UE_API CAstPackageGetPackage () const
 
UE_API CAstCompilationUnitGetCompilationUnit () const
 
UE_API const CSnippetGetSnippet () const
 
UE_API CCaptureScopeGetCaptureScope ()
 
UE_API const CCaptureScopeGetCaptureScope () const
 
UE_API const TSPtr< CSymbolTable > & GetSymbols () const
 
ULANG_FORCEINLINE CSemanticProgramGetProgram () const
 
UE_API const CScopeGetParametricTypeScope () const
 If this is a parametric type, get the scope of those parameters; otherwise returns this scope.
 
UE_API const CLogicalScopeGetLogicalScope () const
 Get the innermost logical scope that is or contains this scope.
 
ULANG_FORCEINLINE CLogicalScopeGetLogicalScope ()
 
ULANG_FORCEINLINE bool IsLogicalScope () const
 
const CLogicalScopeGetEnclosingClassOrInterface () const
 
UE_API CLogicalScopeGetEnclosingClassOrInterface ()
 
UE_API bool IsSameOrChildOf (const CScope *Other) const
 
bool IsControlScope () const
 
UE_API bool IsInsideTypeScope () const
 
bool IsModuleOrSnippet () const
 
UE_API bool IsBuiltInScope () const
 
UE_API CModuleCreateModule (const CSymbol &ModuleName)
 
UE_API CClassDefinitionCreateClass (const CSymbol &ClassName, CClass *Superclass=nullptr, TArray< CInterface * > &&SuperInterfaces={}, EStructOrClass StructOrClass=EStructOrClass::Class)
 
UE_API CEnumerationCreateEnumeration (const CSymbol &EnumerationName)
 
UE_API CInterfaceCreateInterface (const CSymbol &InterfaceName, const TArray< CInterface * > &SuperInterfaces={})
 
UE_API TSRef< CFunctionCreateFunction (const CSymbol FunctionName)
 
UE_API TSRef< CDataDefinitionCreateDataDefinition (const CSymbol VarName)
 
UE_API TSRef< CDataDefinitionCreateDataDefinition (const CSymbol VarName, const CTypeBase *Type)
 
UE_API TSRef< CTypeAliasCreateTypeAlias (const CSymbol Name)
 
UE_API TSRef< CTypeVariableCreateTypeVariable (const CSymbol Name, const CTypeBase *NegativeType, const CTypeBase *PositiveType)
 
UE_API TSRef< CModuleAliasCreateModuleAlias (const CSymbol Name)
 
UE_API TSRef< CScopedAccessLevelDefinitionCreateScopedAccessLevelDefinition (TOptional< CSymbol > ClassName)
 
void AddUsingScope (const CLogicalScope *UsingScope)
 
const TArray< const CLogicalScope * > & GetUsingScopes () const
 
UE_API const CDataDefinitionAddUsingInstance (const CDataDefinition *UsingContext)
 
const TArray< const CDataDefinition * > & GetUsingInstances () const
 
UE_API SResolvedDefinitionArray ResolveDefinition (const CSymbol &Name, const SQualifier &Qualifier=SQualifier::Unknown(), const CAstPackage *ContextPackage=nullptr) const
 Look for a definition in this scope and all parent scopes and aliases.
 
UE_API TSRef< CControlScopeCreateNestedControlScope ()
 
TSRef< CCaptureControlScopeCreateNestedCaptureControlScope ()
 
const TSRefArray< CControlScope > & GetNestedControlScopes () const
 
UE_API TSRef< CTypeScopeCreateNestedTypeScope ()
 
UE_API bool IsAuthoredByEpic () const
 
UE_API bool CanAccessEpicInternal () const
 

Public Attributes

CClassDefinition *const _Definition
 
const EStructOrClass _StructOrClass
 
CClass_Superclass
 
TArray< CInterface * > _SuperInterfaces
 
TArray< CInterface * > _AllInheritedInterfaces
 
SEffectSet _ConstructorEffects
 
TArray< CExprCodeBlock * > _IrBlockClauses
 
CClass_GeneralizedClass {this}
 
TArray< STypeVariableSubstitution_TypeVariableSubstitutions
 
TURefArray< CClass_InstantiatedClasses
 
TUPtr< CClass_OwnedNegativeClass
 
CClass_NegativeClass
 
bool _bHasCyclesBroken {false}
 

Static Public Attributes

static const ETypeKind StaticTypeKind = ETypeKind::Class
 
static const CDefinition::EKind StaticDefinitionKind = CDefinition::EKind::Class
 

Additional Inherited Members

- Public Types inherited from uLang::CScope
enum class  EKind : uint8_t {
  Program , CompatConstraintRoot , Module , ModulePart ,
  Snippet , Class , Function , ControlScope ,
  Interface , Type , Enumeration
}
 
using EPathMode = uLang::EPathMode
 
- Static Public Member Functions inherited from uLang::CScope
static UE_API const charKindToCString (EKind Kind)
 
static UE_API void ResolvedDefnsAppend (SResolvedDefinitionArray *ResolvedDefns, const SmallDefinitionArray &Definitions)
 
static UE_API void ResolvedDefnsAppendWithContext (SResolvedDefinitionArray *ResolvedDefns, const SmallDefinitionArray &Definitions, const CDataDefinition *Context)
 
static UE_API VisitStampType GenerateNewVisitStamp ()
 Generates a new stamp id.
 
- Protected Member Functions inherited from uLang::CScope
UE_API bool CanAccess (const CDefinition &Definition, const SAccessLevel &DefinitionAccessLevel) const
 
- Protected Attributes inherited from uLang::CLogicalScope
SemanticRevision _CumulativeRevision = 1
 When anything in this class (methods, data members etc.) or its subclasses was last modified/deleted.
 
VisitStampType _LastVisitStamp { 0 }
 
- Protected Attributes inherited from uLang::CScope
EKind _Kind
 
CScope_Parent
 
CSemanticProgram_Program
 
TArray< const CLogicalScope * > _UsingScopes
 
TArray< const CDataDefinition * > _UsingInstances
 
TSRefArray< CControlScope_NestedControlScopes
 
TSRefArray< CTypeScope_NestedTypeScopes
 

Detailed Description

Class defining a class instance / object [Might break off CStructType to differentiate stack based types.]

Constructor & Destructor Documentation

◆ CClass() [1/3]

uLang::CClass::CClass ( CClassDefinition Definition,
CScope EnclosingScope,
CClass Superclass = nullptr,
TArray< CInterface * > &&  SuperInterfaces = {},
EStructOrClass  StructOrClass = EStructOrClass::Class,
SEffectSet  ConstructorEffects = EffectSets::ClassAndInterfaceDefault 
)

◆ CClass() [2/3]

uLang::CClass::CClass ( CScope ParentScope,
CClassDefinition Definition,
EStructOrClass  StructOrClass,
CClass Superclass,
TArray< CInterface * > &&  SuperInterfaces,
SEffectSet  ConstructorEffects,
CClass GeneralizedClass,
TArray< STypeVariableSubstitution TypeVariableSubstitutions 
)

◆ CClass() [3/3]

uLang::CClass::CClass ( CClass PositiveClass)
explicit

Member Function Documentation

◆ AddAttribute()

void uLang::CClass::AddAttribute ( SAttribute  Attribute) const
inline

◆ AsCodeRecursive()

CUTF8String uLang::CClass::AsCodeRecursive ( ETypeSyntaxPrecedence  OuterPrecedence,
TArray< const CFlowType * > &  VisitedFlowTypes,
bool  bLinkable,
ETypeStringFlag  Flag 
) const
overridevirtual

Reimplemented from uLang::CNominalType.

Reimplemented in uLang::CScopedAccessLevelDefinition.

◆ CanBeCustomAccessorDataType()

virtual bool uLang::CClass::CanBeCustomAccessorDataType ( ) const
inlineoverridevirtual

Implements uLang::CTypeBase.

◆ CanBePredictsVarDataType()

virtual bool uLang::CClass::CanBePredictsVarDataType ( ) const
inlineoverridevirtual

Reimplemented from uLang::CTypeBase.

◆ CreateNegativeDataDefinition()

void uLang::CClass::CreateNegativeDataDefinition ( const CDataDefinition PositiveDataDefinition) const
overridevirtual

Reimplemented from uLang::CScope.

◆ CreateNegativeFunction()

void uLang::CClass::CreateNegativeFunction ( const CFunction PositiveFunction) const
overridevirtual

Reimplemented from uLang::CScope.

◆ Definition()

const CDefinition * uLang::CClass::Definition ( ) const
inlineoverridevirtual

Implements uLang::CNominalType.

◆ FindAttribute()

TOptional< SAttribute > uLang::CClass::FindAttribute ( const CClass AttributeClass,
const CSemanticProgram Program 
) const
inline

◆ FindConcreteBase()

const CClass * uLang::CClass::FindConcreteBase ( ) const

Return first class in the inheritance chain that contains the concrete attribute or null.

◆ FindDefinitions()

SmallDefinitionArray uLang::CClass::FindDefinitions ( const CSymbol Name,
EMemberOrigin  Origin = EMemberOrigin::InheritedOrOriginal,
const SQualifier Qualifier = SQualifier::Unknown(),
const CAstPackage ContextPackage = nullptr,
VisitStampType  VisitStamp = GenerateNewVisitStamp() 
) const
overridevirtual

Reimplemented from uLang::CLogicalScope.

◆ FindExplicitlyCastableBase()

const CNominalType * uLang::CClass::FindExplicitlyCastableBase ( ) const

Return first class in the inheritance chain that contains the castable attribute. Otherwise null.

◆ FindInitialConcreteBase()

const CClass * uLang::CClass::FindInitialConcreteBase ( ) const

Return topmost class in the inheritance chain that contains the concrete attribute or null.

◆ FindInstanceMember()

SmallDefinitionArray uLang::CClass::FindInstanceMember ( const CSymbol Name,
EMemberOrigin  Origin,
const SQualifier Qualifier = SQualifier::Unknown(),
const CAstPackage ContextPackage = nullptr,
VisitStampType  VisitStamp = CScope::GenerateNewVisitStamp() 
) const
overridevirtual

Reimplemented from uLang::CNormalType.

◆ ForEachAncestorClassOrInterface()

template<typename TFunc >
void uLang::CClass::ForEachAncestorClassOrInterface ( const TFunc Func)
inline

◆ GetComparability() [1/2]

EComparability uLang::CClass::GetComparability ( ) const
overridevirtual

Returns whether this type is comparable for equality

Reimplemented from uLang::CNormalType.

◆ GetComparability() [2/2]

EComparability uLang::CClass::GetComparability ( VisitStampType  VisitStamp) const

◆ GetDefaultDefinitionAccessLevel()

SAccessLevel uLang::CClass::GetDefaultDefinitionAccessLevel ( ) const
overridevirtual

Reimplemented from uLang::CScope.

◆ GetProgram()

CSemanticProgram & uLang::CTypeBase::GetProgram ( ) const
inline

◆ GetScopeName()

virtual CSymbol uLang::CClass::GetScopeName ( ) const
inlineoverridevirtual

Implements uLang::CScope.

◆ GetTypeType()

const CTypeType * uLang::CClass::GetTypeType ( ) const

◆ HasAttributeClass()

bool uLang::CClass::HasAttributeClass ( const CClass AttributeClass,
const CSemanticProgram Program 
) const
inline

◆ HasAttributeSubclass()

bool uLang::CClass::HasAttributeSubclass ( const CClass AttributeClass,
const CSemanticProgram Program 
) const
inline

◆ HasCastableAttribute()

bool uLang::CClass::HasCastableAttribute ( ) const

Does this class hold a castable attribute?

◆ HasConcreteAttribute()

bool uLang::CClass::HasConcreteAttribute ( ) const

Does this class hold a concrete attribute?

◆ HasCyclesBroken()

bool uLang::CClass::HasCyclesBroken ( ) const
inline

◆ HasFinalSuperAttribute()

bool uLang::CClass::HasFinalSuperAttribute ( ) const

Does this class hold a <final_super> attribute?

◆ HasFinalSuperBaseAttribute()

bool uLang::CClass::HasFinalSuperBaseAttribute ( ) const

Does this class hold a <final_super_base> attribute?

◆ ImplementsInterface()

bool uLang::CClass::ImplementsInterface ( const CInterface Interface) const

Determine if current class implements Interface

◆ IsAbstract()

bool uLang::CClass::IsAbstract ( ) const

◆ IsClass()

ULANG_FORCEINLINE bool uLang::CClass::IsClass ( const CClass Class) const

Determine if current class is the same class or a subclass of the specified Class

◆ IsExplicitlyCastable()

bool uLang::CClass::IsExplicitlyCastable ( ) const
inlineoverridevirtual

Is this class castable either by having a castable attribute or inheriting one.

Implements uLang::CNormalType.

◆ IsExplicitlyConcrete()

bool uLang::CClass::IsExplicitlyConcrete ( ) const
inlineoverridevirtual

Is this class concrete either by having a concrete attribute or inheriting one.

Implements uLang::CNormalType.

◆ IsNative()

bool uLang::CClass::IsNative ( ) const
inline

◆ IsNativeRepresentation()

bool uLang::CClass::IsNativeRepresentation ( ) const

◆ IsParametric()

bool uLang::CClass::IsParametric ( ) const
inline

◆ IsPersistable()

bool uLang::CClass::IsPersistable ( ) const
overridevirtual

Returns whether this type is persistable

Implements uLang::CNormalType.

◆ IsPersistent()

bool uLang::CClass::IsPersistent ( ) const

◆ IsStruct()

bool uLang::CClass::IsStruct ( ) const
inline

Is this class a struct?

◆ IsSubclassOf()

ULANG_FORCEINLINE bool uLang::CClass::IsSubclassOf ( const CClass Superclass) const

Determine if current class is a subclass / descendant / child of the specified Class (and not the same class!)

◆ IsSuperclassOf()

ULANG_FORCEINLINE bool uLang::CClass::IsSuperclassOf ( const CClass Subclass) const

Determine if current class is a superclass / ancestor / parent of the specified Class (and not the same class!)

◆ IsUnique()

bool uLang::CClass::IsUnique ( ) const

◆ ScopeAsDefinition()

virtual const CDefinition * uLang::CClass::ScopeAsDefinition ( ) const
inlineoverridevirtual

Reimplemented from uLang::CScope.

◆ ScopeAsType()

virtual const CTypeBase * uLang::CClass::ScopeAsType ( ) const
inlineoverridevirtual

Reimplemented from uLang::CScope.

◆ SetRevision()

ULANG_FORCEINLINE void uLang::CClass::SetRevision ( SemanticRevision  Revision)
overridevirtual

Reimplemented from uLang::CLogicalScope.

◆ SetSuperclass()

ULANG_FORCEINLINE void uLang::CClass::SetSuperclass ( CClass SuperClass)

Member Data Documentation

◆ _AllInheritedInterfaces

TArray<CInterface*> uLang::CClass::_AllInheritedInterfaces

◆ _bHasCyclesBroken

bool uLang::CClass::_bHasCyclesBroken {false}

◆ _ConstructorEffects

SEffectSet uLang::CClass::_ConstructorEffects

◆ _Definition

CClassDefinition* const uLang::CClass::_Definition

◆ _GeneralizedClass

CClass* uLang::CClass::_GeneralizedClass {this}

◆ _InstantiatedClasses

TURefArray<CClass> uLang::CClass::_InstantiatedClasses

◆ _IrBlockClauses

TArray<CExprCodeBlock*> uLang::CClass::_IrBlockClauses

◆ _NegativeClass

CClass* uLang::CClass::_NegativeClass

◆ _OwnedNegativeClass

TUPtr<CClass> uLang::CClass::_OwnedNegativeClass

◆ _StructOrClass

const EStructOrClass uLang::CClass::_StructOrClass

◆ _Superclass

CClass* uLang::CClass::_Superclass

◆ _SuperInterfaces

TArray<CInterface*> uLang::CClass::_SuperInterfaces

◆ _TypeVariableSubstitutions

TArray<STypeVariableSubstitution> uLang::CClass::_TypeVariableSubstitutions

◆ StaticDefinitionKind

const CDefinition::EKind uLang::CClass::StaticDefinitionKind = CDefinition::EKind::Class
static

◆ StaticTypeKind

const ETypeKind uLang::CClass::StaticTypeKind = ETypeKind::Class
static

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