UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

31 lines (29 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ValueFor = void 0; const ts_utils_1 = require("@neo-one/ts-utils"); const BuiltinMemberCall_1 = require("../BuiltinMemberCall"); class ValueFor extends BuiltinMemberCall_1.BuiltinMemberCall { constructor(syscall, wrap) { super(); this.syscall = syscall; this.wrap = wrap; } emitCall(sb, _func, node, optionsIn) { if (ts_utils_1.tsUtils.argumented.getArguments(node).length < 1) { return; } const options = sb.pushValueOptions(optionsIn); sb.visit(ts_utils_1.tsUtils.argumented.getArguments(node)[0], options); if (optionsIn.pushValue) { sb.emitHelper(node, options, sb.helpers.unwrapBuffer); sb.emitSysCall(node, this.syscall); this.wrap(sb, node, options); } else { sb.emitOp(node, 'DROP'); } } } exports.ValueFor = ValueFor; //# sourceMappingURL=ValueFor.js.map