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

#include <Expression.h>

+ Inheritance diagram for uLang::CExprInvocation:

Public Types

enum class  EBracketingStyle { Undefined , Parentheses , SquareBrackets }
 
- 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
}
 

Public Member Functions

template<typename TCallee , typename TArgument >
 CExprInvocation (EBracketingStyle CallsiteBracketStyle, TCallee &&Callee, TArgument &&Argument)
 
template<typename TCallee , typename TArgument >
 CExprInvocation (EBracketingStyle CallsiteBracketStyle, TCallee &&Callee, TArgument &&Argument, const CFunctionType *ResolvedCalleeType, const CTypeBase *ResultType)
 
 CExprInvocation (TSRef< CExpressionBase > &&Argument)
 
 CExprInvocation (CExprInvocation &&Rhs)
 
const TSPtr< CExpressionBase > & GetCallee () const
 
TSPtr< CExpressionBase > && TakeCallee ()
 
void SetCallee (TSPtr< CExpressionBase > &&Callee)
 
const TSPtr< CExpressionBase > & GetArgument () const
 
TSPtr< CExpressionBase > && TakeArgument ()
 
void SetArgument (TSPtr< CExpressionBase > &&Arguments)
 
UE_API const CFunctionTypeGetResolvedCalleeType () const
 
void SetResolvedCalleeType (const CFunctionType *ResolvedCalleeType)
 
virtual UE_API const CExpressionBaseFindFirstAsyncSubExpr (const CSemanticProgram &Program) const override
 Get the function that this invocation calls

 
virtual UE_API bool CanFail (const CAstPackage *Package) const override
 
virtual EAstNodeType GetNodeType () const override
 
virtual CUTF8String GetErrorDesc () const override
 
virtual void VisitChildren (SAstVisitor &Visitor) const override
 
virtual void VisitImmediates (SAstVisitor &Visitor) const override
 
virtual UE_API bool operator== (const CExpressionBase &Other) 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
 
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

EBracketingStyle _CallsiteBracketStyle = EBracketingStyle::Undefined
 
- Public Attributes inherited from uLang::CAttributable
TArray< SAttribute_Attributes
 

Additional Inherited Members

- 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

Routine call - expr1.call(expr2, expr3)

Member Enumeration Documentation

◆ EBracketingStyle

Enumerator
Undefined 
Parentheses 
SquareBrackets 

Constructor & Destructor Documentation

◆ CExprInvocation() [1/4]

template<typename TCallee , typename TArgument >
uLang::CExprInvocation::CExprInvocation ( EBracketingStyle  CallsiteBracketStyle,
TCallee &&  Callee,
TArgument &&  Argument 
)
inline

◆ CExprInvocation() [2/4]

template<typename TCallee , typename TArgument >
uLang::CExprInvocation::CExprInvocation ( EBracketingStyle  CallsiteBracketStyle,
TCallee &&  Callee,
TArgument &&  Argument,
const CFunctionType ResolvedCalleeType,
const CTypeBase ResultType 
)
inline

◆ CExprInvocation() [3/4]

uLang::CExprInvocation::CExprInvocation ( TSRef< CExpressionBase > &&  Argument)
inlineexplicit

◆ CExprInvocation() [4/4]

uLang::CExprInvocation::CExprInvocation ( CExprInvocation &&  Rhs)
inline

Member Function Documentation

◆ CanFail()

bool uLang::CExprInvocation::CanFail ( const CAstPackage Package) const
overridevirtual

Reimplemented from uLang::CExpressionBase.

◆ FindFirstAsyncSubExpr()

const CExpressionBase * uLang::CExprInvocation::FindFirstAsyncSubExpr ( const CSemanticProgram Program) const
overridevirtual

Get the function that this invocation calls

Reimplemented from uLang::CExpressionBase.

◆ GetArgument()

const TSPtr< CExpressionBase > & uLang::CExprInvocation::GetArgument ( ) const
inline

◆ GetCallee()

const TSPtr< CExpressionBase > & uLang::CExprInvocation::GetCallee ( ) const
inline

◆ GetErrorDesc()

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

◆ GetNodeType()

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

◆ GetResolvedCalleeType()

const CFunctionType * uLang::CExprInvocation::GetResolvedCalleeType ( ) const

◆ operator==()

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

Implements uLang::CExpressionBase.

Reimplemented in uLang::CExprComparison.

◆ SetArgument()

void uLang::CExprInvocation::SetArgument ( TSPtr< CExpressionBase > &&  Arguments)
inline

◆ SetCallee()

void uLang::CExprInvocation::SetCallee ( TSPtr< CExpressionBase > &&  Callee)
inline

◆ SetResolvedCalleeType()

void uLang::CExprInvocation::SetResolvedCalleeType ( const CFunctionType ResolvedCalleeType)
inline

◆ TakeArgument()

TSPtr< CExpressionBase > && uLang::CExprInvocation::TakeArgument ( )
inline

◆ TakeCallee()

TSPtr< CExpressionBase > && uLang::CExprInvocation::TakeCallee ( )
inline

◆ VisitChildren()

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

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

Reimplemented from uLang::CAstNode.

◆ VisitImmediates()

virtual void uLang::CExprInvocation::VisitImmediates ( SAstVisitor Visitor) const
inlineoverridevirtual

Iterates over this AST node's immediate fields, calling Visitor.VisitImmediate for each immediate field.

Reimplemented from uLang::CExpressionBase.

Reimplemented in uLang::CExprComparison.

Member Data Documentation

◆ _CallsiteBracketStyle

EBracketingStyle uLang::CExprInvocation::_CallsiteBracketStyle = EBracketingStyle::Undefined

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