MCPcopy Create free account
hub / github.com/e2wugui/zeze / skip_long

Method skip_long

python/zeze/buffer.py:754–787  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

752 # @formatter:on
753
754 def skip_long(self):
755 self.ensure_read(1)
756 ri = self.ri
757 self.ri = ri + 1
758 b = self.buf[ri]
759 h = b >> 3
760 # @formatter:off
761 if h < 0x10:
762 if h < 0x08: return
763 if h < 0x0c: self.skip(1); return
764 if h < 0x0e: self.skip(2); return
765 if h == 0x0e: self.skip(3); return
766 h = b & 7
767 if h < 4: self.skip(4); return
768 if h < 6: self.skip(5); return
769 if h == 6: self.skip(6); return
770 self.ensure_read(1)
771 self.ri = ri + 2
772 self.skip(6 + (self.buf[ri + 1] > 0x7f))
773 return
774 else:
775 b -= 0x100
776 if h >= 0x18: return
777 if h >= 0x14: self.skip(1); return
778 if h >= 0x12: self.skip(2); return
779 if h == 0x11: self.skip(3); return
780 h = b & 7
781 if h >= 4: self.skip(4); return
782 if h >= 2: self.skip(5); return
783 if h == 1: self.skip(6); return
784 self.ensure_read(1)
785 self.ri = ri + 2
786 self.skip(7 - (self.buf[ri + 1] > 0x7f))
787 # @formatter:on
788
789 def write_int(self, v):
790 self.write_long(v)

Callers 3

read_bean_tagMethod · 0.95
skip_unknown_fieldMethod · 0.95
check_skip_longMethod · 0.95

Calls 2

ensure_readMethod · 0.95
skipMethod · 0.95

Tested by 1

check_skip_longMethod · 0.76