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

#include <SemanticTypes.h>

+ Inheritance diagram for uLang::CReferenceType:

Public Member Functions

UE_API CReferenceType (CSemanticProgram &, const CTypeBase *NegativeValueType, const CTypeBase *PositiveValueType)
 
virtual const CTypeBaseGetReferenceValueType () const override
 
virtual CUTF8String AsCodeRecursive (ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const override
 
virtual bool IsPersistable () const override
 
virtual bool IsExplicitlyCastable () const override
 
virtual bool IsExplicitlyConcrete () const override
 
virtual bool CanBeCustomAccessorDataType () const override
 
- Public Member Functions inherited from uLang::CInvariantValueType
 CInvariantValueType (ETypeKind Kind, CSemanticProgram &Program, const CTypeBase *NegativeValueType, const CTypeBase *PositiveValueType)
 
const CTypeBaseNegativeValueType () const
 
const CTypeBasePositiveValueType () const
 
virtual const CTypeBaseGetInnerType () const override
 
 operator Key () const
 
- 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 CNominalTypeAsNominalType () const
 
virtual EComparability GetComparability () 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 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
 
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::Reference
 

Additional Inherited Members

- Protected Attributes inherited from uLang::CInvariantValueType
const CTypeBase_NegativeValueType
 
const CTypeBase_PositiveValueType
 

Detailed Description

Represents a reference to (possibly mutable) inner type.

Constructor & Destructor Documentation

◆ CReferenceType()

uLang::CReferenceType::CReferenceType ( CSemanticProgram Program,
const CTypeBase NegativeValueType,
const CTypeBase PositiveValueType 
)

Member Function Documentation

◆ AsCodeRecursive()

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

Implements uLang::CTypeBase.

◆ CanBeCustomAccessorDataType()

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

Implements uLang::CTypeBase.

◆ GetReferenceValueType()

virtual const CTypeBase * uLang::CReferenceType::GetReferenceValueType ( ) const
inlineoverridevirtual

If this type is a CReferenceType, this gets the non-reference value type, otherwise returns itself

Reimplemented from uLang::CNormalType.

◆ IsExplicitlyCastable()

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

Implements uLang::CNormalType.

◆ IsExplicitlyConcrete()

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

Implements uLang::CNormalType.

◆ IsPersistable()

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

Returns whether this type is persistable

Implements uLang::CNormalType.

Member Data Documentation

◆ StaticTypeKind

const ETypeKind uLang::CReferenceType::StaticTypeKind = ETypeKind::Reference
static

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