|
| const char * | uLang::TypeKindAsCString (ETypeKind Type) |
| |
| | uLang::ULANG_ENUM_BIT_FLAGS (ETypeConstraintFlags, inline) |
| |
| const char * | uLang::GetConstraintTypeAsCString (ETypeConstraintFlags TypeConstraints, bool bIsSubtype) |
| |
| ETypePolarity | uLang::FlipPolarity (ETypePolarity Polarity) |
| |
| VERSECOMPILER_API const CClass * | uLang::SemanticTypeUtils::AsSingleClass (const CNormalType &NegativeType, const CNormalType &PositiveType) |
| |
| VERSECOMPILER_API const CInterface * | uLang::SemanticTypeUtils::AsSingleInterface (const CNormalType &NegativeType, const CNormalType &PositiveType) |
| |
| VERSECOMPILER_API TArray< STypeVariableSubstitution > | uLang::SemanticTypeUtils::Instantiate (const TArray< const CTypeVariable * > &TypeVariables, const uint32_t UploadedAtFnVersion) |
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::Substitute (const CTypeBase &, ETypePolarity Polarity, const TArray< STypeVariableSubstitution > &InstTypeVariables) |
| |
| VERSECOMPILER_API const CFunctionType * | uLang::SemanticTypeUtils::Instantiate (const CFunctionType *FunctionType, const uint32_t UploadedAtFnVersion) |
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::Canonicalize (const CTypeBase &) |
| |
| VERSECOMPILER_API const CFunctionType & | uLang::SemanticTypeUtils::Canonicalize (const CFunctionType &) |
| |
| VERSECOMPILER_API const CTupleType & | uLang::SemanticTypeUtils::Canonicalize (const CTupleType &) |
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::AsPolarity (const CTypeBase &, const TArray< SInstantiatedTypeVariable > &, ETypePolarity) |
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::AsPositive (const CTypeBase &, const TArray< SInstantiatedTypeVariable > &) |
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::AsNegative (const CTypeBase &, const TArray< SInstantiatedTypeVariable > &) |
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::Constrain (const CTypeBase *PositiveType1, const CTypeBase *NegativeType2, const uint32_t UploadedAtFnVersion) |
| | Constrain PositiveType1 to be a subtype of NegativeType2
|
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::IsSubtype (const CTypeBase *PositiveType1, const CTypeBase *PositiveType2, const uint32_t UploadedAtFnVersion) |
| | Determine if PositiveType1 is a subtype of PositiveType2
|
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::IsEquivalent (const CTypeBase *PositiveType1, const CTypeBase *PositiveType2, const uint32_t UploadedAtFnVersion) |
| | Determine if PositiveType1 is equivalent to PositiveType2
|
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::Matches (const CTypeBase *PositiveType1, const CTypeBase *NegativeType2, const uint32_t UploadedAtFnVersion) |
| | Determine if argument PositiveType1 is a match for parameter NegativeType2
|
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::SkipIdentityFlowType (const CFlowType &, ETypePolarity, const uint32_t UploadedAtFnVersion) |
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::SkipIdentityFlowType (const CTypeBase &, ETypePolarity, const uint32_t UploadedAtFnVersion) |
| |
| VERSECOMPILER_API const CTypeBase & | uLang::SemanticTypeUtils::SkipEmptyFlowType (const CTypeBase &) |
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::Join (const CTypeBase *Type1, const CTypeBase *Type2, const uint32_t UploadedAtFnVersion) |
| | Compute the join of Type1 and Type2: the "least" type that contains all values contained by either Type1 or Type2.
|
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::Meet (const CTypeBase *Type1, const CTypeBase *Type2, const uint32_t UploadedAtFnVersion) |
| | Compute the meet of Type1 and Type2: the "greatest" type that contains only values contained by both Type1 and Type2.
|
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::AreDomainsDistinct (const CTypeBase *DomainType1, const CTypeBase *DomainType2, const uint32_t UploadedAtFnVersion) |
| | Determine whether there two types are distinct; i.e. that there are no values that are members of both types.
|
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::IsUnknownType (const CTypeBase *Type) |
| |
| VERSECOMPILER_API bool | uLang::SemanticTypeUtils::IsAttributeType (const CTypeBase *Type) |
| |
| VERSECOMPILER_API void | uLang::SemanticTypeUtils::VisitAllDefinitions (const CTypeBase *Type, const CAstPackage *VisitorPackage, const TFunction< void(const CDefinition &, const CSymbol &)> &Functor) |
| |
| VERSECOMPILER_API void | uLang::SemanticTypeUtils::ForEachDataType (const CTypeBase *, const TFunction< void(const CTypeBase *)> &) |
| |
| VERSECOMPILER_API void | uLang::SemanticTypeUtils::ForEachDataTypeRecursive (const CTypeBase *, const TFunction< void(const CTypeBase *)> &) |
| |
| bool | uLang::SemanticTypeUtils::IsStringType (const CNormalType &NormalType) |
| |
| bool | uLang::SemanticTypeUtils::IsMessageType (const CNormalType &NormalType) |
| |
| bool | uLang::SemanticTypeUtils::IsAgentTypeExclusive (const CTypeBase *Type) |
| |
| bool | uLang::SemanticTypeUtils::IsLeaderboardType (const CNormalType &NormalType) |
| |
| VERSECOMPILER_API const char * | uLang::SemanticTypeUtils::IsEditableToCMessage (EIsEditable IsEditable) |
| |
| VERSECOMPILER_API EIsEditable | uLang::SemanticTypeUtils::IsEditableType (const uLang::CTypeBase *Type, const CAstPackage *ContextPackage) |
| |
| VERSECOMPILER_API EIsEditable | uLang::SemanticTypeUtils::IsEditableClassType (const uLang::CTypeBase *Type) |
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::RemovePointer (const CTypeBase *Type, ETypePolarity Polarity) |
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::RemoveReference (const CTypeBase *Type, ETypePolarity Polarity) |
| |
| VERSECOMPILER_API const CNormalType & | uLang::SemanticTypeUtils::StripVariableAndConstraints (const CNormalType &) |
| |
| VERSECOMPILER_API const CNormalType & | uLang::SemanticTypeUtils::StripVariableAndConstraints (const CNormalType &, ETypeConstraintFlags &outConstraintFlags) |
| |
| VERSECOMPILER_API CClassDefinition * | uLang::SemanticTypeUtils::EnclosingClassOfDataDefinition (const CDataDefinition *Def) |
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::DecayReference (const CTypeBase *) |
| |
| VERSECOMPILER_API const CTypeBase * | uLang::SemanticTypeUtils::DecayReference (const CTypeBase &) |
| |
| VERSECOMPILER_API void | uLang::SemanticTypeUtils::FillTypeVariablePolarities (const CTypeBase *, ETypePolarity, STypeVariablePolarities &) |
| |
| VERSECOMPILER_API void | uLang::SemanticTypeUtils::FillTypeVariablePolaritiesImpl (const CTypeBase *, ETypePolarity, STypeVariablePolarities &, TArray< SNormalTypePolarity > &Visited) |
| |