gh-129805: Fix bytes annotation in Tools/jit (#129806)

This commit is contained in:
sobolevn 2025-02-17 10:55:30 +03:00 committed by GitHub
parent cfe41037eb
commit 422f8e9e02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 5 deletions

View file

@ -141,7 +141,11 @@ class Hole:
def __post_init__(self) -> None: def __post_init__(self) -> None:
self.func = _PATCH_FUNCS[self.kind] self.func = _PATCH_FUNCS[self.kind]
def fold(self, other: typing.Self, body: bytes) -> typing.Self | None: def fold(
self,
other: typing.Self,
body: bytes | bytearray,
) -> typing.Self | None:
"""Combine two holes into a single hole, if possible.""" """Combine two holes into a single hole, if possible."""
instruction_a = int.from_bytes( instruction_a = int.from_bytes(
body[self.offset : self.offset + 4], byteorder=sys.byteorder body[self.offset : self.offset + 4], byteorder=sys.byteorder

View file

@ -97,7 +97,7 @@ class _Target(typing.Generic[_S, _R]):
raise NotImplementedError(type(self)) raise NotImplementedError(type(self))
def _handle_relocation( def _handle_relocation(
self, base: int, relocation: _R, raw: bytes self, base: int, relocation: _R, raw: bytes | bytearray
) -> _stencils.Hole: ) -> _stencils.Hole:
raise NotImplementedError(type(self)) raise NotImplementedError(type(self))
@ -257,7 +257,10 @@ class _COFF(
return _stencils.symbol_to_value(name) return _stencils.symbol_to_value(name)
def _handle_relocation( def _handle_relocation(
self, base: int, relocation: _schema.COFFRelocation, raw: bytes self,
base: int,
relocation: _schema.COFFRelocation,
raw: bytes | bytearray,
) -> _stencils.Hole: ) -> _stencils.Hole:
match relocation: match relocation:
case { case {
@ -348,7 +351,10 @@ class _ELF(
}, section_type }, section_type
def _handle_relocation( def _handle_relocation(
self, base: int, relocation: _schema.ELFRelocation, raw: bytes self,
base: int,
relocation: _schema.ELFRelocation,
raw: bytes | bytearray,
) -> _stencils.Hole: ) -> _stencils.Hole:
symbol: str | None symbol: str | None
match relocation: match relocation:
@ -424,7 +430,10 @@ class _MachO(
stencil.holes.append(hole) stencil.holes.append(hole)
def _handle_relocation( def _handle_relocation(
self, base: int, relocation: _schema.MachORelocation, raw: bytes self,
base: int,
relocation: _schema.MachORelocation,
raw: bytes | bytearray,
) -> _stencils.Hole: ) -> _stencils.Hole:
symbol: str | None symbol: str | None
match relocation: match relocation: