lawrence_danna marked an inline comment as done.
lawrence_danna added inline comments.


================
Comment at: lldb/include/lldb/API/SBDebugger.h:97-102
+  SBError SetInputFile(FileSP file);
+
+  SBError SetOutputFile(FileSP file);
+
+  SBError SetErrorFile(FileSP file);
+
----------------
lawrence_danna wrote:
> lawrence_danna wrote:
> > clayborg wrote:
> > > Are these really for public consumption? I would hope not, and might add 
> > > then as protected and friend in any code that needs to use them? At the 
> > > very least a comment specifying these are for internal use. Does SBFile 
> > > not have a way to construct with a FileSP? Maybe these are not needed if 
> > > that is the case?
> > They are //kind of// for public consumption.    They're impossible to use 
> > from a C++ client, because they can't see the definition of 
> > lldb_private::File.
> > 
> > But the SWIG wrappers can bind against them.     They will convert a native 
> > python file
> > into a FileSP.
> > 
> > That way SetInputFile works just like SetInputFileHandle works, except it 
> > doesn't have the bugs and limitations that SetInputFileHandle has.     
> > Normally you can just use the FileSP version, and not create a SBFile.    
> > But in some cases creating a SBFile manually is required, such as if you 
> > want to control how the file object is translated from python into C++.
> > 
> > 
> If I mad them protected, with a friend declaration, the friend would have to 
> be some name that is auto-generated by SWIG.
@clayborg, you can see the same thing happening with FileSP already in 
`SBFile.i`, and `SBCommandReturnObject.i`.    My plan is to convert all the 
`FILE*` interfaces in the swig files into `FileSP`, and ultimately delete the 
`FILE*` typemap.    From python's perspective then new bindings will work the 
same way as the old, and the `FILE*` methods will still be there for C++ 
clients.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68734/new/

https://reviews.llvm.org/D68734



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

Reply via email to