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

#include <SemanticEnumeration.h>

+ Inheritance diagram for uLang::CEnumeration:

Public Types

enum class  EEnumOpenness { Closed , Open , Invalid }
 
- 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
}
 
- 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
 

Public Member Functions

UE_API CEnumeration (const CSymbol &Name, CScope &EnclosingScope)
 
UE_API CEnumeratorCreateEnumerator (const CSymbol &EnumeratorName, int32_t Value)
 
virtual UE_API SmallDefinitionArray FindTypeMember (const CSymbol &Name, EMemberOrigin Origin, const SQualifier &Qualifier=SQualifier::Unknown(), VisitStampType VisitStamp=CScope::GenerateNewVisitStamp()) const override
 
virtual EComparability GetComparability () const override
 
virtual UE_API bool IsPersistable () const override
 
virtual bool IsExplicitlyCastable () const override
 
virtual bool IsExplicitlyConcrete () const override
 
virtual bool CanBeCustomAccessorDataType () const override
 
virtual const CDefinitionDefinition () const override
 
virtual CSymbol GetScopeName () const override
 
virtual const CTypeBaseScopeAsType () const override
 
virtual const CDefinitionScopeAsDefinition () const override
 
virtual UE_API SAccessLevel GetDefaultDefinitionAccessLevel () const override
 
UE_API void SetAstNode (CExprEnumDefinition *AstNode)
 
UE_API CExprEnumDefinitionGetAstNode () const
 
UE_API void SetIrNode (CExprEnumDefinition *AstNode)
 
UE_API CExprEnumDefinitionGetIrNode (bool bForce=false) const
 
virtual const CLogicalScopeDefinitionAsLogicalScopeNullable () const override
 
virtual bool IsPersistenceCompatConstraint () const override
 
bool IsOpen () const
 
bool IsClosed () const
 
UE_API EEnumOpenness GetOpenness () const
 
CSemanticProgramGetProgram () 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
 
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 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
 
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
 
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
 
virtual UE_API void SetRevision (SemanticRevision Revision)
 
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)
 
virtual void CreateNegativeFunction (const CFunction &PositiveFunction) const
 
UE_API TSRef< CDataDefinitionCreateDataDefinition (const CSymbol VarName)
 
UE_API TSRef< CDataDefinitionCreateDataDefinition (const CSymbol VarName, const CTypeBase *Type)
 
virtual void CreateNegativeDataDefinition (const CDataDefinition &PositiveDataDefinition) const
 
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 Member Functions inherited from uLang::CNominalType
 CNominalType (ETypeKind Kind, CSemanticProgram &Program)
 
virtual UE_API CUTF8String AsCodeRecursive (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const override
 
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
 
virtual SmallDefinitionArray FindInstanceMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, const CAstPackage *ContextPackage, VisitStampType VisitStamp) const
 
UE_API SmallDefinitionArray FindTypeMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier) 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
 
virtual bool CanBePredictsVarDataType () 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 Attributes

CAttributable _EffectAttributable
 
- 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 ETypeKind StaticTypeKind = ETypeKind::Enumeration
 
static const CDefinition::EKind StaticDefinitionKind = CDefinition::EKind::Enumeration
 

Additional Inherited Members

- Static Public Member Functions inherited from uLang::CAttributable
static UE_API TOptional< CUTF8StringGetAttributeTextValue (const TArray< SAttribute > &Attributes, const CClass *AttributeClass, const CSemanticProgram &Program)
 
- 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::CDefinition
void SetPrototypeDefinition (const CDefinition &PrototypeDefinition)
 
void SetAstNode (CExpressionBase *AstNode)
 
void SetIrNode (CExpressionBase *IrNode)
 
- Protected Member Functions inherited from uLang::CScope
UE_API bool CanAccess (const CDefinition &Definition, const SAccessLevel &DefinitionAccessLevel) const
 
- 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
 
- 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

Enumeration type @jira SOL-1013 : Make enums derive from Class?

Member Enumeration Documentation

◆ EEnumOpenness

Enumerator
Closed 
Open 
Invalid 

Constructor & Destructor Documentation

◆ CEnumeration()

uLang::CEnumeration::CEnumeration ( const CSymbol Name,
CScope EnclosingScope 
)

Member Function Documentation

◆ CanBeCustomAccessorDataType()

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

Implements uLang::CTypeBase.

◆ CreateEnumerator()

CEnumerator & uLang::CEnumeration::CreateEnumerator ( const CSymbol EnumeratorName,
int32_t  Value 
)

◆ Definition()

virtual const CDefinition * uLang::CEnumeration::Definition ( ) const
inlineoverridevirtual

Implements uLang::CNominalType.

◆ DefinitionAsLogicalScopeNullable()

virtual const CLogicalScope * uLang::CEnumeration::DefinitionAsLogicalScopeNullable ( ) const
inlineoverridevirtual

Reimplemented from uLang::CDefinition.

◆ FindTypeMember()

SmallDefinitionArray uLang::CEnumeration::FindTypeMember ( const CSymbol Name,
EMemberOrigin  Origin,
const SQualifier Qualifier = SQualifier::Unknown(),
VisitStampType  VisitStamp = CScope::GenerateNewVisitStamp() 
) const
overridevirtual

Reimplemented from uLang::CNormalType.

◆ GetAstNode()

CExprEnumDefinition * uLang::CEnumeration::GetAstNode ( ) const

◆ GetComparability()

virtual EComparability uLang::CEnumeration::GetComparability ( ) const
inlineoverridevirtual

Returns whether this type is comparable for equality

Reimplemented from uLang::CNormalType.

◆ GetDefaultDefinitionAccessLevel()

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

Reimplemented from uLang::CScope.

◆ GetIrNode()

CExprEnumDefinition * uLang::CEnumeration::GetIrNode ( bool  bForce = false) const

◆ GetOpenness()

CEnumeration::EEnumOpenness uLang::CEnumeration::GetOpenness ( ) const

◆ GetProgram()

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

◆ GetScopeName()

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

Implements uLang::CScope.

◆ IsClosed()

bool uLang::CEnumeration::IsClosed ( ) const
inline

◆ IsExplicitlyCastable()

virtual bool uLang::CEnumeration::IsExplicitlyCastable ( ) const
inlineoverridevirtual

Implements uLang::CNormalType.

◆ IsExplicitlyConcrete()

virtual bool uLang::CEnumeration::IsExplicitlyConcrete ( ) const
inlineoverridevirtual

Implements uLang::CNormalType.

◆ IsOpen()

bool uLang::CEnumeration::IsOpen ( ) const
inline

◆ IsPersistable()

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

Returns whether this type is persistable

Implements uLang::CNormalType.

◆ IsPersistenceCompatConstraint()

virtual bool uLang::CEnumeration::IsPersistenceCompatConstraint ( ) const
inlineoverridevirtual

Implements uLang::CDefinition.

◆ ScopeAsDefinition()

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

Reimplemented from uLang::CScope.

◆ ScopeAsType()

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

Reimplemented from uLang::CScope.

◆ SetAstNode()

void uLang::CEnumeration::SetAstNode ( CExprEnumDefinition AstNode)

◆ SetIrNode()

void uLang::CEnumeration::SetIrNode ( CExprEnumDefinition AstNode)

Member Data Documentation

◆ _EffectAttributable

CAttributable uLang::CEnumeration::_EffectAttributable

◆ StaticDefinitionKind

const CDefinition::EKind uLang::CEnumeration::StaticDefinitionKind = CDefinition::EKind::Enumeration
static

◆ StaticTypeKind

const ETypeKind uLang::CEnumeration::StaticTypeKind = ETypeKind::Enumeration
static

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