UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CreateFunctionArrayHelper = void 0; const Helper_1 = require("../Helper"); class CreateFunctionArrayHelper extends Helper_1.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'); } } } exports.CreateFunctionArrayHelper = CreateFunctionArrayHelper; //# sourceMappingURL=CreateFunctionArrayHelper.js.map