Navigation
API > API/Runtime > API/Runtime/VerseCompiler
This is used to differentiate between different types of AST nodes when it is only known that an instance is of type CAstNode, but not the specific subclass. It is returned by the method CAstNode::GetNodeType()
| Name | uLang::EAstNodeType |
| Type | enum |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/Expression.h |
| Include Path | #include "uLang/Semantics/Expression.h" |
Syntax
namespace uLang
{
enum EAstNodeType
{
VISIT_AST_NODE_TYPE,
Error_,
Placeholder_,
External,
PathPlusSymbol,
Literal_Logic,
Literal_Number,
Literal_Char,
Literal_String,
Literal_Path,
Literal_Enum,
Literal_Type,
Literal_Function,
Identifier_Unresolved,
Identifier_Class,
Identifier_Module,
Identifier_ModuleAlias,
Identifier_Enum,
Identifier_Interface,
Identifier_Data,
Identifier_TypeAlias,
Identifier_TypeVariable,
Identifier_Function,
Identifier_OverloadedFunction,
Identifier_Self,
Identifier_Local,
Identifier_BuiltInMacro,
Definition,
MacroCall,
Invoke_Invocation,
Invoke_UnaryArithmetic,
Invoke_BinaryArithmetic,
Invoke_ShortCircuitAnd,
Invoke_ShortCircuitOr,
Invoke_LogicalNot,
Invoke_Comparison,
Invoke_QueryValue,
Invoke_MakeOption,
Invoke_MakeArray,
Invoke_MakeMap,
Invoke_MakeTuple,
Invoke_TupleElement,
Invoke_MakeRange,
Invoke_Type,
Invoke_PointerToReference,
Invoke_Set,
Invoke_NewPointer,
Invoke_ReferenceToValue,
Assignment,
Invoke_ArrayFormer,
Invoke_GeneratorFormer,
Invoke_MapFormer,
Invoke_OptionFormer,
Invoke_Subtype,
Invoke_TupleType,
Invoke_Arrow,
Invoke_ArchetypeInstantiation,
Flow_CodeBlock,
Flow_Let,
Flow_Defer,
Flow_If,
Flow_Iteration,
Flow_Loop,
Flow_Break,
Flow_Return,
Flow_ProfileBlock,
Ir_For,
Ir_ForBody,
Ir_ArrayAdd,
Ir_MapAdd,
Ir_ArrayUnsafeCall,
Ir_ConvertToDynamic,
Ir_ConvertFromDynamic,
Concurrent_Sync,
Concurrent_Rush,
Concurrent_Race,
Concurrent_SyncIterated,
Concurrent_RushIterated,
Concurrent_RaceIterated,
Concurrent_Branch,
Concurrent_Spawn,
Concurrent_Await,
Concurrent_Upon,
Concurrent_When,
Definition_Module,
Definition_Enum,
Definition_Interface,
Definition_Class,
Definition_Data,
Definition_IterationPair,
Definition_Function,
Definition_TypeAlias,
Definition_Using,
Definition_Import,
Definition_Where,
Definition_Var,
Definition_Live,
Definition_ScopedAccessLevel,
Invoke_MakeNamed,
Context_Project,
Context_CompilationUnit,
Context_Package,
Context_Snippet,
}
}
Values
| Name | Remarks |
|---|---|
| VISIT_AST_NODE_TYPE | |
| Error_ | Helper expressions |
| Placeholder_ | |
| External | |
| PathPlusSymbol | |
| Literal_Logic | Literals |
| Literal_Number | |
| Literal_Char | Or Float literal - 42.0, 0.0, -123.0, 123_456.0, 3.14159, .5, -.33, 4.2e1, -1e6, 7.5e-8 |
| Literal_String | |
| Literal_Path | |
| Literal_Enum | |
| Literal_Type | |
| Literal_Function | |
| Identifier_Unresolved | Identifiers |
| Identifier_Class | |
| Identifier_Module | |
| Identifier_ModuleAlias | |
| Identifier_Enum | |
| Identifier_Interface | |
| Identifier_Data | |
| Identifier_TypeAlias | |
| Identifier_TypeVariable | |
| Identifier_Function | |
| Identifier_OverloadedFunction | |
| Identifier_Self | |
| Identifier_Local | |
| Identifier_BuiltInMacro | |
| Definition | Multi purpose syntax |
| MacroCall | Macro |
| Invoke_Invocation | Invocations |
| Invoke_UnaryArithmetic | |
| Invoke_BinaryArithmetic | |
| Invoke_ShortCircuitAnd | |
| Invoke_ShortCircuitOr | |
| Invoke_LogicalNot | |
| Invoke_Comparison | |
| Invoke_QueryValue | |
| Invoke_MakeOption | |
| Invoke_MakeArray | |
| Invoke_MakeMap | |
| Invoke_MakeTuple | |
| Invoke_TupleElement | |
| Invoke_MakeRange | |
| Invoke_Type | |
| Invoke_PointerToReference | |
| Invoke_Set | |
| Invoke_NewPointer | |
| Invoke_ReferenceToValue | |
| Assignment | |
| Invoke_ArrayFormer | TypeFormers |
| Invoke_GeneratorFormer | |
| Invoke_MapFormer | |
| Invoke_OptionFormer | |
| Invoke_Subtype | |
| Invoke_TupleType | |
| Invoke_Arrow | |
| Invoke_ArchetypeInstantiation | |
| Flow_CodeBlock | Flow Control |
| Flow_Let | |
| Flow_Defer | |
| Flow_If | |
| Flow_Iteration | |
| Flow_Loop | |
| Flow_Break | |
| Flow_Return | |
| Flow_ProfileBlock | |
| Ir_For | |
| Ir_ForBody | |
| Ir_ArrayAdd | |
| Ir_MapAdd | |
| Ir_ArrayUnsafeCall | |
| Ir_ConvertToDynamic | |
| Ir_ConvertFromDynamic | |
| Concurrent_Sync | Concurrency Primitives |
| Concurrent_Rush | |
| Concurrent_Race | |
| Concurrent_SyncIterated | |
| Concurrent_RushIterated | |
| Concurrent_RaceIterated | |
| Concurrent_Branch | |
| Concurrent_Spawn | |
| Concurrent_Await | |
| Concurrent_Upon | |
| Concurrent_When | |
| Definition_Module | Definitions |
| Definition_Enum | |
| Definition_Interface | |
| Definition_Class | |
| Definition_Data | |
| Definition_IterationPair | |
| Definition_Function | |
| Definition_TypeAlias | |
| Definition_Using | |
| Definition_Import | |
| Definition_Where | |
| Definition_Var | |
| Definition_Live | |
| Definition_ScopedAccessLevel | |
| Invoke_MakeNamed | |
| Context_Project | Containing Context - may contain expressions though they aren't expressions themselves |
| Context_CompilationUnit | |
| Context_Package | |
| Context_Snippet |