Le 22 févr. 2013 à 22:56, Jim Ingham <[email protected]> a écrit :
> > On Feb 22, 2013, at 1:51 PM, Enrico Granata <[email protected]> wrote: > >> CallMethod is right for C++, but for ObjC it would be CallSelector. I don’t >> think ObjC even has the notion of method in its lexicon. > > Yeah, the ObjC guys are pretty sloppy about their nomenclature (is it a > method, is it a message...) And the selector defines the method, so I don't > think you'd really need two calls. > >> >> Also, dealing with the arguments is going to be tricky. >> Problems I can see at a glance: >> - how do you deal with each SBValue while making the string? expression >> path? numeric value + a cast? neither way looks perfect at a glance > > I don't think you would make up a string. You would implement this lower > down than that, where we are directly populating the "arguments structure" > that we are going to call, a la the Clang Functions. And by the time we get > there, we would have the method signature, so we'd know how to interpret the > SBValues from the input arguments. > >> - for ObjC you need to also extract the “names of the arguments” (i.e. >> foo:arg1 bar:arg2 baz:arg3), while in C++ (arg1,arg2,arg3) is enough > > Again, you would be consing up a call to objc_msgSend with the arguments > passed directly, so that would not be an issue. If you go that route, you will have to take care of all the special cases introduced by the ABI (i.e calling the right objc_msgSend variant depending the arguments type and the return type). -- Jean-Daniel _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
