UNPKG

@bitloops/bl-transpiler

Version:
33 lines 1.24 kB
"use strict"; // import { InferredTypes } from '../../../src/semantic-analysis/type-inference/ASTTypeInference.js'; // import { SymbolTable } from '../../../src/semantic-analysis/type-inference/SymbolTable.js'; Object.defineProperty(exports, "__esModule", { value: true }); exports.SymbolTableBuilder = void 0; const SymbolEntry_js_1 = require("../../../src/semantic-analysis/type-inference/SymbolEntry.js"); class SymbolTableBuilder { value = { locals: {} }; insert(name, symbolEntry) { this.value.locals[name] = symbolEntry; return this; } insertVariableSymbolEntry(name, type, isConst) { this.value.locals[name] = new SymbolEntry_js_1.VariableSymbolEntry(type, isConst); return this; } insertThisClassTypeSymbolEntry(type) { this.value.locals['this'] = new SymbolEntry_js_1.ClassTypeThisSymbolEntry(type); return this; } insertChildScope(name, child) { if (!this.value.children) { this.value.children = {}; } this.value.children[name] = child.build(); return this; } build() { return this.value; } } exports.SymbolTableBuilder = SymbolTableBuilder; //# sourceMappingURL=SymbolTableBuilder.js.map