In This Article

IAstNode Interface

Provides the base requirements for an AST (abstract syntax tree) node.

public interface IAstNode

Properties

Children

The collection of child AST nodes.

IEnumerable<IAstNode> Children { get; }

Property Value

IEnumerable<IAstNode>

EndOffset

The end offset of this AST node, if known.

int? EndOffset { get; set; }

Property Value

int?

HasChildren

Indicates whether the AST node contains any child AST nodes.

bool HasChildren { get; }

Property Value

bool:

true if the AST node contains any child AST nodes; otherwise, false.

Id

An integer value that identifies the type of AST node, if known.

int Id { get; }

Property Value

int

Length

The character length of this AST node, if known.

int Length { get; }

Property Value

int

Parent

The parent IAstNode of this AST node, if known.

IAstNode? Parent { get; set; }

Property Value

IAstNode

StartOffset

The start offset of this AST node, if known.

int? StartOffset { get; set; }

Property Value

int?

Value

The string-based value for the AST node.

string? Value { get; set; }

Property Value

string

Methods

Contains(int)

Returns whether the AST node contains the specified offset.

bool Contains(int offset)
Parameter Type Description
offset int

The offset to examine.

Returns

bool:

true if the AST node contains the specified offset; otherwise, false.

Remarks

This method returns false if the offset falls on the EndOffset offset since this method indicates if the offset is encompassed by the AST node. This method also returns false if the AST node doesn't have known offsets.

FindChildNode(int)

Searches through the child nodes for a node that contains the specified offset.

IAstNode? FindChildNode(int offset)
Parameter Type Description
offset int

The offset to check.

Returns

IAstNode:

The child IAstNode that contains the specified offset, if any.

FindDescendantNode(int)

Recursively searches through the descendant nodes for a node that contains the specified offset.

IAstNode? FindDescendantNode(int offset)
Parameter Type Description
offset int

The offset to check.

Returns

IAstNode:

The descendant IAstNode that contains the specified offset, if any.

ToTreeString(int)

Outputs the contents of the AST node in tree form.

string ToTreeString(int indentLevel)
Parameter Type Description
indentLevel int

The indentation level.

Returns

string

Extension Methods