@composita/symbols
Version:
Composita language symbols.
45 lines • 1.6 kB
TypeScript
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