This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [PATCH 5/7] [python] API for macros: gdb.Objfile symtabs method.
- From: <Paul_Koning at Dell dot com>
- To: <ratmice at gmail dot com>, <pmuldoon at redhat dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Thu, 1 Sep 2011 19:56:00 -0500
- Subject: RE: [PATCH 5/7] [python] API for macros: gdb.Objfile symtabs method.
- References: <1314198654-9008-1-git-send-email-ratmice@gmail.com> <1314198654-9008-6-git-send-email-ratmice@gmail.com> <m3fwkjt5cp.fsf@redhat.com> <CACTLOFqW0YAY6P_29yTMV9rrKhtzCQ9LpSut1dgpCrQ9N1rD3Q@mail.gmail.com>
>> If there are no symtabs, why return an empty list? ?Would Py_None make
>> more sense here. ?And same rules apply to returning a Tuple, too, as
>> others.
>
>the main reason here to return an empty list is just because things like
>
>(gdb) py for i in None: print "foo"
>Traceback (most recent call last):
> File "<string>", line 1, in <module>
>TypeError: 'NoneType' object is not iterable Error while executing Python code.
There's a precedent: gdb.Type.fields() returns an empty list if the type doesn't have fields. I was wondering why that is, but your explanation gives the reason.
paul