UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

21 lines (19 loc) 3.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Helper_1 = require("../../Helper"); class SetArrayIndexHelper extends Helper_1.Helper { emit(sb, node, optionsIn) { const options = sb.pushValueOptions(optionsIn); sb.emitOp(node, 'ROT'); sb.emitHelper(node, options, sb.helpers.unwrapArray); sb.emitPushInt(node, 3); sb.emitOp(node, 'XTUCK'); sb.emitPushInt(node, 2); sb.emitOp(node, 'PICK'); sb.emitOp(node, 'INC'); sb.emitHelper(node, options, sb.helpers.extendArr); sb.emitOp(node, 'SETITEM'); } } exports.SetArrayIndexHelper = SetArrayIndexHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNldEFycmF5SW5kZXhIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSx5Q0FBc0M7QUFJdEMsTUFBYSxtQkFBb0IsU0FBUSxlQUFNO0lBQ3RDLElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxTQUF1QjtRQUNuRSxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0MsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBdEJELGtEQXNCQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci90eXBlcy9hcnJheS9TZXRBcnJheUluZGV4SGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEhlbHBlciB9IGZyb20gJy4uLy4uL0hlbHBlcic7XG5cbi8vIElucHV0OiBbdmFsLCBpbmRleE51bWJlciwgYXJyYXlWYWxdXG4vLyBPdXRwdXQ6IFtdXG5leHBvcnQgY2xhc3MgU2V0QXJyYXlJbmRleEhlbHBlciBleHRlbmRzIEhlbHBlciB7XG4gIHB1YmxpYyBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBvcHRpb25zSW46IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBzYi5wdXNoVmFsdWVPcHRpb25zKG9wdGlvbnNJbik7XG4gICAgLy8gW2FycmF5VmFsLCB2YWwsIGluZGV4TnVtYmVyXVxuICAgIHNiLmVtaXRPcChub2RlLCAnUk9UJyk7XG4gICAgLy8gW2FyciwgdmFsLCBpbmRleE51bWJlcl1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMudW53cmFwQXJyYXkpO1xuICAgIC8vIFszLCBhcnIsIHZhbCwgaW5kZXhOdW1iZXJdXG4gICAgc2IuZW1pdFB1c2hJbnQobm9kZSwgMyk7XG4gICAgLy8gW2FyciwgdmFsLCBpbmRleE51bWJlciwgYXJyXVxuICAgIHNiLmVtaXRPcChub2RlLCAnWFRVQ0snKTtcbiAgICAvLyBbMiwgYXJyLCB2YWwsIGluZGV4TnVtYmVyLCBhcnJdXG4gICAgc2IuZW1pdFB1c2hJbnQobm9kZSwgMik7XG4gICAgLy8gW2luZGV4TnVtYmVyLCBhcnIsIHZhbCwgaW5kZXhOdW1iZXIsIGFycl1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ1BJQ0snKTtcbiAgICAvLyBbbnVtYmVyLCBhcnIsIHZhbCwgaW5kZXhOdW1iZXIsIGFycl1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ0lOQycpO1xuICAgIC8vIFt2YWwsIGluZGV4TnVtYmVyLCBhcnJdXG4gICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLmV4dGVuZEFycik7XG4gICAgLy8gW11cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ1NFVElURU0nKTtcbiAgfVxufVxuIl19