SuccessChanges

Summary

  1. clean up the implementation of PythonCallable::GetNumArguments (details)
  2. eliminate one form of PythonObject::Reset() (details)
Commit c86a6acaee55c98072ff06d372d049cb4a671fb5 by lawrence_danna
clean up the implementation of PythonCallable::GetNumArguments
Summary: The current implementation of PythonCallable::GetNumArguments
is not exception safe, has weird semantics, and is just plain incorrect
for some kinds of functions.
Python 3.3 introduces inspect.signature, which lets us easily query for
function signatures in a sane and documented way.
This patch leaves the old implementation in place for < 3.3, but uses
inspect.signature for modern pythons.   It also leaves the old weird
semantics in place, but with FIXMEs grousing about it.   We should
update the callers and fix the semantics in a subsequent patch.    It
also adds some tests.
Reviewers: JDevlieghere, clayborg, labath, jingham
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68995
llvm-svn: 375181
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
The file was modifiedlldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Commit 03819d1c80ad5d7b34f8fe0d375fcd2ef6aa5e7f by lawrence_danna
eliminate one form of PythonObject::Reset()
Summary: I'd like to eliminate all forms of Reset() and all public
constructors on these objects, so the only way to make them is with
Take<> and Retain<> and the only way to copy or move them is with actual
c++ copy, move, or assignment.
This is a simple place to start.
Reviewers: JDevlieghere, clayborg, labath, jingham
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D69080
llvm-svn: 375182
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
The file was modifiedlldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp