@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
23 lines (21 loc) • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Helper_1 = require("../Helper");
class WrapHelper extends Helper_1.Helper {
constructor() {
super(...arguments);
this.length = 2;
}
emit(sb, node, options) {
if (!options.pushValue) {
sb.emitOp(node, 'DROP');
return;
}
sb.emitPushInt(node, this.type);
sb.emitPushInt(node, this.length);
sb.emitOp(node, 'PACK');
sb.emitOp(node, 'NEWSTRUCT');
}
}
exports.WrapHelper = WrapHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIldyYXBIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzQ0FBbUM7QUFJbkMsTUFBc0IsVUFBVyxTQUFRLGVBQU07SUFBL0M7O1FBQ3FCLFdBQU0sR0FBVyxDQUFDLENBQUM7SUFrQnhDLENBQUM7SUFmUSxJQUFJLENBQUMsRUFBaUIsRUFBRSxJQUFhLEVBQUUsT0FBcUI7UUFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFeEIsT0FBTztTQUNSO1FBR0QsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFuQkQsZ0NBbUJDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL1dyYXBIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vSGVscGVyJztcblxuLy8gSW5wdXQ6IFt2YWx1ZV1cbi8vIE91dHB1dDogW3ZhbF1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXcmFwSGVscGVyIGV4dGVuZHMgSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyID0gMjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IFR5cGVzO1xuXG4gIHB1YmxpYyBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBvcHRpb25zOiBWaXNpdE9wdGlvbnMpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbnMucHVzaFZhbHVlKSB7XG4gICAgICBzYi5lbWl0T3Aobm9kZSwgJ0RST1AnKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFt0eXBlLCB2YWx1ZV1cbiAgICBzYi5lbWl0UHVzaEludChub2RlLCB0aGlzLnR5cGUpO1xuICAgIC8vIFsyLCB0eXBlLCB2YWx1ZV1cbiAgICBzYi5lbWl0UHVzaEludChub2RlLCB0aGlzLmxlbmd0aCk7XG4gICAgLy8gW1t0eXBlLCB2YWx1ZV1dXG4gICAgc2IuZW1pdE9wKG5vZGUsICdQQUNLJyk7XG4gICAgc2IuZW1pdE9wKG5vZGUsICdORVdTVFJVQ1QnKTtcbiAgfVxufVxuIl19