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