UNPKG

@composita/symbols

Version:

Composita language symbols.

45 lines 1.6 kB
import { ScopeSymbolType, NamedScopeSymbol } from './scope-symbols'; import { GenericSymbol } from './generic-symbols'; declare enum TypeSymbolTag { Tag = 0 } export declare abstract class TypeSymbol extends NamedScopeSymbol { protected readonly _typeSymbolTag: TypeSymbolTag; } declare enum BuiltInTypeSymbolTag { Tag = 0 } export declare class BuiltInTypeSymbol extends TypeSymbol { protected readonly _builtInTypeSymbol = BuiltInTypeSymbolTag.Tag; } declare enum InterfaceSymbolTag { Tag = 0 } export declare class InterfaceSymbol extends TypeSymbol { protected readonly _interfaceSymbolTag = InterfaceSymbolTag.Tag; } declare enum ComponentSymbolTag { Tag = 0 } export declare class ComponentSymbol extends TypeSymbol { private genericType; private markedEntry; protected readonly _componentSymbolTag = ComponentSymbolTag.Tag; constructor(scope: ScopeSymbolType, identifier: string, genericType: GenericSymbol, markedEntry: boolean); getGenericType(): GenericSymbol; isMarkedEntryPoint(): boolean; } declare enum GenericComponentSymbolTag { Tag = 0 } export declare class GenericComponentSymbol extends ComponentSymbol { protected readonly _genericComponentSymbolTag: GenericComponentSymbolTag; constructor(scope: ScopeSymbolType, genericType: GenericSymbol); } export declare class MessageSymbol extends TypeSymbol { private parameters; constructor(scope: ScopeSymbolType, identifier: string, parameters: Array<TypeSymbol>); getParameters(): Array<TypeSymbol>; } export {}; //# sourceMappingURL=type-symbols.d.ts.map