66 return _TypeType !=
nullptr;
76 if (!_PositiveAliasType)
80 return _PositiveAliasType.Get();
86 return _PositiveAliasType->GetAliasedType();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ULANG_ASSERT(expr)
Definition Common.h:285
Definition TypeAlias.h:19
virtual const CNormalType & GetNormalType() const override
Definition TypeAlias.h:29
const CTypeBase * GetAliasedType() const
Definition TypeAlias.h:26
virtual bool CanBeCustomAccessorDataType() const override
Definition TypeAlias.h:39
virtual const CAliasType * AsAliasType() const override
Definition TypeAlias.h:34
CTypeAlias & GetDefinition() const
Definition TypeAlias.h:25
CAliasType(CTypeAlias &Definition, const CTypeBase *AliasedType)
Definition TypeAlias.h:22
virtual bool CanBePredictsVarDataType() const override
Definition TypeAlias.h:40
virtual CUTF8String AsCodeRecursive(ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const override
Definition TypeAlias.h:42
Definition Definition.h:131
void SetAstNode(CExpressionBase *AstNode)
Definition Definition.h:329
CScope & _EnclosingScope
Definition Definition.h:141
CExpressionBase * GetAstNode() const
Definition Definition.h:231
EKind
Definition Definition.h:135
void SetIrNode(CExpressionBase *IrNode)
Definition Definition.h:334
CExpressionBase * GetIrNode(bool bForce=false) const
Definition Definition.h:232
Definition Expression.h:3240
ULANG_FORCEINLINE CUTF8StringView AsNameStringView() const
Definition Named.h:44
ULANG_FORCEINLINE const char * AsNameCString() const
Definition Named.h:45
A normal type: a head normal form of types where the head is not a parametric type instantiation.
Definition SemanticTypes.h:217
Definition SemanticScope.h:73
ULANG_FORCEINLINE CSemanticProgram & GetProgram() const
Definition SemanticScope.h:121
UE_API CUTF8String GetScopePath(uLang::UTF8Char SeparatorChar='.', EPathMode Mode=EPathMode::Default) const
Definition SemanticScope.cpp:60
UE_API CTypeType & GetOrCreateTypeType(const CTypeBase *NegativeType, const CTypeBase *PositiveType)
Definition SemanticProgram.cpp:422
Symbol representing a text string with an associated id.
Definition Symbol.h:98
Definition TypeAlias.h:55
void SetIrNode(CExprTypeAliasDefinition *AstNode)
Definition TypeAlias.h:106
void SetAstNode(CExprTypeAliasDefinition *AstNode)
Definition TypeAlias.h:103
void InitType(const CTypeBase *NegativeAliasedType, const CTypeBase *PositiveAliasedType)
Definition TypeAlias.h:89
const CTypeBase * GetPositiveAliasedType() const
Definition TypeAlias.h:83
CExprTypeAliasDefinition * GetIrNode(bool bForce=false) const
Definition TypeAlias.h:107
CUTF8String GetPath(const uLang::UTF8Char SeparatorChar, const uLang::EPathMode Mode) const
Definition TypeAlias.h:111
virtual bool IsPersistenceCompatConstraint() const override
Definition TypeAlias.h:109
const CTypeType * GetTypeType() const
Definition TypeAlias.h:69
CExprTypeAliasDefinition * GetAstNode() const
Definition TypeAlias.h:104
CTypeAlias(const CSymbol &Name, CScope &EnclosingScope)
Definition TypeAlias.h:59
static const CDefinition::EKind StaticDefinitionKind
Definition TypeAlias.h:57
const CTypeBase * GetType() const
Definition TypeAlias.h:74
bool IsInitialized() const
Definition TypeAlias.h:64
Base class for all types.
Definition SemanticTypes.h:138
virtual const CNormalType & GetNormalType() const =0
CSemanticProgram & GetProgram() const
Definition SemanticTypes.h:143
virtual bool CanBePredictsVarDataType() const
Definition SemanticTypes.h:160
virtual CUTF8String AsCodeRecursive(ETypeSyntaxPrecedence OuterPrecedence, TArray< const CFlowType * > &VisitedFlowTypes, bool bLinkable, ETypeStringFlag Flag) const =0
virtual bool CanBeCustomAccessorDataType() const =0
Definition SemanticTypes.h:381
static ULANG_FORCEINLINE TUPtrG New(AllocatorArgsType &&... AllocatorArgs, CtorArgsType &&... CtorArgs)
Definition UniquePointer.h:29
Definition VVMEngineEnvironment.h:23
ETypeSyntaxPrecedence
Definition SemanticTypes.h:100
EPathMode
Definition SemanticScope.h:67
uLang::TUTF8String< CHeapRawAllocator > CUTF8String
A string allocated on the heap.
Definition UTF8String.h:269
uint8_t UTF8Char
UTF-8 octet.
Definition Unicode.h:20
ETypeStringFlag
Definition SemanticTypes.h:121
Definition VstNode.h:1131