diff --git a/pwndbg/gdblib/__init__.py b/pwndbg/gdblib/__init__.py index 072d07398..6bf0eb009 100644 --- a/pwndbg/gdblib/__init__.py +++ b/pwndbg/gdblib/__init__.py @@ -1,10 +1,13 @@ # The `arch` module can be accessed with `from pwndbg.gdblib.arch import arch_mod`, # while `pwndbg.gdblib.arch` will represent the `Arch` object + from pwndbg.gdblib import arch as arch_mod from pwndbg.gdblib import config as config_mod from pwndbg.gdblib.arch import arch from pwndbg.gdblib.config import config +regs = None + __all__ = ["ctypes", "memory", "typeinfo"] @@ -25,7 +28,12 @@ def load_gdblib() -> None: import pwndbg.gdblib.kernel import pwndbg.gdblib.memory import pwndbg.gdblib.prompt - import pwndbg.gdblib.regs + import pwndbg.gdblib.regs as regs_mod import pwndbg.gdblib.symbol import pwndbg.gdblib.typeinfo import pwndbg.gdblib.vmmap + + # This is necessary so that mypy understands the actual type of the regs module + regs_: regs_mod.module = regs_mod + global regs + regs = regs_ diff --git a/pwndbg/gdblib/regs.py b/pwndbg/gdblib/regs.py index 3ca63f170..854de616e 100644 --- a/pwndbg/gdblib/regs.py +++ b/pwndbg/gdblib/regs.py @@ -230,7 +230,7 @@ sys.modules[__name__] = module(__name__, "") @pwndbg.gdblib.events.cont @pwndbg.gdblib.events.stop def update_last() -> None: - M = sys.modules[__name__] + M: module = sys.modules[__name__] M.previous = M.last M.last = {k: M[k] for k in M.common} if pwndbg.gdblib.config.show_retaddr_reg: diff --git a/pyproject.toml b/pyproject.toml index 30d506a48..cf74d86e3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,8 +20,6 @@ disable_error_code = [ "misc", # Lots of dynamic attribute access "attr-defined", - # Issues with indexing Module - "index", # https://github.com/python/mypy/issues/6232 "assignment", # Issues with @property