summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python/python-wrapper.swig
diff options
context:
space:
mode:
authorLawrence D'Anna <lawrence_danna@apple.com>2019-10-27 14:30:56 -0700
committerLawrence D'Anna <lawrence_danna@apple.com>2019-10-27 16:01:46 -0700
commit40b0fa7ef2123866b2252ef6990040c2707cabe4 (patch)
treef065db0cdedbb14a78485f4f90cd59b0edd09871 /lldb/scripts/Python/python-wrapper.swig
parent418d1ea555cd18bef83b35c9ee9bbc18a3da9abe (diff)
downloadbcm5719-llvm-40b0fa7ef2123866b2252ef6990040c2707cabe4.tar.gz
bcm5719-llvm-40b0fa7ef2123866b2252ef6990040c2707cabe4.zip
[LLDB][formatters] ArgInfo::count -> ArgInfo::max_positional_args
Summary: Move breakpoints from the old, bad ArgInfo::count to the new, better ArgInfo::max_positional_args. Soon ArgInfo::count will be no more. This functionality is tested in `TestFormatters.py`, `TestDataFormatterSynthVal.py`, `TestDataFormatterSynthType.py`. You may notice that the old code was passing 0 arguments when count was 1, and passing 1 argument when count is 2. This is no longer necessary because max_positional_args counts the self pointer correctly. Reviewers: labath, jingham, JDevlieghere Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69469
Diffstat (limited to 'lldb/scripts/Python/python-wrapper.swig')
-rw-r--r--lldb/scripts/Python/python-wrapper.swig16
1 files changed, 11 insertions, 5 deletions
diff --git a/lldb/scripts/Python/python-wrapper.swig b/lldb/scripts/Python/python-wrapper.swig
index b7af3422193..5e9a2ba1367 100644
--- a/lldb/scripts/Python/python-wrapper.swig
+++ b/lldb/scripts/Python/python-wrapper.swig
@@ -495,11 +495,17 @@ LLDBSwigPython_CalculateNumChildren
if (!pfunc.IsAllocated())
return 0;
+ auto arg_info = pfunc.GetArgInfo();
+ if (!arg_info) {
+ llvm::consumeError(arg_info.takeError());
+ return 0;
+ }
+
PythonObject result;
- auto argc = pfunc.GetNumArguments();
- if (argc.count == 1)
+
+ if (arg_info.get().max_positional_args < 1)
result = pfunc();
- else if (argc.count == 2)
+ else
result = pfunc(PythonInteger(max));
if (!result.IsAllocated())
@@ -511,13 +517,13 @@ LLDBSwigPython_CalculateNumChildren
size_t ret_val = int_result.GetInteger();
- if (PyErr_Occurred())
+ if (PyErr_Occurred()) //FIXME use Expected to catch python exceptions
{
PyErr_Print();
PyErr_Clear();
}
- if (argc.count == 1)
+ if (arg_info.get().max_positional_args < 1)
ret_val = std::min(ret_val, static_cast<size_t>(max));
return ret_val;
OpenPOWER on IntegriCloud