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

#include <SemanticTypes.h>

+ Inheritance diagram for uLang::CCastableType:

Classes

struct  Key
 

Public Member Functions

 CCastableType (CSemanticProgram &Program, const CTypeBase &SuperType)
 
virtual const CTypeBaseGetInnerType () const override
 
const CTypeBaseSuperType () const
 
 operator Key () const
 
virtual CUTF8String AsCodeRecursive (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const
 
virtual bool IsPersistable () const override
 
virtual bool IsExplicitlyCastable () const override
 
virtual bool IsExplicitlyConcrete () const override
 
virtual bool CanBeCustomAccessorDataType () const override
 
virtual SmallDefinitionArray FindInstanceMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, const CAstPackage *ContextPackage, VisitStampType VisitStamp) const override
 
virtual SmallDefinitionArray FindTypeMember (const CSymbol &MemberName, EMemberOrigin Origin, const SQualifier &Qualifier, VisitStampType VisitStamp) 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 CNominalTypeAsNominalType () const
 
virtual EComparability GetComparability () 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 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
 

Static Public Attributes

static const ETypeKind StaticTypeKind = ETypeKind::Castable
 

Protected Attributes

const CTypeBase_SuperType
 

Constructor & Destructor Documentation

◆ CCastableType()

uLang::CCastableType::CCastableType ( CSemanticProgram Program,
const CTypeBase SuperType 
)
inline

Member Function Documentation

◆ AsCodeRecursive()

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

Implements uLang::CTypeBase.

◆ CanBeCustomAccessorDataType()

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

Implements uLang::CTypeBase.

◆ FindInstanceMember()

virtual SmallDefinitionArray uLang::CCastableType::FindInstanceMember ( const CSymbol MemberName,
EMemberOrigin  Origin,
const SQualifier Qualifier,
const CAstPackage ContextPackage,
VisitStampType  VisitStamp 
) const
inlineoverridevirtual

Reimplemented from uLang::CNormalType.

◆ FindTypeMember()

virtual SmallDefinitionArray uLang::CCastableType::FindTypeMember ( const CSymbol MemberName,
EMemberOrigin  Origin,
const SQualifier Qualifier,
VisitStampType  VisitStamp 
) const
inlineoverridevirtual

Reimplemented from uLang::CNormalType.

◆ GetInnerType()

virtual const CTypeBase * uLang::CCastableType::GetInnerType ( ) const
inlineoverridevirtual

Gets the innermost type of this type

Reimplemented from uLang::CNormalType.

◆ IsExplicitlyCastable()

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

Implements uLang::CNormalType.

◆ IsExplicitlyConcrete()

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

Implements uLang::CNormalType.

◆ IsPersistable()

virtual bool uLang::CCastableType::IsPersistable ( ) const
inlineoverridevirtual

Returns whether this type is persistable

Implements uLang::CNormalType.

◆ operator Key()

uLang::CCastableType::operator Key ( ) const
inline

◆ SuperType()

const CTypeBase & uLang::CCastableType::SuperType ( ) const
inline

Member Data Documentation

◆ _SuperType

const CTypeBase* uLang::CCastableType::_SuperType
protected

◆ StaticTypeKind

const ETypeKind uLang::CCastableType::StaticTypeKind = ETypeKind::Castable
static

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