/****************************************************************************** * This file was generated by langium-cli 3.3.0. * DO NOT EDIT MANUALLY! ******************************************************************************/ import type { AstNode, Reference, ReferenceInfo, TypeMetaData } from '../../syntax-tree.js'; import { AbstractAstReflection } from '../../syntax-tree.js'; export declare const LangiumGrammarTerminals: { ID: RegExp; STRING: RegExp; NUMBER: RegExp; RegexLiteral: RegExp; WS: RegExp; ML_COMMENT: RegExp; SL_COMMENT: RegExp; }; export type LangiumGrammarTerminalNames = keyof typeof LangiumGrammarTerminals; export type LangiumGrammarKeywordNames = "!" | "&" | "(" | ")" | "*" | "+" | "+=" | "," | "->" | "." | ".." | ":" | ";" | "<" | "=" | "=>" | ">" | "?" | "?!" | "?; } export declare const ArrayLiteral = "ArrayLiteral"; export declare function isArrayLiteral(item: unknown): item is ArrayLiteral; export interface ArrayType extends AstNode { readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType; readonly $type: 'ArrayType'; elementType: TypeDefinition; } export declare const ArrayType = "ArrayType"; export declare function isArrayType(item: unknown): item is ArrayType; export interface BooleanLiteral extends AstNode { readonly $container: ArrayLiteral | Conjunction | Disjunction | Group | NamedArgument | Negation | TypeAttribute; readonly $type: 'BooleanLiteral'; true: boolean; } export declare const BooleanLiteral = "BooleanLiteral"; export declare function isBooleanLiteral(item: unknown): item is BooleanLiteral; export interface Conjunction extends AstNode { readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation; readonly $type: 'Conjunction'; left: Condition; right: Condition; } export declare const Conjunction = "Conjunction"; export declare function isConjunction(item: unknown): item is Conjunction; export interface Disjunction extends AstNode { readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation; readonly $type: 'Disjunction'; left: Condition; right: Condition; } export declare const Disjunction = "Disjunction"; export declare function isDisjunction(item: unknown): item is Disjunction; export interface Grammar extends AstNode { readonly $type: 'Grammar'; definesHiddenTokens: boolean; hiddenTokens: Array>; imports: Array; interfaces: Array; isDeclared: boolean; name?: string; rules: Array; types: Array; usedGrammars: Array>; } export declare const Grammar = "Grammar"; export declare function isGrammar(item: unknown): item is Grammar; export interface GrammarImport extends AstNode { readonly $container: Grammar; readonly $type: 'GrammarImport'; path: string; } export declare const GrammarImport = "GrammarImport"; export declare function isGrammarImport(item: unknown): item is GrammarImport; export interface InferredType extends AstNode { readonly $container: Action | ParserRule; readonly $type: 'InferredType'; name: string; } export declare const InferredType = "InferredType"; export declare function isInferredType(item: unknown): item is InferredType; export interface Interface extends AstNode { readonly $container: Grammar; readonly $type: 'Interface'; attributes: Array; name: string; superTypes: Array>; } export declare const Interface = "Interface"; export declare function isInterface(item: unknown): item is Interface; export interface NamedArgument extends AstNode { readonly $container: RuleCall; readonly $type: 'NamedArgument'; calledByName: boolean; parameter?: Reference; value: Condition; } export declare const NamedArgument = "NamedArgument"; export declare function isNamedArgument(item: unknown): item is NamedArgument; export interface Negation extends AstNode { readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation; readonly $type: 'Negation'; value: Condition; } export declare const Negation = "Negation"; export declare function isNegation(item: unknown): item is Negation; export interface NumberLiteral extends AstNode { readonly $container: ArrayLiteral | TypeAttribute; readonly $type: 'NumberLiteral'; value: number; } export declare const NumberLiteral = "NumberLiteral"; export declare function isNumberLiteral(item: unknown): item is NumberLiteral; export interface Parameter extends AstNode { readonly $container: ParserRule; readonly $type: 'Parameter'; name: string; } export declare const Parameter = "Parameter"; export declare function isParameter(item: unknown): item is Parameter; export interface ParameterReference extends AstNode { readonly $container: Conjunction | Disjunction | Group | NamedArgument | Negation; readonly $type: 'ParameterReference'; parameter: Reference; } export declare const ParameterReference = "ParameterReference"; export declare function isParameterReference(item: unknown): item is ParameterReference; export interface ParserRule extends AstNode { readonly $container: Grammar; readonly $type: 'ParserRule'; dataType?: PrimitiveType; definesHiddenTokens: boolean; definition: AbstractElement; entry: boolean; fragment: boolean; hiddenTokens: Array>; inferredType?: InferredType; name: string; parameters: Array; returnType?: Reference; wildcard: boolean; } export declare const ParserRule = "ParserRule"; export declare function isParserRule(item: unknown): item is ParserRule; export interface ReferenceType extends AstNode { readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType; readonly $type: 'ReferenceType'; referenceType: TypeDefinition; } export declare const ReferenceType = "ReferenceType"; export declare function isReferenceType(item: unknown): item is ReferenceType; export interface ReturnType extends AstNode { readonly $container: TerminalRule; readonly $type: 'ReturnType'; name: PrimitiveType | string; } export declare const ReturnType = "ReturnType"; export declare function isReturnType(item: unknown): item is ReturnType; export interface SimpleType extends AstNode { readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType; readonly $type: 'SimpleType'; primitiveType?: PrimitiveType; stringType?: string; typeRef?: Reference; } export declare const SimpleType = "SimpleType"; export declare function isSimpleType(item: unknown): item is SimpleType; export interface StringLiteral extends AstNode { readonly $container: ArrayLiteral | TypeAttribute; readonly $type: 'StringLiteral'; value: string; } export declare const StringLiteral = "StringLiteral"; export declare function isStringLiteral(item: unknown): item is StringLiteral; export interface TerminalRule extends AstNode { readonly $container: Grammar; readonly $type: 'TerminalRule'; definition: AbstractElement; fragment: boolean; hidden: boolean; name: string; type?: ReturnType; } export declare const TerminalRule = "TerminalRule"; export declare function isTerminalRule(item: unknown): item is TerminalRule; export interface Type extends AstNode { readonly $container: Grammar; readonly $type: 'Type'; name: string; type: TypeDefinition; } export declare const Type = "Type"; export declare function isType(item: unknown): item is Type; export interface TypeAttribute extends AstNode { readonly $container: Interface; readonly $type: 'TypeAttribute'; defaultValue?: ValueLiteral; isOptional: boolean; name: FeatureName; type: TypeDefinition; } export declare const TypeAttribute = "TypeAttribute"; export declare function isTypeAttribute(item: unknown): item is TypeAttribute; export interface UnionType extends AstNode { readonly $container: ArrayType | ReferenceType | Type | TypeAttribute | UnionType; readonly $type: 'UnionType'; types: Array; } export declare const UnionType = "UnionType"; export declare function isUnionType(item: unknown): item is UnionType; export interface Action extends AbstractElement { readonly $type: 'Action'; feature?: FeatureName; inferredType?: InferredType; operator?: '+=' | '='; type?: Reference; } export declare const Action = "Action"; export declare function isAction(item: unknown): item is Action; export interface Alternatives extends AbstractElement { readonly $type: 'Alternatives'; elements: Array; } export declare const Alternatives = "Alternatives"; export declare function isAlternatives(item: unknown): item is Alternatives; export interface Assignment extends AbstractElement { readonly $type: 'Assignment'; feature: FeatureName; operator: '+=' | '=' | '?='; terminal: AbstractElement; } export declare const Assignment = "Assignment"; export declare function isAssignment(item: unknown): item is Assignment; export interface CharacterRange extends AbstractElement { readonly $type: 'CharacterRange'; left: Keyword; right?: Keyword; } export declare const CharacterRange = "CharacterRange"; export declare function isCharacterRange(item: unknown): item is CharacterRange; export interface CrossReference extends AbstractElement { readonly $type: 'CrossReference'; deprecatedSyntax: boolean; terminal?: AbstractElement; type: Reference; } export declare const CrossReference = "CrossReference"; export declare function isCrossReference(item: unknown): item is CrossReference; export interface EndOfFile extends AbstractElement { readonly $type: 'EndOfFile'; } export declare const EndOfFile = "EndOfFile"; export declare function isEndOfFile(item: unknown): item is EndOfFile; export interface Group extends AbstractElement { readonly $type: 'Group'; elements: Array; guardCondition?: Condition; } export declare const Group = "Group"; export declare function isGroup(item: unknown): item is Group; export interface Keyword extends AbstractElement { readonly $container: CharacterRange; readonly $type: 'Keyword'; value: string; } export declare const Keyword = "Keyword"; export declare function isKeyword(item: unknown): item is Keyword; export interface NegatedToken extends AbstractElement { readonly $type: 'NegatedToken'; terminal: AbstractElement; } export declare const NegatedToken = "NegatedToken"; export declare function isNegatedToken(item: unknown): item is NegatedToken; export interface RegexToken extends AbstractElement { readonly $type: 'RegexToken'; regex: string; } export declare const RegexToken = "RegexToken"; export declare function isRegexToken(item: unknown): item is RegexToken; export interface RuleCall extends AbstractElement { readonly $type: 'RuleCall'; arguments: Array; rule: Reference; } export declare const RuleCall = "RuleCall"; export declare function isRuleCall(item: unknown): item is RuleCall; export interface TerminalAlternatives extends AbstractElement { readonly $type: 'TerminalAlternatives'; elements: Array; } export declare const TerminalAlternatives = "TerminalAlternatives"; export declare function isTerminalAlternatives(item: unknown): item is TerminalAlternatives; export interface TerminalGroup extends AbstractElement { readonly $type: 'TerminalGroup'; elements: Array; } export declare const TerminalGroup = "TerminalGroup"; export declare function isTerminalGroup(item: unknown): item is TerminalGroup; export interface TerminalRuleCall extends AbstractElement { readonly $type: 'TerminalRuleCall'; rule: Reference; } export declare const TerminalRuleCall = "TerminalRuleCall"; export declare function isTerminalRuleCall(item: unknown): item is TerminalRuleCall; export interface UnorderedGroup extends AbstractElement { readonly $type: 'UnorderedGroup'; elements: Array; } export declare const UnorderedGroup = "UnorderedGroup"; export declare function isUnorderedGroup(item: unknown): item is UnorderedGroup; export interface UntilToken extends AbstractElement { readonly $type: 'UntilToken'; terminal: AbstractElement; } export declare const UntilToken = "UntilToken"; export declare function isUntilToken(item: unknown): item is UntilToken; export interface Wildcard extends AbstractElement { readonly $type: 'Wildcard'; } export declare const Wildcard = "Wildcard"; export declare function isWildcard(item: unknown): item is Wildcard; export type LangiumGrammarAstType = { AbstractElement: AbstractElement; AbstractRule: AbstractRule; AbstractType: AbstractType; Action: Action; Alternatives: Alternatives; ArrayLiteral: ArrayLiteral; ArrayType: ArrayType; Assignment: Assignment; BooleanLiteral: BooleanLiteral; CharacterRange: CharacterRange; Condition: Condition; Conjunction: Conjunction; CrossReference: CrossReference; Disjunction: Disjunction; EndOfFile: EndOfFile; Grammar: Grammar; GrammarImport: GrammarImport; Group: Group; InferredType: InferredType; Interface: Interface; Keyword: Keyword; NamedArgument: NamedArgument; NegatedToken: NegatedToken; Negation: Negation; NumberLiteral: NumberLiteral; Parameter: Parameter; ParameterReference: ParameterReference; ParserRule: ParserRule; ReferenceType: ReferenceType; RegexToken: RegexToken; ReturnType: ReturnType; RuleCall: RuleCall; SimpleType: SimpleType; StringLiteral: StringLiteral; TerminalAlternatives: TerminalAlternatives; TerminalGroup: TerminalGroup; TerminalRule: TerminalRule; TerminalRuleCall: TerminalRuleCall; Type: Type; TypeAttribute: TypeAttribute; TypeDefinition: TypeDefinition; UnionType: UnionType; UnorderedGroup: UnorderedGroup; UntilToken: UntilToken; ValueLiteral: ValueLiteral; Wildcard: Wildcard; }; export declare class LangiumGrammarAstReflection extends AbstractAstReflection { getAllTypes(): string[]; protected computeIsSubtype(subtype: string, supertype: string): boolean; getReferenceType(refInfo: ReferenceInfo): string; getTypeMetaData(type: string): TypeMetaData; } export declare const reflection: LangiumGrammarAstReflection; //# sourceMappingURL=ast.d.ts.map