@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
25 lines (23 loc) • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../constants");
const Helper_1 = require("../Helper");
class GetCacheHelper extends Helper_1.Helper {
constructor() {
super(...arguments);
this.needsGlobal = true;
}
emitGlobal(sb, node, _options) {
sb.emitPushInt(node, constants_1.GlobalProperty.Cache);
sb.emitOp(node, 'NEWMAP');
sb.emitOp(node, 'SETITEM');
}
emit(sb, node, options) {
if (!options.pushValue) {
return;
}
sb.emitHelper(node, options, sb.helpers.getGlobalProperty({ property: constants_1.GlobalProperty.Cache }));
}
}
exports.GetCacheHelper = GetCacheHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkdldENhY2hlSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsK0NBQWlEO0FBR2pELHNDQUFtQztBQUluQyxNQUFhLGNBQWUsU0FBUSxlQUFNO0lBQTFDOztRQUNrQixnQkFBVyxHQUFHLElBQUksQ0FBQztJQW1CckMsQ0FBQztJQWpCUSxVQUFVLENBQUMsRUFBaUIsRUFBRSxJQUFhLEVBQUUsUUFBc0I7UUFFeEUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsMEJBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUxQixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUFDLEVBQWlCLEVBQUUsSUFBYSxFQUFFLE9BQXFCO1FBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBRXRCLE9BQU87U0FDUjtRQUVELEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FDRjtBQXBCRCx3Q0FvQkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvY2FjaGUvR2V0Q2FjaGVIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBHbG9iYWxQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vSGVscGVyJztcblxuLy8gSW5wdXQ6IFtdXG4vLyBPdXRwdXQ6IFttYXBdXG5leHBvcnQgY2xhc3MgR2V0Q2FjaGVIZWxwZXIgZXh0ZW5kcyBIZWxwZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgbmVlZHNHbG9iYWwgPSB0cnVlO1xuXG4gIHB1YmxpYyBlbWl0R2xvYmFsKHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBfb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgLy8gW251bWJlciwgZ2xvYmFsT2JqZWN0XVxuICAgIHNiLmVtaXRQdXNoSW50KG5vZGUsIEdsb2JhbFByb3BlcnR5LkNhY2hlKTtcbiAgICAvLyBbbWFwLCBudW1iZXIsIGdsb2JhbE9iamVjdF1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ05FV01BUCcpO1xuICAgIC8vIFtdXG4gICAgc2IuZW1pdE9wKG5vZGUsICdTRVRJVEVNJyk7XG4gIH1cblxuICBwdWJsaWMgZW1pdChzYjogU2NyaXB0QnVpbGRlciwgbm9kZTogdHMuTm9kZSwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKCFvcHRpb25zLnB1c2hWYWx1ZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gW21hcF1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMuZ2V0R2xvYmFsUHJvcGVydHkoeyBwcm9wZXJ0eTogR2xvYmFsUHJvcGVydHkuQ2FjaGUgfSkpO1xuICB9XG59XG4iXX0=