zturner added reviewers: labath, jasonmolenda.
zturner added inline comments.


================
Comment at: include/lldb/Host/Editline.h:187
+  /// Register a callback to retrieve the prompt.
+  void SetPromptCallback(PromptCallbackType callback, void *baton);
+  
----------------
I'd love to stop using the `baton` idiom if possible.  can you make this 
function take an `llvm::function_ref<StringRef (EditLine*)>` instead?  Then, in 
the class, store a `std::function<StringRef (EditLine*)>`.  When you call 
`SetPromptCallback`, write `SetPromptCallback([this](EditLine* L) { return  
this->PromptCallback(L); });`


================
Comment at: include/lldb/Interpreter/PromptInterpolation.h:27
+
+  std::string InterpolatePrompt(const std::string& prompt_format);
+private:
----------------
As it stands, the class doesn't really do much.  It's basically just one 
function, and the only purpose of the `m_debugger` member is to avoid having to 
pass the Debugger object as an argument to the function.  It seems this could 
just be turned into a free function.  And while we're at it, since that free 
function is only ever used inside of `IOHandler.cpp`, it can probably just be 
marked `static` and be a global function defined in that particular TU.


================
Comment at: source/Core/IOHandler.cpp:451
+
+const char* IOHandlerEditline::PromptCallback(Editline *editline, void *baton) 
{
+  IOHandlerEditline *editline_reader = (IOHandlerEditline *)baton;
----------------
This can return a `StringRef`


Repository:
  rL LLVM

https://reviews.llvm.org/D49963



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

Reply via email to