davide added a comment.

In https://reviews.llvm.org/D43048#1001293, @davide wrote:

> In https://reviews.llvm.org/D43048#1001287, @jingham wrote:
>
> > The current auto-completer tests aren't interactive - they do exactly the 
> > same thing your command does, but from Python.  It's fine if you want to 
> > add tests but please don't remove the current tests since they directly 
> > test what the SB clients use.
>
>
> This is a drop-in replacement for the other test. I'm not sure why we need to 
> keep the other test, but I'll let others comment.
>
> > This will only allow you to test some of the auto-completers, for instance 
> > you don't have symbols so you can't test the symbol completer.  But since 
> > the symbol commands in this lldb-test have some way to feed symbols in 
> > maybe you can crib that.  I think you'll also need to make a target and 
> > some other bits as well.  As you start adding these you might find that 
> > this becomes onerous, but that will be an interesting experiment.
>
> I voluntarily left that as as follow up.
>
> > You didn't get the HandleCompletion API quite right.  That's my fault this 
> > isn't well documented.  The way it works is that if all the potential 
> > matches share a common substring, then the 0th element of the result 
> > contains the common substring.  If there is no common substring, then the 
> > possible matches will be stored from element 1 on in the Results list.  If 
> > you want examples take a closer look at how the Python test does it.
>
> The API is a little confusing.
>  There are multiple issues IMHO:
>
> 1. We shouldn't really discriminate based on the position of the elements of 
> the list, as it's easy to get them wrong, as I did. Instead, the API might 
> return a, let's say, pair, where the first element is the common substring 
> and the second element is a list containing etc..
> 2. We pass strings for the second and third argument (cursor/end), when we 
> should just pass offsets
> 3. The return value is N and the list contains N +1 values. This is very 
> error prone.


Also, there's a bit of overengineering in the API. As far as I can tell, 
max_return_elements only supports `-1`, so that argument is bogus (at least, 
this is what the comment says, but comment and code could go out of sync, so).


https://reviews.llvm.org/D43048



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

Reply via email to