UNPKG

@dbml/parse

Version:
77 lines (76 loc) 2.29 kB
import { default as SymbolTable } from './symbolTable'; import { SyntaxNode } from '../../parser/nodes'; export type NodeSymbolId = number; export declare class NodeSymbolIdGenerator { private id; reset(): void; nextId(): NodeSymbolId; } export interface NodeSymbol { id: NodeSymbolId; symbolTable?: SymbolTable; declaration?: SyntaxNode; references: SyntaxNode[]; } export declare class SchemaSymbol implements NodeSymbol { id: NodeSymbolId; symbolTable: SymbolTable; references: SyntaxNode[]; constructor({ symbolTable }: { symbolTable: SymbolTable; }, id: NodeSymbolId); } export declare class EnumSymbol implements NodeSymbol { id: NodeSymbolId; symbolTable: SymbolTable; declaration: SyntaxNode; references: SyntaxNode[]; constructor({ symbolTable, declaration }: { symbolTable: SymbolTable; declaration: SyntaxNode; }, id: NodeSymbolId); } export declare class EnumFieldSymbol implements NodeSymbol { id: NodeSymbolId; declaration: SyntaxNode; references: SyntaxNode[]; constructor({ declaration }: { declaration: SyntaxNode; }, id: NodeSymbolId); } export declare class TableSymbol implements NodeSymbol { id: NodeSymbolId; symbolTable: SymbolTable; declaration: SyntaxNode; references: SyntaxNode[]; constructor({ symbolTable, declaration }: { symbolTable: SymbolTable; declaration: SyntaxNode; }, id: NodeSymbolId); } export declare class ColumnSymbol implements NodeSymbol { id: NodeSymbolId; declaration: SyntaxNode; references: SyntaxNode[]; constructor({ declaration }: { declaration: SyntaxNode; }, id: NodeSymbolId); } export declare class TableGroupSymbol implements NodeSymbol { id: NodeSymbolId; symbolTable: SymbolTable; declaration: SyntaxNode; references: SyntaxNode[]; constructor({ symbolTable, declaration }: { symbolTable: SymbolTable; declaration: SyntaxNode; }, id: NodeSymbolId); } export declare class TableGroupFieldSymbol implements NodeSymbol { id: NodeSymbolId; declaration: SyntaxNode; references: SyntaxNode[]; constructor({ declaration }: { declaration: SyntaxNode; }, id: NodeSymbolId); }