UNPKG

@composita/symbols

Version:

Composita language symbols.

52 lines 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ImplementationSymbol = exports.BlockScopeSymbol = exports.NamedScopeSymbol = exports.ProgramScopeSymbol = exports.ScopedSymbol = exports.GlobalScopeSymbol = void 0; var GlobalScopeSymbolTag; (function (GlobalScopeSymbolTag) { GlobalScopeSymbolTag[GlobalScopeSymbolTag["Tag"] = 0] = "Tag"; })(GlobalScopeSymbolTag || (GlobalScopeSymbolTag = {})); class GlobalScopeSymbol { constructor() { this._globalScopeSymbolTag = GlobalScopeSymbolTag.Tag; } } exports.GlobalScopeSymbol = GlobalScopeSymbol; class ScopedSymbol { constructor(scope) { this.scope = scope; } } exports.ScopedSymbol = ScopedSymbol; class ProgramScopeSymbol extends ScopedSymbol { constructor(scope, name) { super(scope); this.name = name; } } exports.ProgramScopeSymbol = ProgramScopeSymbol; class NamedScopeSymbol extends ScopedSymbol { constructor(scope, identifier) { super(scope); this.identifier = identifier; } } exports.NamedScopeSymbol = NamedScopeSymbol; var BlockScopeSymbolTag; (function (BlockScopeSymbolTag) { BlockScopeSymbolTag[BlockScopeSymbolTag["Tag"] = 0] = "Tag"; })(BlockScopeSymbolTag || (BlockScopeSymbolTag = {})); class BlockScopeSymbol extends ScopedSymbol { constructor() { super(...arguments); this._blockScopeSymbolTag = BlockScopeSymbolTag.Tag; } } exports.BlockScopeSymbol = BlockScopeSymbol; class ImplementationSymbol extends ScopedSymbol { constructor(scope, interfaceSymbol) { super(scope); this.interfaceSymbol = interfaceSymbol; } } exports.ImplementationSymbol = ImplementationSymbol; //# sourceMappingURL=scope-symbols.js.map