summaryrefslogtreecommitdiff
path: root/etc/emacs_lldb.py
diff options
context:
space:
mode:
authorGerd Möllmann <gerd@gnu.org>2022-08-22 11:18:30 +0200
committerGerd Möllmann <gerd@gnu.org>2022-08-22 11:18:30 +0200
commita680a9fc6475c079d45283580329cff39ef5ba9c (patch)
treedbd90b65e17fb6957ecd754961b0d5f17c73d833 /etc/emacs_lldb.py
parenta5e36575ae632e64721350cdc162ceb017361b5e (diff)
downloademacs-a680a9fc6475c079d45283580329cff39ef5ba9c.tar.gz
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.
Diffstat (limited to 'etc/emacs_lldb.py')
-rw-r--r--etc/emacs_lldb.py6
1 files changed, 4 insertions, 2 deletions
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