@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
19 lines (17 loc) • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const UnwrapHelper_1 = require("./UnwrapHelper");
class UnwrapCopyStructHelper extends UnwrapHelper_1.UnwrapHelper {
emit(sb, node, options) {
if (!options.pushValue) {
sb.emitOp(node, 'DROP');
return;
}
sb.emitPushInt(node, 1);
sb.emitOp(node, 'PICKITEM');
sb.emitOp(node, 'VALUES');
sb.emitOp(node, 'NEWSTRUCT');
}
}
exports.UnwrapCopyStructHelper = UnwrapCopyStructHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlVud3JhcENvcHlTdHJ1Y3RIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxpREFBOEM7QUFJOUMsTUFBc0Isc0JBQXVCLFNBQVEsMkJBQVk7SUFDeEQsSUFBSSxDQUFDLEVBQWlCLEVBQUUsSUFBYSxFQUFFLE9BQXFCO1FBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRXhCLE9BQU87U0FDUjtRQUdELEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTVCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTFCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQWpCRCx3REFpQkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvdHlwZXMvVW53cmFwQ29weVN0cnVjdEhlbHBlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBVbndyYXBIZWxwZXIgfSBmcm9tICcuL1Vud3JhcEhlbHBlcic7XG5cbi8vIElucHV0OiBbdmFsXVxuLy8gT3V0cHV0OiBbdmFsdWVdXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVW53cmFwQ29weVN0cnVjdEhlbHBlciBleHRlbmRzIFVud3JhcEhlbHBlciB7XG4gIHB1YmxpYyBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBvcHRpb25zOiBWaXNpdE9wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbnMucHVzaFZhbHVlKSB7XG4gICAgICBzYi5lbWl0T3Aobm9kZSwgJ0RST1AnKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFsxLCB2YWxdXG4gICAgc2IuZW1pdFB1c2hJbnQobm9kZSwgMSk7XG4gICAgLy8gW3ZhbHVlXVxuICAgIHNiLmVtaXRPcChub2RlLCAnUElDS0lURU0nKTtcbiAgICAvLyBbdmFsdWVdXG4gICAgc2IuZW1pdE9wKG5vZGUsICdWQUxVRVMnKTtcbiAgICAvLyBbdmFsdWVdXG4gICAgc2IuZW1pdE9wKG5vZGUsICdORVdTVFJVQ1QnKTtcbiAgfVxufVxuIl19