2015-05-22 8:53 GMT-03:00 Marcus Denker <marcus.den...@inria.fr>:

>
> https://pharo.fogbugz.com/f/cases/15516/add-suggestion-for-breakpoint
>
> this is of course completely untested… it works only when there is no
> unaccepted
> text in the editor and maybe only within Nautilus.
>
> And of course existing breakpoints are not yet in any form visualised in
> the editor.
>
>
> This is in 50041. Please use with care… still needs work to be really
> usable.
>
>
> I now finished to add everything from Clara’s original SmartBreakpoints
> project.
>
> There are still lots of things that need to be done
>
> -> Something goes wrong when re-adding a one-shot breakpoint again.
>

Yep, I'm aware of that bug, I couldn't figure out why it does it happen :/
At one point I got it work and randomly fail, so it was difficult to debug
:( If right now it fails consistently, I would like to take a look.


> -> Adding should be disabled when the editor has non-submitted code.
> -> The experience in the debugger is not that nice
>  (need to think about using the <debuggerCompleteToSender> trick and
>          explore the filtering capabilities of the debugger)
>

I'm aware of this one too. I did add a filter for the
Reflectivity/breakpoints contexts, but in my experience, the top most of
those contexts remained on the debugger stack (because we need it in case
we want to go back to that point after a lot of step into/out etc), making
it a little bit confusing... I mean, when I saw it, I put myself in the
place of the user, and could imagine him/her wondering wtf does that mean.
I agree we need to re-think it :/

>
> I am now continuing to flesh out the Reflectivity features:
>
> -> hook AST generation is now done by HookGenerator
> -> correct hooks are already generated for the case that a link passes
>     arguments to the meta object (see the RFReification hierarchy, for now
>     we have only #object *and* actual compiling does not yet work due to
> missing
>     semantic analysis of the AST snippets for the hooks)
> -> We have support for “virtual” meta objects. Any valid reification can
> be the metaObject
>     (this is fun for #node).
>
> TODO
> - add all reifications for all nodes (#arguments, #node, #context, #value
> #name, #arg1…)
> - do semantic analysis correctly and add test for links with arguments
> - add conditions with parameters (e.g. for object specific links: [:object
> | object == myObject])
> - handle primitives: when putting a link on a primitive method, wrap the
> compiledMethod instead
>   of AST manipulation.
> - ….
>
> I will continue to flesh it out and send examples to the list as these
> things start to work for real.
>
>
> Marcus
>
>

Reply via email to