Vixen
02b45cc4
csharp
public abstract class VxmlSyntaxNode

Base of every VXML node. Adds the two things the shared tree cannot supply: VXML's SyntaxKind and double dispatch over VXML's visitor.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The same split Raven makes, and for the same reason: a generated Accept body calls visitor.VisitElement(this), so its parameter has to be the language's own visitor type. SyntaxNode therefore declares no Accept and this class does.

Fields and properties (1)

  • public SyntaxKind Kind

    This node's kind. The shared tree stores it as RawKind.

Methods (2)

  • public abstract void Accept(SyntaxVisitor visitor)

    Dispatches to the visitor's method for this node's type.

  • public abstract TResult? Accept<TResult>(SyntaxVisitor<TResult> visitor)

    Dispatches to the visitor's method for this node's type, returning its result.

Used by (13)

  • AttributeSyntaxVixen.Ui.Markup
  • AttributeValueSyntaxVixen.Ui.Markup
  • DirectiveSyntaxVixen.Ui.Markup
  • DocumentSyntaxVixen.Ui.Markup
  • ElseClauseSyntaxVixen.Ui.Markup
  • EndTagSyntaxVixen.Ui.Markup
  • MarkupSyntaxVixen.Ui.Markup
  • ParserTestsVixen.Ui.Markup.Tests
  • StartTagSyntaxVixen.Ui.Markup
  • SwitchSectionSyntaxVixen.Ui.Markup
  • SyntaxVisitorVixen.Ui.Markup
  • SyntaxVisitorVixen.Ui.Markup
  • VxmlVixen.Ui.Markup.Tests