[v2,04/10] gdb: gdbarch.py: remove Info.__init__

Message ID 20230225033047.373899-5-simon.marchi@polymtl.ca
State Committed
Commit fbbe9eb8b51e98d57cf243a109cfc57eb9bfbeeb
Headers
Series Add typing annotations to gdbarch*.py and make-target-delegates.py |

Commit Message

Simon Marchi Feb. 25, 2023, 3:30 a.m. UTC
  Info.__init__ currently assigns `self.predicate = None`.  This was
helpful to ensure that all component types had a `predicate` attribute.
The generator code could then avoid having code like "if the component
is anything but Info, use predicate".  Since the previous commit, all
component types have a predicate attribute which defaults to False.  We
can therefore remove the assignment in Info.__init__, and in turn remove
Info.__init__.  We however need to make the printer parameter of
_Component.__init__ optional, as Info don't need a printer.

Change-Id: I611edeca9cc9837eb49dddfe038595e1ff3b7239
---
 gdb/gdbarch.py | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
  

Patch

diff --git a/gdb/gdbarch.py b/gdb/gdbarch.py
index 63c3aee1dc0e..f97f39b6db0f 100755
--- a/gdb/gdbarch.py
+++ b/gdb/gdbarch.py
@@ -53,7 +53,7 @@  class _Component:
         self,
         name,
         type,
-        printer,
+        printer=None,
         comment=None,
         predicate=False,
         predefault=None,
@@ -97,11 +97,6 @@  class _Component:
 class Info(_Component):
     "An Info component is copied from the gdbarch_info."
 
-    def __init__(self, *, name, type, printer=None):
-        super().__init__(name=name, type=type, printer=printer)
-        # This little hack makes the generator a bit simpler.
-        self.predicate = None
-
 
 class Value(_Component):
     "A Value component is just a data member."