UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

26 lines (24 loc) 870 B
import { Helper } from '../Helper'; export class CreateFunctionArrayHelper extends Helper { constructor({ body }) { super(); this.body = body; } emit(sb, node, options) { if (options.pushValue) { sb.scope.pushAll(sb, node, options); sb.emitHelper(node, options, sb.helpers.cloneArray); sb.emitOp(node, 'DUP'); sb.emitPushInt(node, 0); sb.emitOp(node, 'OVER'); sb.emitOp(node, 'OVER'); sb.emitOp(node, 'PICKITEM'); sb.emitHelper(node, options, sb.helpers.cloneArray); sb.emitOp(node, 'SETITEM'); sb.emitHelper(node, options, sb.helpers.function({ body: this.body })); sb.emitPushInt(node, 2); sb.emitOp(node, 'PACK'); } } } //# sourceMappingURL=CreateFunctionArrayHelper.js.map