@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
26 lines (24 loc) • 978 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HelperCapturingScriptBuilder = void 0;
const ScopeCapturingScriptBuilder_1 = require("./ScopeCapturingScriptBuilder");
class HelperCapturingScriptBuilder extends ScopeCapturingScriptBuilder_1.ScopeCapturingScriptBuilder {
constructor() {
super(...arguments);
this.mutableCapturedHelpersSet = new Set();
this.mutableCapturedHelpers = [];
}
getHelpers() {
return [...this.mutableCapturedHelpers];
}
emitHelper(node, options, helper) {
if (!this.mutableCapturedHelpersSet.has(helper)) {
this.mutableCapturedHelpersSet.add(helper);
this.mutableCapturedHelpers.push(helper);
helper.emitGlobal(this, node, options);
}
helper.emit(this, node, options);
}
}
exports.HelperCapturingScriptBuilder = HelperCapturingScriptBuilder;
//# sourceMappingURL=HelperCapturingScriptBuilder.js.map