From 4c082a81dfebcca45e4ee8cb90490ab733b8e017 Mon Sep 17 00:00:00 2001 From: Siva Chandra Date: Sat, 25 Apr 2015 07:04:40 -0700 Subject: [Python] Add methods reference_value and const_value to gdb.Value. gdb/ChangeLog: * NEWS (Python Scripting): Mention the new gdb.Value methods. * python/py-value.c (valpy_reference_value): New function. (valpy_const_value): Likewise. (value_object_methods): Add new methods. * value.c (make_cv_value): New function. * value.h (make_cv_value): Declare. gdb/doc/ChangeLog: * python.texi (Values From Inferior): Add descriptions of new methods gdb.Value.reference_value and gdb.Value.const_value. gdb/testsuite/ChangeLog: * gdb.python/py-xmethods.cc: Enhance test case. * gdb.python/py-xmethods.exp: New tests. * gdb.python/py-xmethods.py (A_indexoper): New xmethod worker function. (B_indexoper): Likewise. (global_dm_list) : Add new xmethod worker functions. --- gdb/testsuite/gdb.python/py-xmethods.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'gdb/testsuite/gdb.python/py-xmethods.py') diff --git a/gdb/testsuite/gdb.python/py-xmethods.py b/gdb/testsuite/gdb.python/py-xmethods.py index 3a2f100..a32781a 100644 --- a/gdb/testsuite/gdb.python/py-xmethods.py +++ b/gdb/testsuite/gdb.python/py-xmethods.py @@ -43,6 +43,12 @@ def A_getarrayind(obj, index): print('From Python :') return obj['array'][index] +def A_indexoper(obj, index): + return obj['array'][index].reference_value() + +def B_indexoper(obj, index): + return obj['array'][index].const_value().reference_value() + type_A = gdb.parse_and_eval('(dop::A *) 0').type.target() type_B = gdb.parse_and_eval('(dop::B *) 0').type.target() @@ -213,6 +219,16 @@ global_dm_list = [ '^getarrayind$', A_getarrayind, type_int), + SimpleXMethodMatcher('A_indexoper', + '^dop::A$', + 'operator\\[\\]', + A_indexoper, + type_int), + SimpleXMethodMatcher('B_indexoper', + '^dop::B$', + 'operator\\[\\]', + B_indexoper, + type_int) ] for matcher in global_dm_list: -- cgit v1.1