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

#include <Expression.h>

+ Inheritance diagram for uLang::CIrArrayAdd:

Public Member Functions

 CIrArrayAdd (TSRef< CExpressionBase > &&Source)
 
virtual EAstNodeType GetNodeType () const override
 
virtual CUTF8String GetErrorDesc () const override
 
virtual UE_API bool operator== (const CExpressionBase &Other) const override
 
virtual const CExpressionBaseFindFirstAsyncSubExpr (const CSemanticProgram &Program) const override
 
virtual bool CanFail (const CAstPackage *Package) const override
 
virtual void VisitChildren (SAstVisitor &Visitor) const override
 
- Public Member Functions inherited from uLang::CExpressionBase
 CExpressionBase (EVstMappingType VstMappingType=EVstMappingType::Ast)
 
 CExpressionBase (const CTypeBase *InResultType)
 
virtual const CExpressionBaseAsExpression () const override
 
virtual CExpressionBaseAsExpression () override
 
virtual bool MayHaveAttributes () const override
 
virtual bool CanBePathSegment (const TMacroSymbols &MacroSymbols) const
 
virtual void VisitImmediates (SAstVisitor &Visitor) const override
 
EInvokeTime DetermineInvokeTime (const CSemanticProgram &Program) const
 
virtual UE_API const CTypeBaseGetResultType (const CSemanticProgram &Program) const
 
UE_API void SetResultType (const CTypeBase *InResultType)
 
UE_API void RefineResultType (const CTypeBase *RefinedResultType)
 
bool IsAnalyzed () const
 
bool operator!= (const CExpressionBase &Other) const
 
const CTypeBaseIrGetResultType () const
 
void IrSetResultType (const CTypeBase *TypeBase)
 
template<typename TRange1 , typename TRange2 >
ULANG_FORCEINLINE bool AreSubExprsEqual (const TRange1 &Lhs, const TRange2 &Rhs)
 
- Public Member Functions inherited from uLang::CAstNode
 CAstNode (EVstMappingType VstMappingType=EVstMappingType::Ast)
 
virtual UE_API ~CAstNode ()
 
virtual const CExprIdentifierBaseAsIdentifierBase () const
 
template<typename FunctionType >
ULANG_FORCEINLINE void VisitChildrenLambda (FunctionType &&Function) const
 
const Verse::Vst::NodeGetMappedVstNode () const
 
void SetNonReciprocalMappedVstNode (const Verse::Vst::Node *VstNode)
 
void SetIrMappedVstNode (const Verse::Vst::Node *VstNode)
 
bool IsIrNode () const
 
bool IsVstMappingReciprocal () const
 
template<typename FunctionType >
void VisitChildrenLambda (FunctionType &&Function) const
 
- 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::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 Attributes

TSRef< CExpressionBase_Source
 
- Public Attributes inherited from uLang::CAttributable
TArray< SAttribute_Attributes
 

Additional Inherited Members

- Public Types inherited from uLang::CExpressionBase
using TMacroSymbols = TArrayG< CSymbol, TInlineElementAllocator< 3 > >
 
- 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
}
 
- Static Public Member Functions inherited from uLang::CExpressionBase
static bool BaseCompare (const CExpressionBase &A, const CExpressionBase &B)
 
static bool IsSubExprEqual (const CExpressionBase *Lhs, const CExpressionBase *Rhs)
 
static bool IsSubExprEqual (const CExpressionBase &Lhs, const CExpressionBase &Rhs)
 
static bool IsSubExprEqual (const TSPtr< CExpressionBase > &Lhs, const TSPtr< CExpressionBase > &Rhs)
 
static bool IsSubExprEqual (const TSRef< CExpressionBase > &Lhs, const TSRef< CExpressionBase > &Rhs)
 
template<typename TRange1 , typename TRange2 >
static bool AreSubExprsEqual (const TRange1 &, const TRange2 &)
 
- Static Public Member Functions inherited from uLang::CAttributable
static UE_API TOptional< CUTF8StringGetAttributeTextValue (const TArray< SAttribute > &Attributes, const CClass *AttributeClass, const CSemanticProgram &Program)
 
- 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::CExpressionBase
TOptional< SAnalysisResult_Report
 
- Protected Attributes inherited from uLang::CAstNode
EVstMappingType _VstMappingType
 
const Verse::Vst::Node_MappedVstNode {nullptr}
 

Detailed Description

Add an item to an array The array itself is not included in the node, instead the result destination in the code generator is used. In the future this will be explicit in the IR, but for now it's inside code generation.

Constructor & Destructor Documentation

◆ CIrArrayAdd()

uLang::CIrArrayAdd::CIrArrayAdd ( TSRef< CExpressionBase > &&  Source)
inline

Member Function Documentation

◆ CanFail()

virtual bool uLang::CIrArrayAdd::CanFail ( const CAstPackage Package) const
inlineoverridevirtual

Reimplemented from uLang::CExpressionBase.

◆ FindFirstAsyncSubExpr()

virtual const CExpressionBase * uLang::CIrArrayAdd::FindFirstAsyncSubExpr ( const CSemanticProgram Program) const
inlineoverridevirtual

Reimplemented from uLang::CExpressionBase.

◆ GetErrorDesc()

virtual CUTF8String uLang::CIrArrayAdd::GetErrorDesc ( ) const
inlineoverridevirtual

Implements uLang::CAstNode.

◆ GetNodeType()

virtual EAstNodeType uLang::CIrArrayAdd::GetNodeType ( ) const
inlineoverridevirtual

Implements uLang::CAstNode.

◆ operator==()

bool uLang::CIrArrayAdd::operator== ( const CExpressionBase Other) const
overridevirtual

◆ VisitChildren()

virtual void uLang::CIrArrayAdd::VisitChildren ( SAstVisitor Visitor) const
inlineoverridevirtual

Iterates over this AST node's direct children, calling Visitor.Visit for each child.

Reimplemented from uLang::CAstNode.

Member Data Documentation

◆ _Source

TSRef<CExpressionBase> uLang::CIrArrayAdd::_Source

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