<div dir="ltr">So, with an ExecutionContext, everything is null if there's no target.  For example, I might not be attached to anything, but trying to list processes on the host in order to know what process to attach to.<br>
<div><br></div><div>How to cleanly support all of these use cases?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 3, 2014 at 11:14 AM,  <span dir="ltr"><<a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Again, the validator should take an execution context not an interpreter.  Some uses of commands, particularly HandleCommands used by breakpoint callbacks and the like, don't use the Command Interpreter's execution context, rather they are passed in the appropriate environment.<br>

<span class="HOEnZb"><font color="#888888"><br>
Jim<br>
</font></span><div class="im HOEnZb"><br>
> On Jul 3, 2014, at 2:24 AM, Zachary Turner <<a href="mailto:zturner@google.com">zturner@google.com</a>> wrote:<br>
><br>
</div><div class="HOEnZb"><div class="h5">> This patch implements the core logic to invalidate command options based on the interpreter state, and uses this to invalidate uid/gid related options of the "platform process list" command on Windows.<br>

><br>
> When an invalid option is specified for a command, an error message is printed that explains the reason that the option is invalid, and furthermore when the help of a command is printed, options which have runtime validity conditions display an abbreviated-condition string in square braces prior to the long description of the option.<br>

><br>
> <a href="http://reviews.llvm.org/D4373" target="_blank">http://reviews.llvm.org/D4373</a><br>
><br>
> Files:<br>
>  include/lldb/Host/OptionParser.h<br>
>  include/lldb/Interpreter/CommandInterpreter.h<br>
>  include/lldb/Interpreter/CommandOptionValidators.h<br>
>  include/lldb/Interpreter/Options.h<br>
>  include/lldb/Target/TargetList.h<br>
>  include/lldb/lldb-private-types.h<br>
>  source/Commands/CommandObjectPlatform.cpp<br>
>  source/Interpreter/Args.cpp<br>
>  source/Interpreter/CMakeLists.txt<br>
>  source/Interpreter/CommandOptionValidators.cpp<br>
>  source/Interpreter/Options.cpp<br>
</div></div><div class="HOEnZb"><div class="h5">> <D4373.11047.patch>_______________________________________________<br>
> lldb-commits mailing list<br>
> <a href="mailto:lldb-commits@cs.uiuc.edu">lldb-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits</a><br>
<br>
</div></div></blockquote></div><br></div>