![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <Expression.h>
Inheritance diagram for uLang::CAstNode:Protected Attributes | |
| EVstMappingType | _VstMappingType |
| const Verse::Vst::Node * | _MappedVstNode {nullptr} |
Friends | |
| struct | Verse::Vst::Node |
Additional Inherited Members | |
Static Protected Member Functions inherited from uLang::CSharedMix | |
| template<class ObjectType > | |
| static TSPtrG< ObjectType, false, CHeapRawAllocator > | SharedThis (ObjectType *This) |
| template<class ObjectType > | |
| static TSPtrG< const ObjectType, false, CHeapRawAllocator > | SharedThis (const ObjectType *This) |
Abstract base class for AST nodes.
|
inline |
|
virtual |
|
inlinevirtual |
Reimplemented in uLang::CExpressionBase.
|
inlinevirtual |
Reimplemented in uLang::CExpressionBase.
|
inlinevirtual |
Reimplemented in uLang::CExprIdentifierBase.
|
pure virtual |
Implemented in uLang::CExprExternal, uLang::CExprLogic, uLang::CExprNumber, uLang::CExprChar, uLang::CExprString, uLang::CExprPath, uLang::CExprPathPlusSymbol, uLang::CExprEnumLiteral, uLang::CExprType, uLang::CExprFunctionLiteral, uLang::CExprSelf, uLang::CExprLocal, uLang::CExprIdentifierBuiltInMacro, uLang::CExprIdentifierUnresolved, uLang::CExprIdentifierClass, uLang::CExprIdentifierModule, uLang::CExprIdentifierModuleAlias, uLang::CExprEnumerationType, uLang::CExprInterfaceType, uLang::CExprIdentifierData, uLang::CExprIdentifierTypeAlias, uLang::CExprIdentifierTypeVariable, uLang::CExprIdentifierFunction, uLang::CExprIdentifierOverloadedFunction, uLang::CExprDefinition, uLang::CExprInvocation, uLang::CExprTupleElement, uLang::CExprAssignment, uLang::CExprShortCircuitAnd, uLang::CExprShortCircuitOr, uLang::CExprLogicalNot, uLang::CExprComparison, uLang::CExprQueryValue, uLang::CExprMakeOption, uLang::CExprMakeArray, uLang::CExprMakeMap, uLang::CExprMakeTuple, uLang::CExprMakeRange, uLang::CExprInvokeType, uLang::CExprPointerToReference, uLang::CExprSet, uLang::CExprNewPointer, uLang::CExprReferenceToValue, uLang::CExprCodeBlock, uLang::CExprReturn, uLang::CExprIf, uLang::CExprIteration, uLang::CExprSyncIterated, uLang::CExprRushIterated, uLang::CExprRaceIterated, uLang::CExprArrayTypeFormer, uLang::CExprGeneratorTypeFormer, uLang::CExprMapTypeFormer, uLang::CExprOptionTypeFormer, uLang::CExprSubtype, uLang::CExprTupleType, uLang::CExprArrow, uLang::CExprArchetypeInstantiation, uLang::CExprSync, uLang::CExprRace, uLang::CExprRush, uLang::CExprBranch, uLang::CExprSpawn, uLang::CExprAwait, uLang::CExprUpon, uLang::CExprWhen, uLang::CExprLoop, uLang::CExprDefer, uLang::CExprBreak, uLang::CExprSnippet, uLang::CExprModuleDefinition, uLang::CExprEnumDefinition, uLang::CExprScopedAccessLevelDefinition, uLang::CExprInterfaceDefinition, uLang::CExprClassDefinition, uLang::CExprDataDefinition, uLang::CExprIterationPairDefinition, uLang::CIrArrayAdd, uLang::CIrMapAdd, uLang::CIrArrayUnsafeCall, uLang::CIrConvertToDynamic, uLang::CIrConvertFromDynamic, uLang::CIrFor, uLang::CIrForBody, uLang::CExprFunctionDefinition, uLang::CExprTypeAliasDefinition, uLang::CExprUsing, uLang::CExprProfileBlock, uLang::CExprImport, uLang::CExprWhere, uLang::CExprVar, uLang::CExprLive, uLang::CExprMakeNamed, uLang::CAstPackage, uLang::CAstCompilationUnit, uLang::CAstProject, uLang::CExprError, and uLang::CExprPlaceholder.
|
inline |
|
pure virtual |
Implemented in uLang::CExprExternal, uLang::CExprLogic, uLang::CExprNumber, uLang::CExprChar, uLang::CExprString, uLang::CExprPath, uLang::CExprPathPlusSymbol, uLang::CExprEnumLiteral, uLang::CExprType, uLang::CExprFunctionLiteral, uLang::CExprSelf, uLang::CExprLocal, uLang::CExprIdentifierBuiltInMacro, uLang::CExprIdentifierUnresolved, uLang::CExprIdentifierClass, uLang::CExprIdentifierModule, uLang::CExprIdentifierModuleAlias, uLang::CExprEnumerationType, uLang::CExprInterfaceType, uLang::CExprIdentifierData, uLang::CExprIdentifierTypeAlias, uLang::CExprIdentifierTypeVariable, uLang::CExprIdentifierFunction, uLang::CExprIdentifierOverloadedFunction, uLang::CExprDefinition, uLang::CExprInvocation, uLang::CExprTupleElement, uLang::CExprAssignment, uLang::CExprShortCircuitAnd, uLang::CExprShortCircuitOr, uLang::CExprLogicalNot, uLang::CExprComparison, uLang::CExprQueryValue, uLang::CExprMakeOption, uLang::CExprMakeArray, uLang::CExprMakeMap, uLang::CExprMakeTuple, uLang::CExprMakeRange, uLang::CExprInvokeType, uLang::CExprPointerToReference, uLang::CExprSet, uLang::CExprNewPointer, uLang::CExprReferenceToValue, uLang::CExprCodeBlock, uLang::CExprReturn, uLang::CExprIf, uLang::CExprIteration, uLang::CExprSyncIterated, uLang::CExprRushIterated, uLang::CExprRaceIterated, uLang::CExprArrayTypeFormer, uLang::CExprGeneratorTypeFormer, uLang::CExprMapTypeFormer, uLang::CExprOptionTypeFormer, uLang::CExprSubtype, uLang::CExprTupleType, uLang::CExprArrow, uLang::CExprArchetypeInstantiation, uLang::CExprSync, uLang::CExprRace, uLang::CExprRush, uLang::CExprBranch, uLang::CExprSpawn, uLang::CExprAwait, uLang::CExprUpon, uLang::CExprWhen, uLang::CExprLoop, uLang::CExprDefer, uLang::CExprBreak, uLang::CExprSnippet, uLang::CExprModuleDefinition, uLang::CExprEnumDefinition, uLang::CExprScopedAccessLevelDefinition, uLang::CExprInterfaceDefinition, uLang::CExprClassDefinition, uLang::CExprDataDefinition, uLang::CExprIterationPairDefinition, uLang::CIrArrayAdd, uLang::CIrMapAdd, uLang::CIrArrayUnsafeCall, uLang::CIrConvertToDynamic, uLang::CIrConvertFromDynamic, uLang::CIrFor, uLang::CIrForBody, uLang::CExprFunctionDefinition, uLang::CExprTypeAliasDefinition, uLang::CExprUsing, uLang::CExprProfileBlock, uLang::CExprImport, uLang::CExprWhere, uLang::CExprVar, uLang::CExprLive, uLang::CExprMakeNamed, uLang::CAstPackage, uLang::CAstCompilationUnit, uLang::CAstProject, uLang::CExprError, and uLang::CExprPlaceholder.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Iterates over this AST node's direct children, calling Visitor.Visit for each child.
Reimplemented in uLang::CExprCompoundBase, uLang::CExprBinaryOp, uLang::CExprIdentifierBase, uLang::CExprType, uLang::CExprFunctionLiteral, uLang::CExprDefinition, uLang::CExprInvocation, uLang::CExprTupleElement, uLang::CExprAssignment, uLang::CExprUnaryOp, uLang::CExprMakeRange, uLang::CExprInvokeType, uLang::CExprNewPointer, uLang::CExprReturn, uLang::CExprIf, uLang::CExprIteration, uLang::CExprUnaryTypeFormer, uLang::CExprMapTypeFormer, uLang::CExprTupleType, uLang::CExprArrow, uLang::CExprArchetypeInstantiation, uLang::CExprSubBlockBase, uLang::CExprSnippet, uLang::CExprModuleDefinition, uLang::CExprEnumDefinition, uLang::CExprScopedAccessLevelDefinition, uLang::CExprInterfaceDefinition, uLang::CExprClassDefinition, uLang::CIrArrayAdd, uLang::CIrMapAdd, uLang::CIrArrayUnsafeCall, uLang::CIrFor, uLang::CIrForBody, uLang::CExprUsing, uLang::CExprProfileBlock, uLang::CExprImport, uLang::CExprWhere, uLang::CExprMakeNamed, uLang::CAstPackage, uLang::CAstCompilationUnit, uLang::CAstProject, and uLang::CExprError.
| ULANG_FORCEINLINE void uLang::CAstNode::VisitChildrenLambda | ( | FunctionType && | Function | ) | const |
Wrapper for VisitChildren that takes a lambda that is called for each child. The signature for the lambda should be (const SAstVisitor& RecurseVisitor, CAstNode&) You can use RecurseVisitor to recursively call VisitChildren with the same lambda.
| void uLang::CAstNode::VisitChildrenLambda | ( | FunctionType && | Function | ) | const |
|
inlinevirtual |
Iterates over this AST node's immediate fields, calling Visitor.VisitImmediate for each immediate field.
Reimplemented in uLang::CExpressionBase, uLang::CExprLogic, uLang::CExprNumber, uLang::CExprChar, uLang::CExprString, uLang::CExprPath, uLang::CExprEnumLiteral, uLang::CExprIdentifierBuiltInMacro, uLang::CExprIdentifierUnresolved, uLang::CExprIdentifierData, uLang::CExprIdentifierTypeAlias, uLang::CExprIdentifierTypeVariable, uLang::CExprIdentifierFunction, uLang::CExprIdentifierOverloadedFunction, uLang::CExprInvocation, uLang::CExprTupleElement, uLang::CExprAssignment, uLang::CExprComparison, uLang::CExprInvokeType, uLang::CExprIf, uLang::CExprTypeFormer, uLang::CExprArchetypeInstantiation, uLang::CExprSnippet, uLang::CExprModuleDefinition, uLang::CExprEnumDefinition, uLang::CExprScopedAccessLevelDefinition, uLang::CExprInterfaceDefinition, uLang::CExprClassDefinition, uLang::CExprDataDefinition, uLang::CExprIterationPairDefinition, uLang::CIrFor, uLang::CIrForBody, uLang::CExprUsing, uLang::CExprProfileBlock, uLang::CExprImport, uLang::CExprMakeNamed, uLang::CAstPackage, and uLang::CAstProject.
|
friend |
|
mutableprotected |
|
mutableprotected |