@composita/symbols
Version:
Composita language symbols.
43 lines • 1.27 kB
JavaScript
var GlobalScopeSymbolTag;
(function (GlobalScopeSymbolTag) {
GlobalScopeSymbolTag[GlobalScopeSymbolTag["Tag"] = 0] = "Tag";
})(GlobalScopeSymbolTag || (GlobalScopeSymbolTag = {}));
export class GlobalScopeSymbol {
constructor() {
this._globalScopeSymbolTag = GlobalScopeSymbolTag.Tag;
}
}
export class ScopedSymbol {
constructor(scope) {
this.scope = scope;
}
}
export class ProgramScopeSymbol extends ScopedSymbol {
constructor(scope, name) {
super(scope);
this.name = name;
}
}
export class NamedScopeSymbol extends ScopedSymbol {
constructor(scope, identifier) {
super(scope);
this.identifier = identifier;
}
}
var BlockScopeSymbolTag;
(function (BlockScopeSymbolTag) {
BlockScopeSymbolTag[BlockScopeSymbolTag["Tag"] = 0] = "Tag";
})(BlockScopeSymbolTag || (BlockScopeSymbolTag = {}));
export class BlockScopeSymbol extends ScopedSymbol {
constructor() {
super(...arguments);
this._blockScopeSymbolTag = BlockScopeSymbolTag.Tag;
}
}
export class ImplementationSymbol extends ScopedSymbol {
constructor(scope, interfaceSymbol) {
super(scope);
this.interfaceSymbol = interfaceSymbol;
}
}
//# sourceMappingURL=scope-symbols.js.map