mib added inline comments.

================
Comment at: lldb/include/lldb/Utility/ProcessInfo.h:90-110
+  bool IsScriptedProcess() const {
+    return !m_scripted_process_class_name.empty();
+  }
+
+  std::string GetScriptedProcessClassName() const {
+    return m_scripted_process_class_name;
+  }
----------------
JDevlieghere wrote:
> mib wrote:
> > JDevlieghere wrote:
> > > What's the relationship between this an the `ScriptedMetadata`? It seems 
> > > like this is storing the same stuff. Also `IsScriptedProcess` is a pretty 
> > > blatant violation of the scripted process being a plugin... 
> > I think you have a misunderstanding here: This is addition is not made in a 
> > process plugin, but rather in the `ProcessInfo` class, the base class for 
> > `ProcessLaunchInfo` and `ProcessAttachInfo`, so I don't think this violates 
> > in any way the plugin architecture.
> > 
> > Regarding the relationship with `ScriptedMetadata`: I guess we could 
> > replace `m_scripted_process_class_name` & 
> > `m_scripted_process_dictionary_sp` by a `m_scripted_metadata` object, but I 
> > didn't want to process info hold scripted process specific stuff. I don't 
> > have a strong opinion against it, either.
> > I think you have a misunderstanding here: This is addition is not made in a 
> > process plugin, but rather in the ProcessInfo class, the base class for 
> > ProcessLaunchInfo and ProcessAttachInfo, so I don't think this violates in 
> > any way the plugin architecture.
> 
> I know, but I would argue that the distinction between those two is pretty 
> much irrelevant. That said, I do understand the need to pass this 
> information, especially as more things become more scriptable (process, 
> platform, etc). That's why I suggested using the `ScriptedMetadata` here 
> because it's more generic.
> 
> Concretely my suggestion would be to have `{Set,Get}ScriptedMetadata` and if 
> you think you really need it, maybe an `IsScripted` method that checks if the 
> metadata is set (either by storing an optional ScriptedMetadata in the 
> `ProcessInfo` or maybe through calling an `operator bool` on the 
> `ScriptedMetadata` (which would check the name being empty like you do here). 
> 
> > but I didn't want to process info hold scripted process specific stuff. 
> 
> I totally agree, as of now `ScriptedMetadata` contains the exact two fields 
> that you have here. If other patches are extending that for the scripted 
> processes or platforms, we could keep the common stuff in a base class and 
> have a ScriptedProcessMetadata and ScriptedPlatformMetadata respectively. 
> WDYT?
That sounds fair to me. Let's go with your suggestion.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D143104

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

Reply via email to