Author: Jonas Devlieghere
Date: 2020-01-07T12:01:56-08:00
New Revision: 640d0ba8760051afc002c672121c6989517fc94e

URL: 
https://github.com/llvm/llvm-project/commit/640d0ba8760051afc002c672121c6989517fc94e
DIFF: 
https://github.com/llvm/llvm-project/commit/640d0ba8760051afc002c672121c6989517fc94e.diff

LOG: [lldb/Lua] Add string conversion operator for SBTarget.

Extend the SBTarget class with a string conversion operator and reuse
the same code between Python and Lua. This should happen for all the SB
classes, but I'm doing just this one as an example and for use in a test
case.

Added: 
    lldb/scripts/extensions.swig

Modified: 
    lldb/scripts/Python/python-extensions.swig
    lldb/scripts/lldb.swig
    lldb/scripts/lldb_lua.swig

Removed: 
    


################################################################################
diff  --git a/lldb/scripts/Python/python-extensions.swig 
b/lldb/scripts/Python/python-extensions.swig
index c10c32b44877..51b7e4779116 100644
--- a/lldb/scripts/Python/python-extensions.swig
+++ b/lldb/scripts/Python/python-extensions.swig
@@ -502,18 +502,6 @@
 }
 
 %extend lldb::SBTarget {
-        %nothreadallow;
-        PyObject *lldb::SBTarget::__str__ (){
-                lldb::SBStream description;
-                $self->GetDescription (description, 
lldb::eDescriptionLevelBrief);
-                const char *desc = description.GetData();
-                size_t desc_len = description.GetSize();
-                if (desc_len > 0 && (desc[desc_len-1] == '\n' || 
desc[desc_len-1] == '\r'))
-                    --desc_len;
-                return PythonString(llvm::StringRef(desc, desc_len)).release();
-        }
-        %clearnothreadallow;
-
     %pythoncode %{
         def __eq__(self, rhs):
             if not isinstance(rhs, type(self)):

diff  --git a/lldb/scripts/extensions.swig b/lldb/scripts/extensions.swig
new file mode 100644
index 000000000000..974d28b53399
--- /dev/null
+++ b/lldb/scripts/extensions.swig
@@ -0,0 +1,10 @@
+%extend lldb::SBTarget {
+  %nothreadallow;
+  const char *lldb::SBTarget::__str__ (){
+    lldb::SBStream description;
+    $self->GetDescription (description, lldb::eDescriptionLevelBrief);
+    return description.GetData();
+  }
+  %clearnothreadallow;
+}
+

diff  --git a/lldb/scripts/lldb.swig b/lldb/scripts/lldb.swig
index f030116b6cb8..0adfcc27d635 100644
--- a/lldb/scripts/lldb.swig
+++ b/lldb/scripts/lldb.swig
@@ -95,6 +95,7 @@ def lldb_iter(obj, getsize, getelem):
 
 %include "./Python/python-typemaps.swig"
 %include "./headers.swig"
+%include "./extensions.swig"
 
 %{
 #include "../source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h"

diff  --git a/lldb/scripts/lldb_lua.swig b/lldb/scripts/lldb_lua.swig
index 85edefff76f2..87f37397c858 100644
--- a/lldb/scripts/lldb_lua.swig
+++ b/lldb/scripts/lldb_lua.swig
@@ -9,6 +9,7 @@
 %module lldb
 
 %include "./headers.swig"
+%include "./extensions.swig"
 
 %{
 using namespace lldb_private;


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to