Hey Guille, To debug AST-interpreter there is a specific AIContextInspector. What you can do is just to inspect in the debugger the latest AIContext created by the AST-interpreter and you should see the stack of AIContext in the inspector. It is not perfect but it helps a lot. There is also the AST-Debugger but it is just a prototype so you can hardly use it.
testEnsureTricky is the one that checks ensure nested in the on:do: works correctly. Basically it checks when you unwind the context up to the exception handler that you executes the ensure blocks code. It's kind of the trickiest one to fix :/. In the exception chapter of Deep into Pharo I added a section somewhere in Exception implementation about that, it might help you to read it. Take care, AST-interpreter tests might not be enough. You should check the console output of the AST-interpreter-regression build too. (here : https://ci.inria.fr/rmod/job/ast-interpreter-regression/89/console) But it is failing since some new updates in Pharo 3.0 ... Are you committing on the AST-interpreter repository or on Pharo directly ? I don't think there are but there might be some fixes already on the dev branch > Smalltalkhub user: dh83 project: ast-interpreter I would like to work on Opal test this afternoon but if you come to lille this week (not today because there is the strike) we can have a look together. For M4te I've also fixed some stuff in Hz on the m4te repo (basically compatibility with the new RB visitor API) it might be nice to commit it on your repo too. See you, 2013/5/14 Guillermo Polito <[email protected]> > Right now, in the image there exist two ways to annotate an AST: > - the Opal way > - the RB Way > > We should simplify that by having only one. So far, the only user of the > RB bindings is the ASTInterpreter + the RB tests. > > So, I prepared a slice and issue [1], with the following details > > - annotate ast using opal annotator > - extended OCBindings to read and write from an AST interpreter > - not yet made a difference between arg nodes with a different class (just > put an if) > - i didnt add inst vars into the opal bindings for the binding->node > relation as in RB, I send the node as a parameter > - I had to adapt the #compile: into ASTInterpreter because > - opal does not annotate other than method nodes > - undeclared variables raised warnings, not errors > > There is one problem yet, I have only one failing test: #testEnsureTricky. > I don't understand yet why it is failing and debugging it is pretty complex > :). So any help is welcome in reviewing the changes. > > Guille > > [1] > https://pharo.fogbugz.com/f/cases/10610/Make-ASTInterpreter-use-OC-Opal-bindings-instead-of-RB-bindings > -- Clément Béra Mate Virtual Machine Engineer Bâtiment B 40, avenue Halley 59650 *Villeneuve d'Ascq*
