From 20fa5d1fa1eba741a35d81f55fe7767e30267077 Mon Sep 17 00:00:00 2001 From: Franz Haas Date: Sun, 6 Oct 2024 11:37:51 +0200 Subject: [PATCH] - isolated change --- construct/core.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/construct/core.py b/construct/core.py index 8f5919f0..3e52e51f 100644 --- a/construct/core.py +++ b/construct/core.py @@ -5148,6 +5148,21 @@ def _parse(self, stream, context, path): def _build(self, obj, stream, context, path): return self.subcon._build(obj, stream, context, path) + def _emitparse(self, code): + aid = code.allocateId() + if len(self.pad) != 1: + raise NotImplementedError + code.append(f""" + def parse_nullstripped_{aid}(io): + from io import BytesIO + io = BytesIO(io.read().rstrip({repr(self.pad)})) + return {self.subcon._compileparse(code)} + """) + return f"parse_nullstripped_{aid}(io)" + + def _emitbuild(self, code): + return self.subcon._emitbuild(code) + def _sizeof(self, context, path): raise SizeofError(path=path)