@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
21 lines (19 loc) • 768 B
JavaScript
import { StructuredStorageSlots } from '../../constants';
import { Helper } from '../Helper';
export class GetArrayStorageLengthHelper extends Helper {
emit(sb, node, optionsIn) {
const options = sb.pushValueOptions(optionsIn);
sb.emitHelper(node, options, sb.helpers.unwrapArrayStorage);
sb.emitPushInt(node, StructuredStorageSlots.prefix);
sb.emitOp(node, 'PICKITEM');
sb.emitHelper(node, options, sb.helpers.getCommonStorage);
sb.emitHelper(node, options, sb.helpers.handleUndefinedStorage({
handleUndefined: () => {
sb.emitPushInt(node, 0);
},
handleDefined: () => {
},
}));
}
}
//# sourceMappingURL=GetArrayStorageLengthHelper.js.map