17#define UE_API VERSECOMPILER_API
24class CAstCompilationUnit;
31class CExprIdentifierBase;
32class CSemanticProgram;
37class CSemanticProgram;
44#define VERSE_VISIT_AST_NODE_TYPES(v) \
46 v(Error_, CExprError) \
47 v(Placeholder_, CExprPlaceholder) \
48 v(External, CExprExternal) \
49 v(PathPlusSymbol, CExprPathPlusSymbol) \
52 v(Literal_Logic, CExprLogic) \
53 v(Literal_Number, CExprNumber) \
55 v(Literal_Char, CExprChar) \
56 v(Literal_String, CExprString) \
57 v(Literal_Path, CExprPath) \
58 v(Literal_Enum, CExprEnumLiteral) \
59 v(Literal_Type, CExprType) \
60 v(Literal_Function, CExprFunctionLiteral) \
63 v(Identifier_Unresolved, CExprIdentifierUnresolved) \
64 v(Identifier_Class, CExprIdentifierClass) \
65 v(Identifier_Module, CExprIdentifierModule) \
66 v(Identifier_ModuleAlias, CExprIdentifierModuleAlias) \
67 v(Identifier_Enum, CExprEnumerationType) \
68 v(Identifier_Interface, CExprInterfaceType) \
69 v(Identifier_Data, CExprIdentifierData) \
70 v(Identifier_TypeAlias, CExprIdentifierTypeAlias) \
71 v(Identifier_TypeVariable, CExprIdentifierTypeVariable) \
72 v(Identifier_Function, CExprIdentifierFunction) \
73 v(Identifier_OverloadedFunction, CExprIdentifierOverloadedFunction) \
74 v(Identifier_Self, CExprSelf) \
75 v(Identifier_Local, CExprLocal) \
76 v(Identifier_BuiltInMacro, CExprIdentifierBuiltInMacro) \
79 v(Definition, CExprDefinition) \
82 v(MacroCall, CExprMacroCall) \
85 v(Invoke_Invocation, CExprInvocation) \
86 v(Invoke_UnaryArithmetic, CExprUnaryArithmetic) \
87 v(Invoke_BinaryArithmetic, CExprBinaryArithmetic) \
88 v(Invoke_ShortCircuitAnd, CExprShortCircuitAnd) \
89 v(Invoke_ShortCircuitOr, CExprShortCircuitOr) \
90 v(Invoke_LogicalNot, CExprLogicalNot) \
91 v(Invoke_Comparison, CExprComparison) \
92 v(Invoke_QueryValue, CExprQueryValue) \
93 v(Invoke_MakeOption, CExprMakeOption) \
94 v(Invoke_MakeArray, CExprMakeArray) \
95 v(Invoke_MakeMap, CExprMakeMap) \
96 v(Invoke_MakeTuple, CExprMakeTuple) \
97 v(Invoke_TupleElement, CExprTupleElement) \
98 v(Invoke_MakeRange, CExprMakeRange) \
99 v(Invoke_Type, CExprInvokeType) \
100 v(Invoke_PointerToReference, CExprPointerToReference) \
101 v(Invoke_Set, CExprSet) \
102 v(Invoke_NewPointer, CExprNewPointer) \
103 v(Invoke_ReferenceToValue, CExprReferenceToValue) \
105 v(Assignment, CExprAssignment) \
108 v(Invoke_ArrayFormer, CExprArrayTypeFormer) \
109 v(Invoke_GeneratorFormer, CExprGeneratorTypeFormer) \
110 v(Invoke_MapFormer, CExprMapTypeFormer) \
111 v(Invoke_OptionFormer, CExprOptionTypeFormer) \
112 v(Invoke_Subtype, CExprSubtype) \
113 v(Invoke_TupleType, CExprTupleType) \
114 v(Invoke_Arrow, CExprArrow) \
116 v(Invoke_ArchetypeInstantiation, CExprArchetypeInstantiation) \
119 v(Flow_CodeBlock, CExprCodeBlock) \
120 v(Flow_Let, CExprLet) \
121 v(Flow_Defer, CExprDefer) \
122 v(Flow_If, CExprIf) \
123 v(Flow_Iteration, CExprIteration) \
124 v(Flow_Loop, CExprLoop) \
125 v(Flow_Break, CExprBreak) \
126 v(Flow_Return, CExprReturn) \
127 v(Flow_ProfileBlock, CExprProfileBlock) \
130 v(Ir_ForBody, CIrForBody) \
131 v(Ir_ArrayAdd, CIrArrayAdd) \
132 v(Ir_MapAdd, CIrMapAdd) \
133 v(Ir_ArrayUnsafeCall, CIrArrayUnsafeCall) \
134 v(Ir_ConvertToDynamic, CIrConvertToDynamic) \
135 v(Ir_ConvertFromDynamic, CIrConvertFromDynamic) \
138 v(Concurrent_Sync, CExprSync) \
139 v(Concurrent_Rush, CExprRush) \
140 v(Concurrent_Race, CExprRace) \
141 v(Concurrent_SyncIterated, CExprSyncIterated) \
142 v(Concurrent_RushIterated, CExprRushIterated) \
143 v(Concurrent_RaceIterated, CExprRaceIterated) \
144 v(Concurrent_Branch, CExprBranch) \
145 v(Concurrent_Spawn, CExprSpawn) \
146 v(Concurrent_Await, CExprAwait) \
147 v(Concurrent_Upon, CExprUpon) \
148 v(Concurrent_When, CExprWhen) \
151 v(Definition_Module, CExprModuleDefinition) \
152 v(Definition_Enum, CExprEnumDefinition) \
153 v(Definition_Interface, CExprInterfaceDefinition) \
154 v(Definition_Class, CExprClassDefinition) \
155 v(Definition_Data, CExprDataDefinition) \
156 v(Definition_IterationPair, CExprIterationPairDefinition) \
157 v(Definition_Function, CExprFunctionDefinition) \
158 v(Definition_TypeAlias, CExprTypeAliasDefinition) \
159 v(Definition_Using, CExprUsing) \
160 v(Definition_Import, CExprImport) \
161 v(Definition_Where, CExprWhere) \
162 v(Definition_Var, CExprVar) \
163 v(Definition_Live, CExprLive) \
164 v(Definition_ScopedAccessLevel, CExprScopedAccessLevelDefinition) \
165 v(Invoke_MakeNamed, CExprMakeNamed) \
168 v(Context_Project, CAstProject) \
169 v(Context_CompilationUnit, CAstCompilationUnit) \
170 v(Context_Package, CAstPackage) \
171 v(Context_Snippet, CExprSnippet)
173#define FORWARD_DECLARE(_, Class) class Class;
175#undef FORWARD_DECLARE
184#define VISIT_AST_NODE_TYPE(Name, Class) Name,
186#undef VISIT_AST_NODE_TYPE
339 template<
typename FunctionType>
408 Visitor.VisitImmediate(
"ResultType",
_Report->ResultType);
438 A.GetNodeType() ==
B.GetNodeType() &&
439 A._Report ==
B._Report;
447 template <
typename TRange1,
typename TRange2>
644 Visitor.VisitImmediate(
"IntValue",
_IntValue);
806 Visitor.Visit(
"Context", _Context);
904 virtual void VisitChildren(
SAstVisitor& Visitor)
const override { Visitor.Visit(
"Domain", _Domain); Visitor.Visit(
"Range", _Range); }
941 return EAstNodeType::Identifier_Local;
1188 UE_API CExprIdentifierFunction(
1191 const CTypeBase* ResultType,
1397 if (_Name->GetNodeType() == EAstNodeType::Identifier_BuiltInMacro) {
1400 else if (_Name->GetNodeType() == EAstNodeType::Identifier_Unresolved)
1418 virtual EAstNodeType GetNodeType()
const override {
return EAstNodeType::MacroCall; }
1419 virtual CUTF8String GetErrorDesc()
const override {
return "macro invocation"; }
1420 virtual bool operator==(
const CExpressionBase&
Other)
const override {
return BaseCompare(*
this,
Other); }
1422 virtual void VisitChildren(SAstVisitor& Visitor)
const override
1425 Visitor.BeginArray(
"Clauses", _Clauses.Num());
1426 for (
const CClause& Clause : _Clauses)
1428 Visitor.VisitArray(
"Exprs", Clause.Exprs());
1432 virtual void VisitImmediates(SAstVisitor& Visitor)
const override
1435 Visitor.BeginArray(
"Clauses", _Clauses.Num());
1436 for (
const CClause& Clause : _Clauses)
1465 template<
typename TCallee,
typename TArgument>
1472 template<
typename TCallee,
typename TArgument>
1475 TArgument&& Argument,
1485 : _Argument(
Move(Argument))
1489 : _Callee(
Move(Rhs._Callee))
1490 , _Argument(
Move(Rhs._Argument))
1491 , _ResolvedCalleeType(Rhs._ResolvedCalleeType)
1511 virtual void VisitChildren(
SAstVisitor& Visitor)
const override { Visitor.Visit(
"Callee", _Callee); Visitor.Visit(
"Argument", _Argument); }
1525 if (_ResolvedCalleeType)
1527 Visitor.VisitImmediate(
"ResolvedCalleeType", _ResolvedCalleeType);
1676 virtual EAstNodeType GetNodeType()
const override {
return EAstNodeType::Invoke_UnaryArithmetic; }
1677 virtual bool CanFail(
const CAstPackage* Package)
const override {
return false; }
1678 virtual CUTF8String GetErrorDesc()
const override {
return "unary negation"; }
1705 virtual EAstNodeType GetNodeType()
const override {
return EAstNodeType::Invoke_BinaryArithmetic; }
1710 case EOp::Add:
return "binary addition";
1711 case EOp::Sub:
return "binary subtraction";
1712 case EOp::Mul:
return "binary multiplication";
1713 case EOp::Div:
return "binary division";
1718 virtual void VisitImmediates(SAstVisitor& Visitor)
const override
1954 Visitor.Visit(
"Lhs",
_Lhs);
1955 Visitor.Visit(
"Rhs",
_Rhs);
1998 , _bWritable(bWritable)
2104 virtual EAstNodeType GetNodeType()
const override {
return EAstNodeType::Flow_Let; }
2105 virtual CUTF8String GetErrorDesc()
const override {
return "let"; }
2157 : _Condition(
Move(Condition))
2175 virtual void VisitChildren(
SAstVisitor& Visitor)
const override { Visitor.Visit(
"Condition", _Condition); Visitor.Visit(
"ThenClause", _ThenClause); Visitor.Visit(
"ElseClause", _ElseClause); }
2363 virtual void VisitChildren(
SAstVisitor& Visitor)
const override { Visitor.VisitArray(
"KeyTypeAsts", _KeyTypeAsts); Visitor.Visit(
"ValueTypeAst", _ValueTypeAst); }
2489 return _Arguments.Add(
Move(Argument));
2494 for (
const auto& Argument : _Arguments)
2496 if (Argument->CanFail(
Package))
2512 Visitor.BeginArray(
"Arguments", _Arguments.Num());
2515 Visitor.VisitElement(Argument);
2688 for (
const auto&
RangeExpr : _RangeExprs)
2708 return _DomainExprs;
2718 _DomainExprs.Add(
Move(Expr));
2723 _RangeExprs.Add(
Move(Expr));
3095 Visitor.Visit(
"Callee",
_Callee);
3173 Visitor.VisitImmediate(
"KeyMember", *
_KeyMember);
3175 Visitor.VisitImmediate(
"DataMember", *
_DataMember);
3287 Visitor.Visit(
"UserTag",
_UserTag);
3293 Visitor.Visit(
"UserTag",
_UserTag);
3353 Visitor.Visit(
"Lhs", _Lhs);
3354 Visitor.VisitArray(
"Rhs", _Rhs);
3433 , _Value(
Move(Argument))
3461 Visitor.Visit(
"Value", _Value);
3472 return _Value? _Value->FindFirstAsyncSubExpr(
Program) :
nullptr;
3477 return _Value? _Value->CanFail(
Package) :
false;
3531 const uint32_t UploadedAtFNVersion,
3613template<
typename FunctionType>
3622template<
typename FunctionType>
3636 return !Lhs == !Rhs && (!Lhs || *Lhs == *Rhs);
3657template <
typename TRange1,
typename TRange2>
3660 if (Lhs.Num() != Rhs.Num())
3665 for (
int32_t i = 0; i < Lhs.Num(); ++i)
3677template <
typename TIn,
typename TOut>
3680template <
typename TOut>
3687template <
typename TOut>
3694template <
typename TOut>
3701template <
typename TOut>
3709template <
typename TOut,
3714#define VISIT_AST_NODE_TYPE(Name, Class) \
3715 if constexpr (std::is_same_v<TOut, Class>) \
3717 if (Expr && Expr->GetNodeType() == EAstNodeType::Name) \
3719 return Traits::Cast(Expr); \
3723#undef VISIT_AST_NODE_TYPE
3729#define VISIT_AST_NODE_TYPE(Name, Class) if (Node == EAstNodeType::Name) { return #Name; }
3731#undef VISIT_AST_NODE_TYPE
3738 const CExpressionBase* Expr ,
3739 const CSemanticProgram&
Program);
3743 const CExpressionBase* Expr ,
3744 const CSemanticProgram&
Program);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define FORWARD_DECLARE(_, Class)
Definition Expression.h:173
#define VERSE_VISIT_AST_NODE_TYPES(v)
Definition Expression.h:44
T * New(FMemStackBase &Mem, int32 Count=1, int32 Align=DEFAULT_ALIGNMENT)
Definition MemStack.h:259
#define UE_API
Definition SColorGradingComponentViewer.h:12
#define ULANG_FORCEINLINE
Definition Common.h:188
#define ULANG_UNREACHABLE()
Definition Common.h:243
#define ULANG_ASSERTF(expr, format,...)
Definition Common.h:290
Definition SemanticTypes.h:788
Definition Expression.h:3560
void AppendPackage(TSRef< CAstPackage > &&Package)
Definition Expression.h:3565
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3573
const TSRefArray< CAstPackage > & Packages() const
Definition Expression.h:3563
UE_API EPackageRole GetRole() const
Definition Expression.cpp:1952
UE_API bool IsAllowNative() const
Definition Expression.cpp:1969
void ReservePackages(int32_t Num)
Definition Expression.h:3564
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3571
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3572
Definition Expression.h:297
bool IsIrNode() const
Definition Expression.h:364
EVstMappingType _VstMappingType
Definition Expression.h:378
virtual EAstNodeType GetNodeType() const =0
void SetNonReciprocalMappedVstNode(const Verse::Vst::Node *VstNode)
Definition Expression.h:350
const Verse::Vst::Node * GetMappedVstNode() const
Definition Expression.h:348
virtual CUTF8String GetErrorDesc() const =0
virtual void VisitChildren(SAstVisitor &Visitor) const
Definition Expression.h:332
virtual void VisitImmediates(SAstVisitor &Visitor) const
Definition Expression.h:312
virtual const CExprIdentifierBase * AsIdentifierBase() const
Definition Expression.h:307
const Verse::Vst::Node * _MappedVstNode
Definition Expression.h:379
CAstNode(EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:299
virtual UE_API ~CAstNode()
Definition Expression.cpp:37
ULANG_FORCEINLINE void VisitChildrenLambda(FunctionType &&Function) const
virtual bool MayHaveAttributes() const
Definition Expression.h:306
void SetIrMappedVstNode(const Verse::Vst::Node *VstNode)
Definition Expression.h:356
virtual const CExpressionBase * AsExpression() const
Definition Expression.h:304
bool IsVstMappingReciprocal() const
Definition Expression.h:369
virtual CExpressionBase * AsExpression()
Definition Expression.h:305
Definition Expression.h:3494
uint32_t _UploadedAtFNVersion
Definition Expression.h:3514
CModulePart * _RootModule
Definition Expression.h:3499
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3549
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1896
CAstCompilationUnit * _CompilationUnit
Definition Expression.h:3524
CUTF8String _VersePath
Definition Expression.h:3498
CUTF8String _Name
Definition Expression.h:3496
bool _bAllowNative
Definition Expression.h:3519
EPackageRole _Role
Definition Expression.h:3505
UE_API bool CanSeeDefinition(const CDefinition &Definition) const
Definition Expression.cpp:1923
int32_t _NumPersistentVars
Definition Expression.h:3517
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3547
bool _bTreatModulesAsImplicit
Definition Expression.h:3520
TArray< const CAstPackage * > _Dependencies
Definition Expression.h:3501
bool _bAllowExperimental
Definition Expression.h:3522
TArray< const CAstPackage * > _UsedDependencies
Definition Expression.h:3502
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3548
EVerseScope _VerseScope
Definition Expression.h:3504
CAstPackage(const CUTF8String &Name, const CUTF8String &VersePath, const EVerseScope VerseScope, const EPackageRole Role, const uint32_t EffectiveVerseVersion, const uint32_t UploadedAtFNVersion, const bool bAllowNative, const bool bTreatDefinitionsAsImplicit, const bool bAllowExperimental)
Definition Expression.h:3526
uint32_t _EffectiveVerseVersion
Definition Expression.h:3506
Definition Expression.h:3584
void AppendCompilationUnit(TSRef< CAstCompilationUnit > &&CompilationUnit)
Definition Expression.h:3593
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3600
UE_API int32_t GetNumPackages() const
Definition Expression.cpp:2005
CUTF8String _Name
Definition Expression.h:3587
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3599
CAstProject(const CUTF8StringView &Name)
Definition Expression.h:3589
void ReserveCompilationUnits(int32_t Num)
Definition Expression.h:3592
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3601
const TSRefArray< CAstCompilationUnit > & OrderedCompilationUnits() const
Definition Expression.h:3591
UE_API const CAstPackage * FindPackageByName(const CUTF8String &PackageName) const
Definition Expression.cpp:1989
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:3602
Base class for everything that can have attributes attached to it (classes, expressions,...
Definition Attributable.h:51
Definition CaptureControlScope.h:12
Definition CaptureScope.h:13
Definition SemanticClass.h:33
Definition DataDefinition.h:41
Definition Definition.h:131
Definition SemanticEnumeration.h:58
Definition SemanticEnumeration.h:27
Definition Expression.h:2479
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2504
int32_t AppendArgument(TSRef< CExpressionBase > &&Argument)
Definition Expression.h:2487
const bool _bIsDynamicConcreteType
Definition Expression.h:2531
UE_API const CNominalType * GetClassOrInterface(const CSemanticProgram &Program) const
Definition Expression.cpp:1292
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2492
TSRef< CExpressionBase > _ClassAst
Definition Expression.h:2529
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2506
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:2520
UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1304
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2508
const TSRefArray< CExpressionBase > & Arguments() const
Definition Expression.h:2485
CExprMacroCall::CClause _BodyAst
Definition Expression.h:2530
Definition Expression.h:2439
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2454
void SetRange(TSRef< CExpressionBase > &&NewRange)
Definition Expression.h:2451
CExprArrow(TSRef< CExpressionBase > &&Domain, TSRef< CExpressionBase > &&Range)
Definition Expression.h:2442
const CFunctionType * GetFunctionType() const
Definition Expression.h:2463
void SetDomain(TSRef< CExpressionBase > &&NewDomain)
Definition Expression.h:2450
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2461
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2453
const TSRef< CExpressionBase > & Range() const
Definition Expression.h:2448
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2455
const TSRef< CExpressionBase > & Domain() const
Definition Expression.h:2447
Definition Expression.h:1585
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1605
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:1604
const TSPtr< CExpressionBase > & Rhs() const
Definition Expression.h:1595
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1609
TSPtr< CExpressionBase > && TakeLhs()
Definition Expression.h:1597
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1610
TSPtr< CExpressionBase > && TakeRhs()
Definition Expression.h:1598
CExprAssignment(EOp Op, TSPtr< CExpressionBase > &&Lhs, TSPtr< CExpressionBase > &&Rhs)
Definition Expression.h:1589
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1608
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1606
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:587
EOp Op() const
Definition Expression.h:1593
const TSPtr< CExpressionBase > & Lhs() const
Definition Expression.h:1594
Verse::Vst::Assignment::EOp EOp
Definition Expression.h:1587
void SetLhs(TSPtr< CExpressionBase > &&Lhs)
Definition Expression.h:1600
void SetRhs(TSPtr< CExpressionBase > &&Rhs)
Definition Expression.h:1601
Definition Expression.h:2649
CExprAwait(int32_t ReserveSubExprNum)
Definition Expression.h:2651
virtual bool MayHaveAttributes() const override
Definition Expression.h:2660
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2662
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2656
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2664
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2658
Definition Expression.h:1686
EOp
Definition Expression.h:1689
EOp Op() const
Definition Expression.h:1702
CExprBinaryArithmetic(EOp Op, TSRef< CExpressionBase > &&Argument)
Definition Expression.h:1696
Definition Expression.h:2668
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2684
CExprBinaryAwaitOp(TSRefArray< CExpressionBase > DomainExprs, TSRefArray< CExpressionBase > RangeExprs)
Definition Expression.h:2670
void AppendRangeExpr(TSRef< CExpressionBase > Expr)
Definition Expression.h:2721
void AppendDomainExpr(TSRef< CExpressionBase > Expr)
Definition Expression.h:2716
virtual bool MayHaveAttributes() const override
Definition Expression.h:2682
const TSRefArray< CExpressionBase > & GetRangeExprs() const
Definition Expression.h:2711
CExprBinaryAwaitOp(int32_t NumReservedDomainExprs, int32_t NumReservedRangeExprs)
Definition Expression.h:2676
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2686
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2698
const TSRefArray< CExpressionBase > & GetDomainExprs() const
Definition Expression.h:2706
Definition Expression.h:538
TSPtr< CExpressionBase > && TakeRhs()
Definition Expression.h:548
const TSPtr< CExpressionBase > & Lhs() const
Definition Expression.h:546
void SetRhs(TSPtr< CExpressionBase > &&NewRhs)
Definition Expression.h:550
const TSPtr< CExpressionBase > & Rhs() const
Definition Expression.h:547
CExprBinaryOp(TSPtr< CExpressionBase > &&Lhs, TSPtr< CExpressionBase > &&Rhs)
Definition Expression.h:552
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:555
void SetLhs(TSPtr< CExpressionBase > &&NewLhs)
Definition Expression.h:549
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:554
Definition Expression.h:2627
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2630
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2629
Definition Expression.h:2793
const CExpressionBase * _AssociatedControlFlow
Definition Expression.h:2795
virtual bool MayHaveAttributes() const override
Definition Expression.h:2800
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1331
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2797
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2799
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2798
Definition Expression.h:654
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:698
CExprChar(uint32_t CodePoint, EType Type)
Definition Expression.h:665
CUTF8String AsString() const
Definition Expression.h:675
EType _Type
Definition Expression.h:663
uint32_t _CodePoint
Definition Expression.h:662
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:696
EType
Definition Expression.h:657
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:695
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:694
Definition Expression.h:2950
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const override
Definition Expression.h:2972
void SetSuperTypes(TArray< TSRef< CExpressionBase > > &&SuperTypes)
Definition Expression.h:2964
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2967
CClass & _Class
Definition Expression.h:2952
CExprClassDefinition(CClass &Class, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:2956
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2970
const TArray< TSRef< CExpressionBase > > & SuperTypes() const
Definition Expression.h:2963
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2969
void SetSuperType(TSRef< CExpressionBase > &&SuperType, int32_t Index)
Definition Expression.h:2965
UE_API ~CExprClassDefinition()
Definition Expression.cpp:1555
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1570
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2968
Definition Expression.h:2087
CExprCodeBlock(int32_t ReserveSubExprNum=0)
Definition Expression.h:2094
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2096
TSPtr< CControlScope > _AssociatedScope
Definition Expression.h:2090
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:961
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2097
Definition Expression.h:1800
virtual UE_API CUTF8String GetErrorDesc() const override
Definition Expression.cpp:643
Verse::Vst::BinaryOpCompare::op EOp
Definition Expression.h:1802
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:660
EOp Op() const
Definition Expression.h:1816
CExprComparison(EOp Op, TSRef< CExpressionBase > &&Argument)
Definition Expression.h:1804
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1814
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1811
Definition Expression.h:482
void ReplaceSubExpr(TSPtr< CExpressionBase > SubExpr, int32_t Index)
Definition Expression.h:515
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:115
void PrependSubExpr(TSPtr< CExpressionBase > SubExpr)
Definition Expression.h:513
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:97
CExprCompoundBase(TSPtrArray< CExpressionBase > &&SubExprs, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:492
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:83
CExprCompoundBase(TSPtr< CExpressionBase > &&SubExpr1, TSPtr< CExpressionBase > &&SubExpr2)
Definition Expression.h:497
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:523
int32_t SubExprNum() const
Definition Expression.h:507
bool IsEmpty() const
Definition Expression.h:506
const TSPtrArray< CExpressionBase > & GetSubExprs() const
Definition Expression.h:509
CExprCompoundBase()=default
void AppendSubExpr(TSPtr< CExpressionBase > SubExpr)
Definition Expression.h:512
void SetSubExprs(TSPtrArray< CExpressionBase > AnalyzedExprs)
Definition Expression.h:514
TSPtrArray< CExpressionBase > & GetSubExprs()
Definition Expression.h:510
const uLang::CExpressionBase * GetLastSubExpr() const
Definition Expression.h:508
TSPtrArray< CExpressionBase > _SubExprs
Definition Expression.h:530
CExprCompoundBase(int32_t ReserveSubExprNum, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:486
TSPtrArray< CExpressionBase > && TakeSubExprs()
Definition Expression.h:511
Definition Expression.h:2542
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2546
CExprConcurrentBlockBase(int32_t ReserveSubExprNum=0)
Definition Expression.h:2544
Definition Expression.h:2224
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2226
Definition Expression.h:2981
const TSRef< CDataDefinition > _DataMember
Definition Expression.h:2983
UE_API ~CExprDataDefinition()
Definition Expression.cpp:1603
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2990
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2989
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1618
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:2992
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2988
Definition Expression.h:2777
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2780
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2781
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2779
Definition Expression.h:1249
CSymbol _Name
Definition Expression.h:1297
const TSPtr< CExpressionBase > & Value() const
Definition Expression.h:1273
TSPtr< CExpressionBase > TakeValue()
Definition Expression.h:1275
TSPtr< CExpressionBase > _Element
Definition Expression.h:1294
virtual bool MayHaveAttributes() const override
Definition Expression.h:1286
TSPtr< CExpressionBase > TakeValueDomain()
Definition Expression.h:1271
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:229
CExprDefinition(EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:1259
TSPtr< CExpressionBase > _ValueDomain
Definition Expression.h:1295
TSPtr< CExpressionBase > _Value
Definition Expression.h:1296
CExprDefinition(TSPtr< CExpressionBase > &&Element, TSPtr< CExpressionBase > &&ValueDomain, TSPtr< CExpressionBase > &&Value, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:1251
bool IsNamed() const
Definition Expression.h:1267
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1284
TSPtr< CExpressionBase > TakeElement()
Definition Expression.h:1263
void SetValue(TSRef< CExpressionBase > &&Value)
Definition Expression.h:1274
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1283
void SetValueDomain(TSRef< CExpressionBase > &&ValueDomain)
Definition Expression.h:1270
const TSPtr< CExpressionBase > & ValueDomain() const
Definition Expression.h:1269
void SetName(CSymbol Name)
Definition Expression.h:1265
const TSPtr< CExpressionBase > & Element() const
Definition Expression.h:1261
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:202
void SetElement(TSRef< CExpressionBase > &&Element)
Definition Expression.h:1262
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const override
Definition Expression.h:1277
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1285
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:223
CSymbol GetName() const
Definition Expression.h:1266
Definition Expression.h:2875
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2886
UE_API ~CExprEnumDefinition()
Definition Expression.cpp:1411
CEnumeration & _Enum
Definition Expression.h:2877
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2888
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1426
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1432
const TArray< TSRef< CExpressionBase > > _Members
Definition Expression.h:2879
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2884
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2885
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const override
Definition Expression.h:2890
Definition Expression.h:828
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:841
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:180
ULANG_FORCEINLINE CExprEnumLiteral(const CEnumerator *Enumerator, TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:833
virtual const CDefinition * IdentifierDefinition() const override
This is specifically named as such to avoid shadowing other virtual methods (such as on CNominalType)...
Definition Expression.cpp:192
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:186
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:838
const CEnumerator * _Enumerator
Definition Expression.h:831
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:839
Definition Expression.h:1068
UE_API const CEnumeration * GetEnumeration(const CSemanticProgram &Program) const
Definition Expression.cpp:297
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1080
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1081
UE_API const CTypeType * GetTypeType(const CSemanticProgram &Program) const
Definition Expression.cpp:292
CExprEnumerationType(const CTypeType *TypeType, TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:1071
Definition Expression.h:568
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:574
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:575
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:576
Definition Expression.h:3221
UE_API bool HasUserAddedPredictsEffect(const CSemanticProgram &Program) const
Definition Expression.cpp:1736
const TSRef< CFunction > _Function
Definition Expression.h:3223
UE_API ~CExprFunctionDefinition()
Definition Expression.cpp:1715
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3230
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1730
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3231
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3232
Definition Expression.h:882
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:896
const TSRef< CExpressionBase > & Domain() const
Definition Expression.h:890
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:898
void SetRange(TSRef< CExpressionBase > &&NewRange)
Definition Expression.h:894
const TSRef< CExpressionBase > & Range() const
Definition Expression.h:891
void SetDomain(TSRef< CExpressionBase > &&NewDomain)
Definition Expression.h:893
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:897
CExprFunctionLiteral(TSRef< CExpressionBase > &&Domain, TSRef< CExpressionBase > &&Range)
Definition Expression.h:885
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:904
Definition Expression.h:762
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:797
virtual const CDefinition * IdentifierDefinition() const
This is specifically named as such to avoid shadowing other virtual methods (such as on CNominalType)...
Definition Expression.h:810
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:804
void SetQualifier(TSPtr< CExpressionBase > Qualifier)
Definition Expression.h:780
void SetContext(TSPtr< CExpressionBase > Context)
Definition Expression.h:775
virtual const CExprIdentifierBase * AsIdentifierBase() const override
This node contains an identifier.
Definition Expression.h:816
TSPtr< CExpressionBase > && TakeQualifier()
Definition Expression.h:773
TSPtr< CExpressionBase > && TakeContext()
Definition Expression.h:772
virtual bool MayHaveAttributes() const override
Definition Expression.h:786
CExprIdentifierBase(TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:765
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:789
const TSPtr< CExpressionBase > & Qualifier() const
Definition Expression.h:770
const TSPtr< CExpressionBase > & Context() const
Definition Expression.h:769
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:790
Definition Expression.h:963
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:977
const CSymbol _Symbol
Definition Expression.h:965
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:976
CExprIdentifierBuiltInMacro(const CSymbol Symbol, const CTypeBase *Type)
Definition Expression.h:967
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:974
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:975
Definition Expression.h:1018
UE_API const CClass * GetClass(const CSemanticProgram &Program) const
Definition Expression.cpp:253
UE_API const CTypeType * GetTypeType(const CSemanticProgram &Program) const
Definition Expression.cpp:248
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1026
virtual UE_API CUTF8String GetErrorDesc() const override
Definition Expression.cpp:259
Definition Expression.h:1112
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1122
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:325
const CDataDefinition & _DataDefinition
Definition Expression.h:1116
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1126
virtual const CSymbol & GetName() const
Definition Expression.h:1120
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:1125
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1123
Definition Expression.h:1170
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:1200
const CFunction & _Function
Definition Expression.h:1173
CExprIdentifierFunction(const CFunction &Function, const CTypeBase *ResultType, TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:1180
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1199
const bool _bSuperQualified
Definition Expression.h:1178
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:413
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1198
TArray< SInstantiatedTypeVariable > _InstantiatedTypeVariables
Definition Expression.h:1175
const CTypeBase * _ConstructorNegativeReturnType
Definition Expression.h:1176
const CCaptureScope * _ConstructorCaptureScope
Definition Expression.h:1177
Definition Expression.h:1049
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1060
CExprIdentifierModuleAlias(const CModuleAlias &ModuleAlias, TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:1054
const CModuleAlias & _ModuleAlias
Definition Expression.h:1052
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1059
Definition Expression.h:1034
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1041
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1042
UE_API CModule const * GetModule(const CSemanticProgram &Program) const
Definition Expression.cpp:283
Definition Expression.h:1208
bool _bAllowUnrestrictedAccess
Definition Expression.h:1219
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:444
bool _bConstructor
Definition Expression.h:1212
const CTypeBase * _TypeOverload
Definition Expression.h:1214
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:1232
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1230
const TArray< const CFunction * > _FunctionOverloads
Definition Expression.h:1211
const CSymbol _Symbol
Definition Expression.h:1213
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1231
Definition Expression.h:1133
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:364
const CTypeAlias & _TypeAlias
Definition Expression.h:1137
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:1144
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1141
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:352
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1142
Definition Expression.h:1152
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1161
const CTypeVariable & _TypeVariable
Definition Expression.h:1156
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:1162
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1160
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:380
Definition Expression.h:984
bool _bAllowUnrestrictedAccess
Definition Expression.h:991
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1006
const CSymbol _Symbol
Definition Expression.h:986
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1010
virtual bool MayHaveAttributes() const override
Definition Expression.h:1007
const bool _bAllowReservedOperators
Definition Expression.h:993
void GrantUnrestrictedAccess()
Definition Expression.h:1004
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1008
CExprIdentifierUnresolved(const CSymbol &Symbol, TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr, bool bAllowReservedOperators=false)
Definition Expression.h:995
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:1009
Definition Expression.h:2153
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:2176
void SetCondition(TSRef< CExprCodeBlock > &&Condition)
Definition Expression.h:2163
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1031
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2175
void SetElseClause(TSPtr< CExpressionBase > &&ElseClause)
Definition Expression.h:2169
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:992
void SetThenClause(TSPtr< CExpressionBase > &&ThenClause)
Definition Expression.h:2166
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2173
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2174
const TSPtr< CExpressionBase > & GetThenClause() const
Definition Expression.h:2165
bool _bIsFilter
Definition Expression.h:2180
const TSPtr< CExpressionBase > & GetElseClause() const
Definition Expression.h:2168
CExprIf(TSRef< CExprCodeBlock > &&Condition, TSPtr< CExpressionBase > &&ThenClause, TSPtr< CExpressionBase > &&ElseClause=nullptr)
Definition Expression.h:2156
const TSRef< CExprCodeBlock > & GetCondition() const
Definition Expression.h:2162
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:1024
Definition Expression.h:3310
UE_API ~CExprImport()
Definition Expression.cpp:1819
const TSRef< CModuleAlias > _ModuleAlias
Definition Expression.h:3312
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3320
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3322
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3319
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1838
const TSRef< CExpressionBase > _Path
Definition Expression.h:3313
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3318
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1833
Definition Expression.h:2918
UE_API ~CExprInterfaceDefinition()
Definition Expression.cpp:1508
const TArray< TSRef< CExpressionBase > > & SuperInterfaces() const
Definition Expression.h:2922
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2934
CInterface & _Interface
Definition Expression.h:2920
void SetSuperInterfaces(TArray< TSRef< CExpressionBase > > &&SuperInterfaces)
Definition Expression.h:2923
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1523
CExprInterfaceDefinition(CInterface &Interface, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:2928
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2935
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2936
virtual bool MayHaveAttributes() const override
Definition Expression.h:2939
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2937
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const override
Definition Expression.h:2940
void SetSuperInterface(TSRef< CExpressionBase > &&SuperInterface, int32_t Index)
Definition Expression.h:2924
Definition Expression.h:1089
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1103
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1104
UE_API const CInterface * GetInterface(const CSemanticProgram &Program) const
Definition Expression.cpp:307
const CTypeType * GetTypeType(const CSemanticProgram &Program) const
Definition Expression.h:1100
CExprInterfaceType(const CTypeType *TypeType, TSPtr< CExpressionBase > &&Context=nullptr, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:1094
Definition Expression.h:1454
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:491
CExprInvocation(CExprInvocation &&Rhs)
Definition Expression.h:1488
EBracketingStyle _CallsiteBracketStyle
Definition Expression.h:1463
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1509
CExprInvocation(EBracketingStyle CallsiteBracketStyle, TCallee &&Callee, TArgument &&Argument)
Definition Expression.h:1466
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1512
CExprInvocation(TSRef< CExpressionBase > &&Argument)
Definition Expression.h:1484
void SetResolvedCalleeType(const CFunctionType *ResolvedCalleeType)
Definition Expression.h:1503
TSPtr< CExpressionBase > && TakeArgument()
Definition Expression.h:1499
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1510
CExprInvocation(EBracketingStyle CallsiteBracketStyle, TCallee &&Callee, TArgument &&Argument, const CFunctionType *ResolvedCalleeType, const CTypeBase *ResultType)
Definition Expression.h:1473
const TSPtr< CExpressionBase > & GetArgument() const
Definition Expression.h:1498
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1511
void SetCallee(TSPtr< CExpressionBase > &&Callee)
Definition Expression.h:1496
const TSPtr< CExpressionBase > & GetCallee() const
Definition Expression.h:1494
TSPtr< CExpressionBase > && TakeCallee()
Definition Expression.h:1495
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Get the function that this invocation calls
Definition Expression.cpp:468
void SetArgument(TSPtr< CExpressionBase > &&Arguments)
Definition Expression.h:1500
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:513
UE_API const CFunctionType * GetResolvedCalleeType() const
Definition Expression.cpp:461
EBracketingStyle
Definition Expression.h:1458
Definition Expression.h:1964
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1975
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1980
const TSRef< CExpressionBase > _Argument
Definition Expression.h:1969
const TSPtr< CExpressionBase > _TypeAst
Definition Expression.h:1968
const CTypeBase * _NegativeType
Definition Expression.h:1966
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1977
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:808
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1979
const bool _bIsFallible
Definition Expression.h:1967
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1976
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:824
Definition Expression.h:2999
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:3016
UE_API ~CExprIterationPairDefinition()
Definition Expression.cpp:1672
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3013
const TSRef< CDataDefinition > _ValueDefinition
Definition Expression.h:3002
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3015
const TSRef< CDataDefinition > _KeyDefinition
Definition Expression.h:3001
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3014
Definition Expression.h:2194
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2202
TArray< TSRef< CExpressionBase > > _Filters
Definition Expression.h:2213
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1064
void SetBody(TSPtr< CExpressionBase > &&Body)
Definition Expression.h:2198
CExprIteration()
Definition Expression.h:2196
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2203
TSPtr< CExpressionBase > _Body
Definition Expression.h:2216
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:1049
void AddFilter(TSRef< CExpressionBase > &&Filter)
Definition Expression.h:2199
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2204
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2205
TSPtr< CControlScope > _AssociatedScope
Definition Expression.h:2210
Definition Expression.h:2102
Definition Expression.h:3406
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1877
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3413
CExprLive(TSPtr< CExpressionBase > Operand, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:3408
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3415
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3414
Represents the (local:) qualifier.
Definition Expression.h:934
CExprLocal(const CScope &Scope)
Definition Expression.h:936
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:939
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:944
const CScope & GetScope() const
Definition Expression.h:949
Definition Expression.h:584
bool _Value
Definition Expression.h:587
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:595
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:593
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:592
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:591
Definition Expression.h:1783
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1788
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1791
CExprLogicalNot(TSPtr< CExpressionBase > &&Operand)
Definition Expression.h:1786
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:631
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1790
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:625
Definition Expression.h:2760
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2763
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2766
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2762
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2764
Definition Expression.h:1345
TArray< TSRef< CExpressionBase > > const & Exprs() const
Definition Expression.h:1357
TArray< TSRef< CExpressionBase > > & Exprs()
Definition Expression.h:1358
EMacroClauseTag Tag() const
Definition Expression.h:1355
CClause(EMacroClauseTag Tag, EForm Form, TArray< TSRef< CExpressionBase > > &&Exprs)
Definition Expression.h:1349
EForm Form() const
Definition Expression.h:1356
Definition Expression.h:1339
TArray< CClause > && TakeClauses()
Definition Expression.h:1393
CExprMacroCall(TSRef< CExpressionBase > &&Name, int32_t NumClauses=0)
Definition Expression.h:1369
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const override
Definition Expression.h:1395
void AppendClause(CClause &&Clause)
Definition Expression.h:1379
TSRef< CExpressionBase > const & Name() const
Definition Expression.h:1384
TSRef< CExpressionBase > & Name()
Definition Expression.h:1385
TArray< CClause > & Clauses()
Definition Expression.h:1391
TArray< CClause > const & Clauses() const
Definition Expression.h:1390
TSRef< CExpressionBase > && TakeName()
Definition Expression.h:1388
void SetName(TSRef< CExpressionBase > &&NewName)
Definition Expression.h:1386
Definition Expression.h:1872
CExprMakeArray(int32_t ReserveSubExprNum)
Definition Expression.h:1874
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1882
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1883
const CArrayType * GetArrayType(const CSemanticProgram &Program) const
Definition Expression.h:1876
Definition Expression.h:1892
const CMapType * GetMapType(const CSemanticProgram &Program) const
Definition Expression.h:1896
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:737
CExprMakeMap(int32_t ReserveSubExprNum=0)
Definition Expression.h:1894
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1903
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1902
Definition Expression.h:3423
const CSymbol & GetName() const
Definition Expression.h:3437
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3458
void SetNameIdentifier(TSPtr< CExpressionBase > NameIdentifier)
Definition Expression.h:3439
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:3464
const TSPtr< CExpressionBase > & GetNameIdentifier() const
Definition Expression.h:3438
virtual bool operator==(const CExpressionBase &Right) const override
Definition Expression.h:3445
CExprMakeNamed(const CSymbol Name)
Definition Expression.h:3425
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3475
void SetValue(TSPtr< CExpressionBase > Value)
Definition Expression.h:3441
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3443
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:3470
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3442
const TSPtr< CExpressionBase > & GetValue() const
Definition Expression.h:3440
CExprMakeNamed(const CSymbol Name, TSPtr< CExpressionBase > &&NameIdentifier, TSPtr< CExpressionBase > &&Argument)
Definition Expression.h:3430
Definition Expression.h:1845
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:672
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1861
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1860
CExprMakeOption(const CTypeBase *Type, TSPtr< CExpressionBase > &&Operand)
Definition Expression.h:1848
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1862
COptionType const * GetOptionType(const CSemanticProgram &Program) const
Definition Expression.h:1854
Definition Expression.h:1932
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1952
TSRef< CExpressionBase > _Lhs
Definition Expression.h:1934
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1947
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:760
void SetLhs(TSRef< CExpressionBase > &&Lhs)
Definition Expression.h:1942
CExprMakeRange(TSRef< CExpressionBase > &&Lhs, TSRef< CExpressionBase > &&Rhs)
Definition Expression.h:1937
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1948
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1946
void SetRhs(TSRef< CExpressionBase > &&Rhs)
Definition Expression.h:1943
TSRef< CExpressionBase > _Rhs
Definition Expression.h:1935
Definition Expression.h:1912
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1922
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1923
const CTupleType * GetTupleType(const CSemanticProgram &Program) const
Definition Expression.h:1916
Definition Expression.h:2849
bool _bLegacyPublic
Definition Expression.h:2853
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1382
UE_API ~CExprModuleDefinition()
Definition Expression.cpp:1364
CExprModuleDefinition(const CUTF8StringView &Name, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:2855
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2862
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:2867
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2866
CUTF8String _Name
Definition Expression.h:2851
CModulePart * _SemanticModule
Definition Expression.h:2852
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2864
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const override
Definition Expression.h:2868
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2863
Definition Expression.h:2045
CExprNewPointer(const CPointerType *PointerType, const CCaptureControlScope *LiveScope, TSRef< CExpressionBase > Value)
Definition Expression.h:2050
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2059
const TSRef< CExpressionBase > _Value
Definition Expression.h:2048
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2062
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2058
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2060
const CCaptureControlScope * _LiveScope
Definition Expression.h:2047
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:921
Definition Expression.h:603
ULANG_FORCEINLINE CExprNumber()
Definition Expression.h:614
Float _FloatValue
Definition Expression.h:608
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:629
UE_API void SetFloatValue(CSemanticProgram &, Float)
Definition Expression.cpp:168
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:631
Integer _IntValue
Definition Expression.h:607
Integer GetIntValue() const
Definition Expression.h:624
Float GetFloatValue() const
Definition Expression.h:626
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:630
UE_API void SetIntValue(CSemanticProgram &, Integer)
Definition Expression.cpp:161
bool IsFloat() const
Definition Expression.h:623
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:635
Definition Expression.h:746
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:754
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:753
const CSymbol _Symbol
Definition Expression.h:748
CExprPathPlusSymbol(const CSymbol &Symbol)
Definition Expression.h:750
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:755
Definition Expression.h:727
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:736
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:739
CExprPath(CUTF8String Path)
Definition Expression.h:732
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:737
CUTF8String _Path
Definition Expression.h:730
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:735
Definition Expression.h:1994
CExprPointerToReference(TSRef< CExpressionBase > &&Variable, bool bWritable=true)
Definition Expression.h:1996
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2005
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2004
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2003
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:844
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:861
Definition Expression.h:3277
virtual const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.h:3282
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3281
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:3285
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3280
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3279
TSPtr< uLang::CExpressionBase > _UserTag
Definition Expression.h:3297
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:3283
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3291
Definition Expression.h:1827
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1837
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1836
CExprQueryValue(TSRef< CExpressionBase > &&Operand)
Definition Expression.h:1830
Definition Expression.h:2256
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2259
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2258
Definition Expression.h:2573
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2576
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2575
Definition Expression.h:2070
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2077
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2078
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2075
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2076
Definition Expression.h:2113
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2131
virtual bool MayHaveAttributes() const override
Definition Expression.h:2134
CExprReturn()
Definition Expression.h:2116
void SetFunction(const CFunction *Function)
Definition Expression.h:2127
CExprReturn(TSPtr< CExpressionBase > &&Result, const CFunction *Function=nullptr)
Definition Expression.h:2117
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2129
const CFunction * Function() const
Definition Expression.h:2126
const TSPtr< CExpressionBase > & Result() const
Definition Expression.h:2123
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2137
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2130
void SetResult(TSPtr< CExpressionBase > &&Result)
Definition Expression.h:2124
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2132
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2136
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:981
Definition Expression.h:2245
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2248
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2247
Definition Expression.h:2589
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2592
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2591
Definition Expression.h:2899
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2909
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2910
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2908
TSRef< CScopedAccessLevelDefinition > _AccessLevelDefinition
Definition Expression.h:2901
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1477
TArray< TSRef< CExpressionBase > > _ScopeReferenceExprs
Definition Expression.h:2902
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2907
UE_API ~CExprScopedAccessLevelDefinition()
Definition Expression.cpp:1462
Definition Expression.h:915
virtual const CDefinition * IdentifierDefinition() const override
This is specifically named as such to avoid shadowing other virtual methods (such as on CNominalType)...
Definition Expression.h:925
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:923
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:924
CExprSelf(const CTypeBase *Type, TSPtr< CExpressionBase > &&Qualifier=nullptr)
Definition Expression.h:917
Definition Expression.h:2018
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:898
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2032
CExprSet(bool bIsLive, TSPtr< CExpressionBase > Operand, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:2020
bool _bIsLive
Definition Expression.h:2037
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:2033
const CCaptureControlScope * _LiveScope
Definition Expression.h:2038
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2034
CExprSet(bool bIsLive, const CCaptureControlScope *LiveScope, TSPtr< CExpressionBase > Operand, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:2025
Definition Expression.h:1740
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1748
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1745
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1747
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:600
CExprShortCircuitAnd(TSPtr< CExpressionBase > &&Lhs, TSPtr< CExpressionBase > &&Rhs)
Definition Expression.h:1743
virtual const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.h:1746
Definition Expression.h:1757
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:1770
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:613
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1769
CExprShortCircuitOr(TSPtr< CExpressionBase > &&Lhs, TSPtr< CExpressionBase > &&Rhs, const CTypeBase *JoinType=nullptr)
Definition Expression.h:1760
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1771
Definition Expression.h:2830
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2839
CExprSnippet(const CUTF8StringView &Path)
Definition Expression.h:2835
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2838
CSnippet * _SemanticSnippet
Definition Expression.h:2833
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1342
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:2842
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2837
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2841
CUTF8String _Path
Definition Expression.h:2832
Definition Expression.h:2642
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2645
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2644
Definition Expression.h:706
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:720
CExprString(CUTF8String String)
Definition Expression.h:713
CUTF8String _String
Definition Expression.h:711
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:717
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:718
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:716
Definition Expression.h:2600
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2611
void SetExpr(TSPtr< CExpressionBase > &&Expr)
Definition Expression.h:2607
TSPtr< CExpressionBase > _BlockExpr
Definition Expression.h:2603
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:2610
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2612
const TSPtr< CExpressionBase > & Expr() const
Definition Expression.h:2608
Definition Expression.h:2389
ETypeConstraintFlags _SubtypeConstraint
Definition Expression.h:2400
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2394
virtual CUTF8String GetErrorDesc() const override
Definition Expression.cpp:700
CExprSubtype(TSRef< CExpressionBase > &&InnerTypeAst)
Construct an expression that takes the ValueType and forms an option of ValueType.
Definition Expression.h:2392
UE_API const CTypeType & GetSubtypeType() const
Definition Expression.cpp:707
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:2396
Definition Expression.h:2234
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2237
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2236
Definition Expression.h:2558
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2560
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2561
Definition Expression.h:1556
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:1576
TSPtr< CExpressionBase > _ElemIdxExpr
Definition Expression.h:1567
TSPtr< CExpressionBase > _TupleExpr
Definition Expression.h:1560
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:559
Integer _ElemIdx
Definition Expression.h:1563
CExprTupleElement(TSPtr< CExpressionBase > TupleExpr, Integer ElemIdx, const Verse::Vst::Node *MappedVstNode)
Definition Expression.h:1570
CExprTupleElement(CExprInvocation &Invocation)
Definition Expression.h:1569
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:1575
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:1574
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1573
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:572
Definition Expression.h:2405
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:718
CExprTupleType(int32_t ReserveTypeExprNum=0)
Definition Expression.h:2408
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2419
TSPtrArray< CExpressionBase > _ElementTypeExprs
Definition Expression.h:2431
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:2420
void ReplaceElementTypeExpr(TSPtr< CExpressionBase > &&TypeExpr, int32_t Index)
Definition Expression.h:2412
const CTupleType * GetTupleType() const
Definition Expression.h:2423
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2418
const TSPtrArray< CExpressionBase > & GetElementTypeExprs() const
Definition Expression.h:2410
TSPtrArray< CExpressionBase > & GetElementTypeExprs()
Definition Expression.h:2411
Definition Expression.h:3240
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3248
const TSRef< CTypeAlias > _TypeAlias
Definition Expression.h:3242
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3249
UE_API ~CExprTypeAliasDefinition()
Definition Expression.cpp:1764
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3247
Definition Expression.h:850
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:875
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:874
CExprType(TSRef< CExpressionBase > &&AbstractValue, const CTypeType &TypeType)
Definition Expression.h:855
const CTypeType * GetTypeType() const
Definition Expression.h:861
const TSRef< CExpressionBase > _AbstractValue
Definition Expression.h:853
const CTypeBase * GetType() const
Definition Expression.h:866
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:873
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:872
Definition Expression.h:1656
CExprUnaryArithmetic(EOp Op, TSRef< CExpressionBase > &&Rhs)
Definition Expression.h:1663
EOp
Definition Expression.h:1659
EOp Op() const
Definition Expression.h:1673
void SetOperand(TSPtr< CExpressionBase > &&NewOperand)
Definition Expression.h:1670
TSPtr< CExpressionBase > && TakeOperand()
Definition Expression.h:1671
TSRef< CExpressionBase > Operand() const
Definition Expression.h:1669
Definition Expression.h:1634
CExprUnaryOp(TSPtr< CExpressionBase > &&Operand, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:1636
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:1646
TSPtr< CExpressionBase > && TakeOperand()
Definition Expression.h:1643
void SetOperand(TSPtr< CExpressionBase > &&Operand)
Definition Expression.h:1644
const TSPtr< CExpressionBase > & Operand() const
Definition Expression.h:1642
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:1647
Definition Expression.h:2732
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2738
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2736
Definition Expression.h:3256
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3266
const CModule * _Module
Definition Expression.h:3259
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3267
TSRef< CExpressionBase > _Context
Definition Expression.h:3261
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3265
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3269
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const override
Definition Expression.cpp:1783
virtual UE_API void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.cpp:1788
CExprUsing(TSRef< CExpressionBase > &&Context)
Definition Expression.h:3263
Definition Expression.h:3388
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1853
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3398
CExprVar(bool bIsLive, TSPtr< CExpressionBase > Operand, EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:3390
bool _bIsLive
Definition Expression.h:3401
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3396
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3397
Definition Expression.h:2742
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:2746
const CCaptureControlScope * _DomainScope
Definition Expression.h:2750
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:2748
Definition Expression.h:3327
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3351
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3337
virtual bool operator==(const CExpressionBase &Right) const override
Definition Expression.h:3339
void SetLhs(TSPtr< CExpressionBase > NewLhs)
Definition Expression.h:3372
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3335
void SetRhs(TSPtrArray< CExpressionBase > NewRhs)
Definition Expression.h:3377
const TSPtrArray< CExpressionBase > & Rhs() const
Definition Expression.h:3362
TSPtrArray< CExpressionBase > & Rhs()
Definition Expression.h:3367
const TSPtr< CExpressionBase > & Lhs() const
Definition Expression.h:3357
CExprWhere(TSRef< CExpressionBase > &&Lhs, TSPtrArray< CExpressionBase > &&Rhs)
Definition Expression.h:3329
Definition Expression.h:387
EInvokeTime DetermineInvokeTime(const CSemanticProgram &Program) const
Definition Expression.h:417
TOptional< SAnalysisResult > _Report
Definition Expression.h:472
CExpressionBase(EVstMappingType VstMappingType=EVstMappingType::Ast)
Definition Expression.h:390
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:403
UE_API void SetResultType(const CTypeBase *InResultType)
Definition Expression.cpp:61
bool operator!=(const CExpressionBase &Other) const
Definition Expression.h:442
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const
Definition Expression.h:420
const CTypeBase * IrGetResultType() const
Definition Expression.h:450
static bool BaseCompare(const CExpressionBase &A, const CExpressionBase &B)
Definition Expression.h:435
virtual CExpressionBase * AsExpression() override
Definition Expression.h:396
static bool AreSubExprsEqual(const TRange1 &, const TRange2 &)
static bool IsSubExprEqual(const CExpressionBase *Lhs, const CExpressionBase *Rhs)
Definition Expression.h:3634
bool IsAnalyzed() const
Definition Expression.h:431
virtual UE_API const CTypeBase * GetResultType(const CSemanticProgram &Program) const
Definition Expression.cpp:53
virtual const CExpressionBase * AsExpression() const override
Definition Expression.h:395
virtual bool CanBePathSegment(const TMacroSymbols &MacroSymbols) const
Definition Expression.h:402
void IrSetResultType(const CTypeBase *TypeBase)
Definition Expression.h:451
CExpressionBase(const CTypeBase *InResultType)
Definition Expression.h:391
virtual bool CanFail(const CAstPackage *Package) const
Definition Expression.h:423
virtual bool MayHaveAttributes() const override
Definition Expression.h:397
virtual bool operator==(const CExpressionBase &Other) const =0
UE_API void RefineResultType(const CTypeBase *RefinedResultType)
Definition Expression.cpp:69
Definition SemanticTypes.h:1055
Definition SemanticFunction.h:75
Definition SemanticTypes.h:851
Definition SemanticInterface.h:25
Definition Expression.h:3026
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:3037
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3033
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3038
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1115
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3039
TSRef< CExpressionBase > _Source
Definition Expression.h:3041
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3034
CIrArrayAdd(TSRef< CExpressionBase > &&Source)
Definition Expression.h:3028
Definition Expression.h:3067
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3093
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3075
virtual UE_API bool operator==(const CExpressionBase &) const override
Definition Expression.cpp:1167
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3077
TSRef< CExpressionBase > _Callee
Definition Expression.h:3099
CIrArrayUnsafeCall(TSRef< CExpressionBase > &&Callee, TSRef< CExpressionBase > &&Arguments)
Definition Expression.h:3069
TSRef< CExpressionBase > _Argument
Definition Expression.h:3100
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3086
virtual const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.h:3081
Definition Expression.h:3123
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3129
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3131
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3128
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3130
Definition Expression.h:3107
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3114
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3112
virtual bool operator==(const CExpressionBase &Other) const override
Definition Expression.h:3115
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3113
Definition Expression.h:3195
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3205
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:3206
void SetBody(TSPtr< CExpressionBase > &&Body)
Definition Expression.h:3201
CIrForBody(TSPtr< CExpressionBase > &&Body)
Definition Expression.h:3197
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:1260
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3208
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1266
TSPtr< CExpressionBase > _Body
Definition Expression.h:3214
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3204
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3209
Definition Expression.h:3139
virtual UE_API bool operator==(const CExpressionBase &Other) const override
Definition Expression.cpp:1218
TSPtr< CExpressionBase > _Body
Definition Expression.h:3187
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3179
const TSRef< CExprDefinition > _Definition
Definition Expression.h:3147
TSPtr< CControlScope > _AssociatedScope
Definition Expression.h:3184
bool _bGenerateResult
Definition Expression.h:3142
virtual void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.h:3166
virtual void VisitImmediates(SAstVisitor &Visitor) const override
Definition Expression.h:3167
CIrFor(const TSRef< CDataDefinition > &KeyMember, const TSRef< CDataDefinition > &DataMember, TSPtr< CExpressionBase > &&Element, TSPtr< CExpressionBase > &&ValueDomain, TSPtr< CExpressionBase > &&Value)
Definition Expression.h:3155
const TSRef< CDataDefinition > _DataMember
Definition Expression.h:3146
virtual bool CanFail(const CAstPackage *Package) const override
Definition Expression.h:3165
bool _bCanFail
Definition Expression.h:3143
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &Program) const override
Definition Expression.cpp:1207
CIrFor(const TSRef< CDataDefinition > &DataMember, TSPtr< CExpressionBase > &&Element, TSPtr< CExpressionBase > &&ValueDomain, TSPtr< CExpressionBase > &&Value)
Definition Expression.h:3149
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3178
void SetBody(TSPtr< CExpressionBase > &&Body)
Definition Expression.h:3162
bool _bOutermost
Definition Expression.h:3141
const TSPtr< CDataDefinition > _KeyMember
Definition Expression.h:3145
Definition Expression.h:3046
virtual UE_API void VisitChildren(SAstVisitor &Visitor) const override
Definition Expression.cpp:1157
virtual UE_API const CExpressionBase * FindFirstAsyncSubExpr(const CSemanticProgram &) const override
Definition Expression.cpp:1143
virtual UE_API bool operator==(const CExpressionBase &) const override
Definition Expression.cpp:1131
virtual EAstNodeType GetNodeType() const override
Definition Expression.h:3055
TSRef< CExpressionBase > _Value
Definition Expression.h:3063
virtual UE_API bool CanFail(const CAstPackage *Package) const override
Definition Expression.cpp:1152
CIrMapAdd(TSRef< CExpressionBase > &&Key, TSRef< CExpressionBase > &&Value)
Definition Expression.h:3048
TSRef< CExpressionBase > _Key
Definition Expression.h:3062
virtual CUTF8String GetErrorDesc() const override
Definition Expression.h:3056
Definition SemanticTypes.h:880
Definition Expression.h:2809
void AppendMember(TSRef< CExpressionBase > &&Member)
Definition Expression.h:2816
CMemberDefinitions()
Definition Expression.h:2811
void PrependMember(TSRef< CExpressionBase > &&Member)
Definition Expression.h:2817
void SetMembers(TArray< TSRef< CExpressionBase > > &&Members)
Definition Expression.h:2815
void VisitMembers(SAstVisitor &Visitor) const
Definition Expression.h:2820
void SetMember(TSRef< CExpressionBase > &&Member, int32_t Index)
Definition Expression.h:2818
CMemberDefinitions(TArray< TSRef< CExpressionBase > > &&Members)
Definition Expression.h:2812
const TArray< TSRef< CExpressionBase > > & Members() const
Definition Expression.h:2814
Definition ModuleAlias.h:17
Definition SemanticProgram.h:150
Definition SemanticProgram.h:89
ULANG_FORCEINLINE CUTF8StringView AsNameStringView() const
Definition Named.h:44
ULANG_FORCEINLINE const CSymbol & GetName() const
Definition Named.h:41
Class defining instance and class objects.
Definition SemanticTypes.h:608
TType & AsChecked()
Definition SemanticTypes.h:224
Definition SemanticTypes.h:760
Definition SemanticTypes.h:685
Definition SemanticScope.h:73
Definition SemanticProgram.h:277
Definition SharedPointer.h:28
Definition SemanticProgram.h:179
Symbol representing a text string with an associated id.
Definition Symbol.h:98
ULANG_FORCEINLINE CUTF8StringView AsStringView() const
Definition Symbol.h:107
ULANG_FORCEINLINE bool IsNull() const
Definition Symbol.h:103
ULANG_FORCEINLINE CUTF8String AsString() const
Definition Symbol.h:106
Definition SemanticTypes.h:1008
Definition TypeAlias.h:55
Base class for all types.
Definition SemanticTypes.h:138
virtual const CNormalType & GetNormalType() const =0
Definition SemanticTypes.h:381
const CTypeBase * PositiveType() const
Definition SemanticTypes.h:406
const CTypeBase * NegativeType() const
Definition SemanticTypes.h:404
Definition TypeVariable.h:21
Definition UTF8StringView.h:15
static UE_API SUTF8CodePoint EncodeUTF8(UniCodePoint CodePoint)
Definition Unicode.cpp:222
Definition SharedPointerArray.h:21
Definition SharedPointer.h:77
ULANG_FORCEINLINE ObjectType * Get() const
Definition SharedPointer.h:111
ULANG_FORCEINLINE TSPtrG< OtherObjectType, AllowNull, AllocatorType, AllocatorArgsType... > & As()
Definition SharedPointer.h:135
Definition VerseScope.h:13
@ Visitor
Definition XmppMultiUserChat.h:94
NodeType
Definition VstNode.h:102
const char * BinaryCompareOpAsCString(BinaryOpCompare::op Op)
Definition VstNode.h:1345
const char * AssignmentOpAsCString(Assignment::EOp Op)
Definition VstNode.h:1195
Definition VVMEngineEnvironment.h:23
EMacroClauseTag
Definition Expression.h:1302
const char * MacroClauseFormAsCString(Verse::Vst::Clause::EForm Form)
Definition Expression.h:1324
EInvokeTime
Definition Expression.h:202
const CExpressionBase * RemoveSubscripts(const CExpressionBase *Expr, const CSemanticProgram &Program)
Definition Expression.cpp:2074
bool IsConstructorInvocation(const CExprInvocation &Invocation)
Definition Expression.cpp:544
const CExprInvocation * AsSubscriptCall(const CExpressionBase *Expr, const CSemanticProgram &Program)
Definition Expression.cpp:2052
bool HasImplicitClassSelf(const CExprIdentifierData *Expr)
Definition Expression.cpp:2034
TOptional< SAssignmentLhsIdentifier > IdentifierOfAssignmentLhs(const CExprAssignment *Assignment)
Definition Expression.cpp:2015
Traits::TResult AsNullable(TIn Expr)
Definition Expression.h:3712
uLang::TUTF8String< CHeapRawAllocator > CUTF8String
A string allocated on the heap.
Definition UTF8String.h:269
SAstNodeTypeInfo GetAstNodeTypeInfo(EAstNodeType NodeType)
Definition Expression.cpp:21
uint8_t UTF8Char
UTF-8 octet.
Definition Unicode.h:20
constexpr SEffectSet operator|(const EEffect Lhs, const EEffect Rhs)
Definition Effects.h:203
int64_t Integer
Definition Common.h:329
ULANG_FORCEINLINE T && ForwardArg(typename TRemoveReference< T >::Type &Obj)
Definition References.h:115
constexpr bool HasAnyTags(EMacroClauseTag A, EMacroClauseTag B)
Definition Expression.h:1309
const char * MacroClauseTagAsCString(EMacroClauseTag Tag)
Definition Expression.h:1314
const char * AsStringLiteral(EAstNodeType Node)
Definition Expression.h:3727
EVstMappingType
Definition Expression.h:289
ETypeConstraintFlags
Definition SemanticTypes.h:127
EAstNodeType
Definition Expression.h:183
VISIT_AST_NODE_TYPE(Name, Class)
ULANG_FORCEINLINE TRemoveReference< T >::Type && Move(T &&Obj)
Definition References.h:86
constexpr bool HasAllTags(EMacroClauseTag A, EMacroClauseTag RequiredTags)
Definition Expression.h:1310
const CExprIdentifierFunction * GetConstructorInvocationCallee(const CExprInvocation &Invocation)
Definition Expression.cpp:520
bool IsClassMemberAccess(const CExprIdentifierData *Expr)
Definition Expression.cpp:2047
EPackageRole
Definition PackageRole.h:15
double Float
Default size for uLang Integer Type.
Definition Common.h:330
const char * InvokeTimeAsCString(EInvokeTime InvokeTime)
Definition Expression.h:208
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition VstNode.h:1171
EOp
Definition VstNode.h:1173
op
Definition VstNode.h:1321
EForm
Definition VstNode.h:766
@ IsAppendAttributeHolder
@ IsPrependAttributeHolder
Definition VstNode.h:1131
Definition Expression.h:466
bool operator==(const SAnalysisResult &Other) const
Definition Expression.h:467
const CTypeBase * ResultType
Definition Expression.h:469
Definition Expression.h:1621
TSPtr< CExprPointerToReference > PointerToReference
Definition Expression.h:1622
TSPtr< CExprIdentifierData > IdentifierData
Definition Expression.h:1623
Definition Expression.h:190
const char * _EnumeratorName
Definition Expression.h:191
const char * _CppClassName
Definition Expression.h:192
Definition Expression.h:224
void VisitArray(const char *FieldName, const TSPtrArrayG< NodeType, bAllowNull, ElementAllocatorType, RawAllocatorArgTypes... > &Array)
Definition Expression.h:274
virtual void BeginArray(const char *FieldName, intptr_t Num)
Definition Expression.h:237
virtual void EndArray()
Definition Expression.h:239
void Visit(const char *FieldName, const TSPtrG< NodeType, bAllowNull, AllocatorType, AllocatorArgTypes... > &NodePointer)
Definition Expression.h:242
virtual void VisitImmediate(const char *FieldName, const CDefinition &Definition)
Definition Expression.h:231
virtual void VisitImmediate(const char *FieldName, const Verse::Vst::Node &VstNode)
Definition Expression.h:232
virtual void VisitImmediate(const char *FieldName, CUTF8StringView Value)
Definition Expression.h:226
virtual void VisitImmediate(const char *FieldName, double Value)
Definition Expression.h:228
void VisitArray(const char *FieldName, const TArrayG< TSPtrG< NodeType, bAllowNull, NodeAllocatorType >, ElementAllocatorType, ElementAllocatorArgTypes... > &Array)
Definition Expression.h:260
virtual void VisitElement(CAstNode &AstNode)=0
void VisitElement(const TSPtrG< NodeType, bAllowNull, AllocatorType, AllocatorArgTypes... > &NodePointer)
Definition Expression.h:251
virtual void Visit(const char *FieldName, CAstNode &AstNode)=0
void VisitImmediate(const char *FieldName, const char *CString)
Definition Expression.h:234
virtual void VisitImmediate(const char *FieldName, const CTypeBase *Type)
Definition Expression.h:230
virtual void VisitImmediate(const char *FieldName, int64_t Value)
Definition Expression.h:227
virtual void VisitImmediate(const char *FieldName, bool Value)
Definition Expression.h:229
static TResult Cast(CExpressionBase *X)
Definition Expression.h:3698
TOut * TResult
Definition Expression.h:3697
static TResult Cast(TSPtr< CExpressionBase > X)
Definition Expression.h:3684
static TResult Cast(TSRef< CExpressionBase > X)
Definition Expression.h:3691
const TOut * TResult
Definition Expression.h:3704
static TResult Cast(const CExpressionBase *X)
Definition Expression.h:3705
Definition Expression.h:3678
Definition Expression.h:3615
virtual void VisitElement(CAstNode &AstNode) override
Definition Expression.h:3619
virtual void Visit(const char *FieldName, CAstNode &AstNode) override
Definition Expression.h:3618
TAstFunctionVisitor(FunctionType &&Function)
Definition Expression.h:3617
FunctionType _Function
Definition Expression.h:3616