Remove some Python 2 code
authorTom Tromey <tromey@adacore.com>
Tue, 13 Jun 2023 18:51:55 +0000 (12:51 -0600)
committerTom Tromey <tromey@adacore.com>
Wed, 28 Jun 2023 15:02:56 +0000 (09:02 -0600)
I found some Python 2 compatibility code in gdb's Python library.
There's no need for this any more, so this removes it.  There is still
a bit more of this remaining in __init__.py, but I haven't tried
removing that yet.

Reviewed-By: Bruno Larsen <blarsen@redhat.com>
gdb/python/lib/gdb/FrameIterator.py
gdb/python/lib/gdb/frames.py

index 190ec942814e4d3147068b3978d55d94e2bb769e..2cae7b59a0f063fbed2154976dc327b34aebbd63 100644 (file)
@@ -30,7 +30,7 @@ class FrameIterator(object):
     def __iter__(self):
         return self
 
-    def next(self):
+    def __next__(self):
         """next implementation.
 
         Returns:
@@ -41,9 +41,3 @@ class FrameIterator(object):
             raise StopIteration
         self.frame = result.older()
         return result
-
-    # Python 3.x requires __next__(self) while Python 2.x requires
-    # next(self).  Define next(self), and for Python 3.x create this
-    # wrapper.
-    def __next__(self):
-        return self.next()
index 5f8119c22a02ce03d680b15b54cb80e408047abe..0287a9bf3d3d2ce78fec81ab04c400fa35f8c735 100644 (file)
@@ -190,12 +190,8 @@ def execute_frame_filters(frame, frame_low, frame_high):
     frame_iterator = FrameIterator(frame)
 
     # Apply a basic frame decorator to all gdb.Frames.  This unifies
-    # the interface.  Python 3.x moved the itertools.imap
-    # functionality to map(), so check if it is available.
-    if hasattr(itertools, "imap"):
-        frame_iterator = itertools.imap(FrameDecorator, frame_iterator)
-    else:
-        frame_iterator = map(FrameDecorator, frame_iterator)
+    # the interface.
+    frame_iterator = map(FrameDecorator, frame_iterator)
 
     for ff in sorted_list:
         frame_iterator = ff.filter(frame_iterator)