Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/uLang > API/Runtime/VerseCompiler/uLang/Syntax
Inheritance Hierarchy
- CSharedMix
- Node
- Assignment
- BinaryOp
- BinaryOpAddSub
- BinaryOpMulDivInfix
- BinaryOpArrow
- BinaryOpCompare
- BinaryOpLogicalAnd
- BinaryOpLogicalOr
- BinaryOpRange
- CAtom
- CharLiteral
- Comment
- FloatLiteral
- Identifier
- InterpolatedString
- IntLiteral
- Operator
- PathLiteral
- Placeholder
- StringLiteral
- Clause
- Commas
- Control
- Definition
- Escape
- FlowIf
- Lambda
- Macro
- Module
- Mutation
- Package
- Parens
- ParseError
- PrefixOpLogicalNot
- PrePostCall
- Project
- Snippet
- TypeSpec
- Where
References
| Module | VerseCompiler |
| Header | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Syntax/VstNode.h |
| Include | #include "uLang/Syntax/VstNode.h" |
Syntax
struct Node : public uLang::CSharedMix
Variables
| Type | Name | Description | |
|---|---|---|---|
| TSPtr< Clause > | _Aux | Auxiliary data such as attributes associated with this VstNode. | |
| NodeArray | _Children | ||
| const uLang::CAstNode * | _MappedAstNode | ||
| int32_t | _NumNewLinesAfter | ||
| int32_t | _NumNewLinesBefore | The number of trailing newlines that should follow this node. | |
| Node * | _Parent | VstNodes point at their parent. | |
| NodeArray | _PostComments | ||
| NodeArray | _PreComments | List of comment nodes that appear before or after this node | |
| uint8_t | _Tag | Describes the role of this node in the context of its parent. | |
| FTile * | _Tile | ||
| NodeType | _Type | Runtime type information about this node | |
| SLocus | _Whence | Text location from whence this node was parsed. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Node () |
|||
Destructors
| Type | Name | Description | |
|---|---|---|---|
~Node () |
Functions
| Type | Name | Description | |
|---|---|---|---|
| NodeArray & | |||
| Node * | AccessParent () |
||
| NodeArray & | |||
| NodeArray & | |||
| void | AddMapping
(
uLang::CAstNode* AstNode |
||
| void | |||
| void | |||
| void | AppendAuxAt
(
const TSRef< Node >& AuxChild, |
||
| const TSRef< Node > & | AppendChild
(
const TSRef< Node >& child |
||
| const TSRef< Node > & | AppendChildAt
(
const TSRef< Node >& child, |
||
| void | AppendChildInternal
(
const TSRef< Node >& child |
||
| void | AppendChildren
(
const uLang::TSRefArray< Node >& Children, |
||
| void | AppendChildren
(
const uLang::TArray< TSRef< Node > >& Children, |
||
| void | AppendPostfixComment
(
const TSRef< Node >& CommentNode |
||
| void | AppendPostfixComments
(
const NodeArray& CommentNodes |
||
| void | AppendPrefixComment
(
const TSRef< Node >& CommentNode |
||
| void | AppendPrefixComments
(
const NodeArray& CommentNodes |
||
| const TNodeType & | As () |
||
| TNodeType & | As () |
||
| TNodeType * | AsNullable () |
||
| const TNodeType * | AsNullable () |
||
| TSRef< Node > | AsShared () |
||
| SLocus | CombineLocii
(
const NodeArray& Nodes |
||
| void | CombineWhenceWith
(
const SLocus& Whence |
||
| bool | |||
| void | |||
| void | DropParent
(
const TSRef< Node >& Child |
Validates that the child being added to this node is currently orphaned. | |
| void | Empty () |
||
| void | |||
| const Node * | FindChildByPosition
(
const SPosition& TextPosition |
||
| const TSRef< Node > | FindChildClosestToPosition
(
const SPosition& TextPosition, |
||
| const Node * | FindOrphanedNode
(
const Node& InNode |
Checks for any nodes that have their parent set incorrectly within the hierarchy. | |
| int32_t | |||
| Node * | FindRoot () |
||
| const Snippet * | FindSnippet () |
||
| const Snippet * | FindSnippetByFilePath
(
const CUTF8StringView& FilePath |
||
| const Identifier * | GetAttributeIdentifier
(
const CUTF8StringView& AttributeName |
||
| const TSPtr< Clause > & | GetAux () |
||
| int | |||
| const NodeArray & | GetChildren () |
||
| const NodeInfo & | |||
| const ChType * | |||
| NodeType | |||
| int32_t | |||
| const uLang::CAstNode * | |||
| const Node * | GetParent () |
||
| const Type * | |||
| const NodeArray & | |||
| int32_t | |||
| const NodeArray & | |||
| TSPtr< Node > | |||
| TSRef< Node > | |||
| TSRef< Node > | |||
| const CUTF8String & | |||
| OpType | GetTag () |
||
| FTile * | GetTile () |
||
| bool | |||
| bool | |||
| bool | |||
| bool | HasParent () |
||
| bool | IsA () |
||
| bool | IsAttributePresent
(
const CUTF8StringView& AttributeName |
||
| bool | IsChildElementType
(
int32_t idx, |
||
| bool | IsElementType
(
NodeType InType |
||
| bool | IsEmpty () |
||
| bool | IsError () |
||
| ESupportsManyChildren | |||
| int32_t | |||
| int32_t | |||
| int32_t | |||
| void | PrependAux
(
const TSRef< Node >& AuxChild |
||
| void | PrependAux
(
const NodeArray& AuxChildren |
||
| void | PrependChildren
(
const uLang::TArray< TSRef< Node > >& Children, |
Prepend the given nodes to this node's child list in reverse order i.e. the last node in the given list will end up as the first child of this node. | |
| void | RemoveAux () |
||
| bool | RemoveFromParent
(
int32_t idx |
Supply an index if you have one. | |
| void | RemoveMapping
(
uLang::CAstNode* AstNode |
||
| void | ReplaceSelfWith
(
const TSRef< Node >& replacement |
||
| void | |||
| void | SetNewLineAfter
(
const bool bNewLineAfter |
||
| void | SetNumNewLinesAfter
(
const int32_t Num |
||
| void | SetNumNewLinesBefore
(
const int32_t Num |
||
| void | SetTag
(
OpType in_op |
||
| void | SetTile
(
FTile* Tile |
||
| void | |||
| TSRef< Node > | TakeChildAt
(
int32_t idx, |
||
| NodeArray | TakeChildren () |
||
| void | TransferChildren
(
const TSRef< Node >& From, |
||
| void | TransferChildren
(
const TSRef< Node >& From, |
||
| void | TransferPostfixComments
(
const TSRef< Node >& From, |
||
| void | TransferPrefixComments
(
const TSRef< Node >& From, |
||
| const Node * | TryGetFirstAttributeOfType
(
NodeType Type |
||
| const TNodeType * | |||
| void | WHY THIS DESIGN ? | ||
| const SLocus & | Whence () |
Typedefs
| Name | Description |
|---|---|
| NodeArray |