> On Mar 21, 2017, at 6:58 PM, Jim Ingham <jing...@apple.com> wrote:
> 
> There's no reason why you couldn't do a C REPL, so having the framework for 
> it in llvm.org seems reasonable.  Just the generic part is enough trickery it 
> is worth sharing.
> 
> I'm not sure why you care about the fact that Repl.h includes something from 
> Command, but if you do then probably the easiest way to sort that out is to 
> move REPL.h and REPL.cpp into Commands.  The REPL is really a modification of 
> the expr command anyway (you can access it at any time in a swift debug 
> session by "expr --repl -- " and the interactive REPL just does some setup 
> and runs lldb expressions in the repl mode.
> 
> So even though it is a feature of expressions, and the actual implementation 
> of the REPL is properly somewhere in the Swift tree, it would be equally 
> valid to consider the generic REPL code an extension of the 
> CommandObjectExpression, so living in Commands and #including 
> "CommandObjectExpression" seem reasonable.

Note you would still have to do some trickery because REPL.h can't live in 
source/Commands, so you would have to make REPL::SetCommandOptions take an 
opaque object and then cast it in the .cpp file where you can include 
CommandObjectExpression.h and figure out the real type.

Jim


> 
> Jim
> 
> 
> 
> 
> 
>> On Mar 21, 2017, at 6:37 PM, Jason Molenda via lldb-dev 
>> <lldb-dev@lists.llvm.org> wrote:
>> 
>> I don't follow REPL issues very closely but I think some people may have 
>> hopes of doing a repl in a language other than swift in the future which is 
>> why it was upstreamed to llvm.
>> 
>> J
>> 
>>> On Mar 21, 2017, at 6:34 PM, Zachary Turner <ztur...@google.com> wrote:
>>> 
>>> Thanks, I had a suspicion it might be used in Swift.  Given that swift 
>>> seems to be the only consumer, and there are no plans for support for any 
>>> other languages, would it be reasonable to say that it's a swift-specific 
>>> addition and could be in the swift repo?
>>> 
>>> If not, I will need to come up with a good way to get REPL.h to not 
>>> #include code from the source tree (and ideally, not #include code from 
>>> Commands at all).
>>> 
>>> On Tue, Mar 21, 2017 at 6:24 PM Jason Molenda <jmole...@apple.com> wrote:
>>> It's used in the swift lldb, https://github.com/apple/swift-lldb
>>> 
>>> The idea is to have any non-swift specific code in llvm.org; the github 
>>> repository for swift specific additions.
>>> 
>>> 
>>>> On Mar 21, 2017, at 6:19 PM, Zachary Turner via lldb-dev 
>>>> <lldb-dev@lists.llvm.org> wrote:
>>>> 
>>>> AFAICT this is all dead code.  Unless someone is using it out of tree?  
>>>> There is a way to register repl support for various languages, but no code 
>>>> in tree is actually doing this.  It's possible I'm just not finding the 
>>>> code though.
>>>> 
>>>> It appears this code was all added about 18 months ago, and if it hasn't 
>>>> found any use in that time frame, it would be great to remove it to reduce 
>>>> technical debt.
>>>> 
>>>> That said, if it's actually being used in tree somewhere and I'm just 
>>>> overlooking it, let me know.
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> lldb-dev@lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>> 
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev@lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> 

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

Reply via email to