antlr-ng
Version:
Next generation ANTLR Tool
39 lines (38 loc) • 1.68 kB
TypeScript
import { HashSet, OrderedHashSet } from "antlr4ng";
import type { IAttribute } from "../../../tool/IAttribute.js";
import { Rule } from "../../../tool/Rule.js";
import { IOutputModelFactory } from "../../IOutputModelFactory.js";
import { DispatchMethod } from "../DispatchMethod.js";
import { OutputModelObject } from "../OutputModelObject.js";
import { AttributeDecl } from "./AttributeDecl.js";
import { Decl } from "./Decl.js";
/**
* This object models the structure holding all of the parameters,
* return values, local variables, and labels associated with a rule.
*/
export declare class StructDecl extends Decl {
derivedFromName: string;
provideCopyFrom: boolean;
readonly tokenDecls: OrderedHashSet<Decl>;
readonly tokenTypeDecls: OrderedHashSet<Decl>;
readonly tokenListDecls: OrderedHashSet<Decl>;
readonly ruleContextDecls: OrderedHashSet<Decl>;
readonly ruleContextListDecls: OrderedHashSet<Decl>;
readonly attributeDecls: HashSet<Decl>;
protected readonly generateListener: boolean;
protected readonly generateVisitor: boolean;
dispatchMethods: DispatchMethod[];
attrs: OrderedHashSet<Decl>;
getters: OrderedHashSet<Decl>;
ctorAttrs: AttributeDecl[];
interfaces: OutputModelObject[];
extensionMembers: OutputModelObject[];
signatures: OrderedHashSet<Decl>;
constructor(factory: IOutputModelFactory, r: Rule, name?: string);
addDispatchMethods(r: Rule): void;
addDecl(a: Decl | IAttribute): void;
addDecls(attrList: IAttribute[]): void;
implementInterface(value: OutputModelObject): void;
addExtensionMember(member: OutputModelObject): void;
isEmpty(): boolean;
}