Author: Dave Lee
Date: 2022-11-21T12:09:44-08:00
New Revision: a59ed8fa86036efe66efcaddd5cd3e1d17856563

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

LOG: [lldb] Fix SBFileSpec.fullpath

Reimplement `SBFileSpec.fullpath` to (indirectly) use `FileSpec::GetPath`.

Instead of hardcoding a `/` separator, use `GetPath`. This makes use of the
`FileSpec`'s internal style, which for example allows for backslash on Windows
where required.

It's not obvious from looking at the source, but the `fullpath` property is
implemented with `str`, which calls `GetDescription`, which finally calls
`GetPath`.

Differential Revision: https://reviews.llvm.org/D138348

Added: 
    

Modified: 
    lldb/bindings/interface/SBFileSpec.i

Removed: 
    


################################################################################
diff  --git a/lldb/bindings/interface/SBFileSpec.i 
b/lldb/bindings/interface/SBFileSpec.i
index b549321487ec2..e6f9bb81e2402 100644
--- a/lldb/bindings/interface/SBFileSpec.i
+++ b/lldb/bindings/interface/SBFileSpec.i
@@ -84,18 +84,7 @@ public:
 
 #ifdef SWIGPYTHON
     %pythoncode %{
-        def __get_fullpath__(self):
-            spec_dir = self.GetDirectory()
-            spec_file = self.GetFilename()
-            if spec_dir and spec_file:
-                return '%s/%s' % (spec_dir, spec_file)
-            elif spec_dir:
-                return spec_dir
-            elif spec_file:
-                return spec_file
-            return None
-
-        fullpath = property(__get_fullpath__, None, doc='''A read only 
property that returns the fullpath as a python string.''')
+        fullpath = property(str, None, doc='''A read only property that 
returns the fullpath as a python string.''')
         basename = property(GetFilename, None, doc='''A read only property 
that returns the path basename as a python string.''')
         dirname = property(GetDirectory, None, doc='''A read only property 
that returns the path directory name as a python string.''')
         exists = property(Exists, None, doc='''A read only property that 
returns a boolean value that indicates if the file exists.''')


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

Reply via email to