antlr-ng
Version:
Next generation ANTLR Tool
21 lines (20 loc) • 898 B
TypeScript
import { type GrammarAST } from "../../tool/ast/GrammarAST.js";
import type { ICodeBlockForOuterMostAlt } from "../../types.js";
import { type IOutputModelFactory } from "../IOutputModelFactory.js";
import { OutputModelObject } from "./OutputModelObject.js";
export declare abstract class SrcOp extends OutputModelObject {
/**
* All operations know in which block they live:
*
* CodeBlock, CodeBlockForAlt
*
* Templates might need to know block nesting level or find a specific declaration, etc...
*/
private enclosingBlock?;
private enclosingRuleFunction?;
constructor(factory: IOutputModelFactory, ast?: GrammarAST);
/** Walk upwards in model tree, looking for outer alt's code block. */
getOuterMostAltCodeBlock(): ICodeBlockForOuterMostAlt | undefined;
/** Return label alt or return name of rule. */
getContextName(): string;
}