aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-09-11 13:58:04 -0600
committerTom Tromey <tom@tromey.com>2021-09-23 15:11:00 -0600
commit809f3be12c0621cbf071c585da5638f6841c38b1 (patch)
treec0a9beeebaf38da9fb3a3e7447f4cb18a624479f /gdb/python
parent0086a91ceef5207463a10c875ed85c40eb066722 (diff)
downloadgdb-809f3be12c0621cbf071c585da5638f6841c38b1.zip
gdb-809f3be12c0621cbf071c585da5638f6841c38b1.tar.gz
gdb-809f3be12c0621cbf071c585da5638f6841c38b1.tar.bz2
Change pointer_type to a method of struct type
I noticed that pointer_type is declared in language.h and defined in language.c. However, it really has to do with types, so it should have been in gdbtypes.h all along. This patch changes it to be a method on struct type. And, I went through uses of TYPE_IS_REFERENCE and updated many spots to use the new method as well. (I didn't update ones that were in arch-specific code, as I couldn't readily test that.)
Diffstat (limited to 'gdb/python')
-rw-r--r--gdb/python/py-type.c2
-rw-r--r--gdb/python/py-value.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c
index d82bdf8..aa1553b 100644
--- a/gdb/python/py-type.c
+++ b/gdb/python/py-type.c
@@ -470,7 +470,7 @@ typy_get_composite (struct type *type)
GDB_PY_HANDLE_EXCEPTION (except);
}
- if (type->code () != TYPE_CODE_PTR && !TYPE_IS_REFERENCE (type))
+ if (!type->is_pointer_or_reference ())
break;
type = TYPE_TARGET_TYPE (type);
}
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
index 26d5940..d45df5f 100644
--- a/gdb/python/py-value.c
+++ b/gdb/python/py-value.c
@@ -400,7 +400,7 @@ valpy_get_dynamic_type (PyObject *self, void *closure)
type = value_type (val);
type = check_typedef (type);
- if (((type->code () == TYPE_CODE_PTR) || TYPE_IS_REFERENCE (type))
+ if (type->is_pointer_or_reference ()
&& (TYPE_TARGET_TYPE (type)->code () == TYPE_CODE_STRUCT))
{
struct value *target;
@@ -851,7 +851,7 @@ value_has_field (struct value *v, PyObject *field)
{
val_type = value_type (v);
val_type = check_typedef (val_type);
- if (TYPE_IS_REFERENCE (val_type) || val_type->code () == TYPE_CODE_PTR)
+ if (val_type->is_pointer_or_reference ())
val_type = check_typedef (TYPE_TARGET_TYPE (val_type));
type_code = val_type->code ();