In This Article

DefaultAstNode Class

Represents an AST (abstract syntax tree) node implementation that has a string value and optional child nodes.

public class DefaultAstNode : IAstNode
Inheritance:
System.Object Object
Implements:
IAstNode

Constructors

DefaultAstNode()

public DefaultAstNode()

Properties

Children

Gets the list containing the child AST nodes of this AST node.

public IList<IAstNode> Children { get; }

Property Value

System.Collections.Generic.IList<IAstNode>:

The list containing the child AST nodes of this AST node.

EndOffset

Gets or sets the end offset of this AST node, if known.

public int? EndOffset { get; set; }

Property Value

System.Nullable<System.Int32>:

The end offset of this AST node, if known.

HasChildren

Gets whether the AST node contains any child AST nodes.

public bool HasChildren { get; }

Property Value

System.Boolean:

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

Id

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

public virtual int Id { get; }

Property Value

System.Int32:

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

Remarks

This class' default implementation always returns 0.

Length

Gets the character length of this AST node, if known.

public int Length { get; }

Property Value

System.Int32:

The character length of this AST node, if known.

Parent

Gets or sets the parent IAstNode of this AST node, if known.

public IAstNode Parent { get; set; }

Property Value

IAstNode:

The parent IAstNode of this AST node, if known.

StartOffset

Gets or sets the start offset of this AST node, if known.

public int? StartOffset { get; set; }

Property Value

System.Nullable<System.Int32>:

The start offset of this AST node, if known.

Value

Gets or sets the string-based value for the AST node.

public string Value { get; set; }

Property Value

System.String:

The string-based value for the AST node.

Methods

Contains(Int32)

Returns whether the AST node contains the specified offset.

public bool Contains(int offset)
Parameter Type Description
offset System.Int32

The offset to examine.

Returns

System.Boolean:

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(Int32)

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

public IAstNode FindChildNode(int offset)
Parameter Type Description
offset System.Int32

The offset to check.

Returns

IAstNode:

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

FindDescendantNode(Int32)

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

public IAstNode FindDescendantNode(int offset)
Parameter Type Description
offset System.Int32

The offset to check.

Returns

IAstNode:

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

ToString()

Returns a String that represents the current Object.

public override string ToString()

Returns

System.String:

A String that represents the current Object.

ToTreeString(Int32)

Outputs the contents of the AST node in tree form.

public string ToTreeString(int indentLevel)
Parameter Type Description
indentLevel System.Int32

The indentation level.

Returns

System.String:

A string containing the tree form of the AST node.

Inherited Members

  • System.Object.Equals(System.Object)
  • System.Object.Equals(System.Object, System.Object)
  • System.Object.ReferenceEquals(System.Object, System.Object)
  • System.Object.GetHashCode()
  • System.Object.GetType()
  • System.Object.MemberwiseClone()