A node in the Abstract Syntax Tree (AST).

interface ParserRule {
    $container: Grammar;
    $containerIndex?: number;
    $containerProperty?: string;
    $cstNode?: CstNode;
    $document?: LangiumDocument<AstNode>;
    $type: "ParserRule";
    dataType?: GrammarAST.PrimitiveType;
    definesHiddenTokens: boolean;
    definition: GrammarAST.AbstractElement;
    entry: boolean;
    fragment: boolean;
    hiddenTokens: Reference<GrammarAST.AbstractRule>[];
    inferredType?: GrammarAST.InferredType;
    name: string;
    parameters: GrammarAST.Parameter[];
    returnType?: Reference<GrammarAST.AbstractType>;
    wildcard: boolean;
}

Hierarchy (view full)

Properties

$container: Grammar

The container node in the AST; every node except the root node has a container.

$containerIndex?: number

In case $containerProperty is an array, the array index is stored here.

$containerProperty?: string

The property of the $container node that contains this node. This is either a direct reference or an array.

$cstNode?: CstNode

The Concrete Syntax Tree (CST) node of the text range from which this node was parsed.

The document containing the AST; only the root node has a direct reference to the document.

$type: "ParserRule"

Every AST node has a type corresponding to what was specified in the grammar declaration.

definesHiddenTokens: boolean
entry: boolean
fragment: boolean
inferredType?: GrammarAST.InferredType
name: string
parameters: GrammarAST.Parameter[]
wildcard: boolean