* python/py-symbol.c (sympy_get_type): New function.
(symbol_object_getset): Add "type".
doc/
* gdb.texinfo (Symbols In Python): Document symbol.type.
testsuite/
* gdb.python/py-symbol.exp: Add test for symbol.type.
+2011-08-12 Doug Evans <dje@google.com>
+
+ * NEWS: Mention new "type" attribute of python gdb.Symbol objects.
+ * python/py-symbol.c (sympy_get_type): New function.
+ (symbol_object_getset): Add "type".
+
2011-08-12 Pedro Alves <pedro@codesourcery.com>
PR tui/13073
'data-directory'/python/gdb/function are now automatically loaded
on GDB start-up.
+ ** Symbols now provide the "type" attribute, the type of the symbol.
+
* libthread-db-search-path now supports two special values: $sdir and $pdir.
$sdir specifies the default system locations of shared libraries.
$pdir specifies the directory where the libpthread used by the application
+2011-08-12 Doug Evans <dje@google.com>
+
+ * gdb.texinfo (Symbols In Python): Document symbol.type.
+
2011-08-09 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Python): Document command and function
A @code{gdb.Symbol} object has the following attributes:
@table @code
+@defivar Symbol type
+The type of the symbol or @code{None} if no type is recorded.
+This attribute is represented as a @code{gdb.Type} object.
+@xref{Types In Python}. This attribute is not writable.
+@end defivar
+
@defivar Symbol symtab
The symbol table in which the symbol appears. This attribute is
represented as a @code{gdb.Symtab} object. @xref{Symbol Tables In
return result;
}
+static PyObject *
+sympy_get_type (PyObject *self, void *closure)
+{
+ struct symbol *symbol = NULL;
+
+ SYMPY_REQUIRE_VALID (self, symbol);
+
+ if (SYMBOL_TYPE (symbol) == NULL)
+ {
+ Py_INCREF (Py_None);
+ return Py_None;
+ }
+
+ return type_to_type_object (SYMBOL_TYPE (symbol));
+}
+
static PyObject *
sympy_get_symtab (PyObject *self, void *closure)
{
\f
static PyGetSetDef symbol_object_getset[] = {
+ { "type", sympy_get_type, NULL,
+ "Type of the symbol.", NULL },
{ "symtab", sympy_get_symtab, NULL,
"Symbol table in which the symbol appears.", NULL },
{ "name", sympy_get_name, NULL,
+2011-08-12 Doug Evans <dje@google.com>
+
+ * gdb.python/py-symbol.exp: Add test for symbol.type.
+
2011-08-12 Ulrich Weigand <ulrich.weigand@linaro.org>
* gdb.threads/pthreads.exp: Enable on non-native configurations.
gdb_test "python print t\[0\].is_argument" "False" "Test t.is_argument"
gdb_test "python print t\[0\].is_function" "False" "Test t.is_function"
gdb_test "python print t\[0\].addr_class == gdb.SYMBOL_LOC_CONST" "True" "Test t.addr_class"
+
+# Test type attribute.
+gdb_test "python print t\[0\].type" "enum tag" "Get type"
+
+# Test symtab attribute.
gdb_test "python print t\[0\].symtab" "gdb.python/py-symbol.c.*" "Get symtab"
# C++ tests