UNPKG

@composita/symbols

Version:

Composita language symbols.

32 lines 1.15 kB
import { ComponentSymbol, InterfaceSymbol } from './type-symbols'; export declare type ScopeSymbolType = ScopedSymbol | GlobalScopeSymbol; declare enum GlobalScopeSymbolTag { Tag = 0 } export declare class GlobalScopeSymbol { protected readonly _globalScopeSymbolTag: GlobalScopeSymbolTag; } export declare abstract class ScopedSymbol { readonly scope: ScopeSymbolType; constructor(scope: ScopeSymbolType); } export declare class ProgramScopeSymbol extends ScopedSymbol { readonly name: string; constructor(scope: GlobalScopeSymbol, name: string); } export declare abstract class NamedScopeSymbol extends ScopedSymbol { readonly identifier: string; constructor(scope: ScopeSymbolType, identifier: string); } declare enum BlockScopeSymbolTag { Tag = 0 } export declare class BlockScopeSymbol extends ScopedSymbol { protected _blockScopeSymbolTag: BlockScopeSymbolTag; } export declare class ImplementationSymbol extends ScopedSymbol { readonly interfaceSymbol: InterfaceSymbol; constructor(scope: ComponentSymbol, interfaceSymbol: InterfaceSymbol); } export {}; //# sourceMappingURL=scope-symbols.d.ts.map