@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
22 lines (20 loc) • 759 B
JavaScript
import { ScopeCapturingScriptBuilder } from './ScopeCapturingScriptBuilder';
export class HelperCapturingScriptBuilder extends 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);
}
}
//# sourceMappingURL=HelperCapturingScriptBuilder.js.map