From: Gerd Möllmann Date: Mon, 22 Aug 2022 09:18:30 +0000 (+0200) Subject: LLDB support: handle unsorted enum member lists X-Git-Tag: emacs-29.0.90~1893^2~105 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a680a9fc6475c079d45283580329cff39ef5ba9c;p=emacs.git LLDB support: handle unsorted enum member lists * etc/emacs_lldb.py (enumerator_name): Handle the case that enum member list is not sorted by value. --- diff --git a/etc/emacs_lldb.py b/etc/emacs_lldb.py index 880a8353417..a2329e6ea4f 100644 --- a/etc/emacs_lldb.py +++ b/etc/emacs_lldb.py @@ -33,7 +33,10 @@ import lldb # Return the name of enumerator ENUM as a string. def enumerator_name(enum): enumerators = enum.GetType().GetEnumMembers() - return enumerators[enum.GetValueAsUnsigned()].GetName() + for enum_member in enumerators: + if enum.GetValueAsUnsigned() == enum_member.GetValueAsUnsigned(): + return enum_member.GetName() + return None # A class wrapping an SBValue for a Lisp_Object, providing convenience # functions. @@ -91,7 +94,6 @@ class Lisp_Object: self.unsigned = lisp_word.GetValueAsUnsigned() else: self.unsigned = self.lisp_obj.GetValueAsUnsigned() - pass # Initialize self.lisp_type to the C Lisp_Type enumerator of the # Lisp_Object, as a string. Initialize self.pvec_type likewise to