This looks good.  A couple of trivial things, 

1) You make a shared pointer to a ClangFunction:

std::shared_ptr<ClangFunction>& func...

We usually append "_sp" to shared pointers so you can tell that their lifespan 
is different from ordinary stack objects.

2) Also, when there are errors evaluating the function you return an empty 
SBValue.  But SBValues can have errors (returned with GetError, though only 
settable on the ValueObject side... Might be nice to set the error for the 
SBValue rather than just returning an empty one.

3) You have RemoveReusableFunction but it doesn't look like you protected 
against somebody removing a reusable function while somebody else was using it.

4) SBTypeMemberFunction::ExecuteFunction is explicitly ObjC only.  But the name 
doesn't express that (except that you call the parameter for the implicit 
object "self") and you don't enforce that self is an ObjC object anywhere.  Be 
good to make that clear.

Jim


> On Oct 13, 2014, at 6:05 AM, Carlo Kok <c...@remobjects.com> wrote:
> 
> 
> Oke got that figured out. Attached patch works perfectly and stores the 
> cached functions in the Target. I've managed to make the changes in existing 
> classes minimal by creating a ClangFunction subclass.
> 
> comments welcome.
> 
> -- 
> Carlo Kok
> RemObjects Software
> <lldb-execute-function-patch3.patch>_______________________________________________
> lldb-dev mailing list
> lldb-dev@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to