On Mon, Apr 22, 2013 at 1:30 PM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Apr 22, 2013, at 1:23 PM, Guillermo Polito <guillermopolito@gmail.com> wrote:
Hi!
I'm taking a look at the AST annotation in
RBProgramNode>>annotateInClass: aBehavior self annotateInScope: (RBVariableScope owner: (RBLiteralScope owner: RBRootScope new class: aBehavior) class: aBehavior)
With that code, the order in which variables are annotated is
1) inst vars 2) literal vars (class vars, pools, globals in the environment) 3) the root scope -> pseudo-vars (self, super, thiscontext)
Shouldn't the order be different? Something like:
1) pseudo-vars (self, super, thiscontext) 2) inst vars 3) literal vars (class vars, pools, globals in the environment)
So there are never conflicts, and no other scope can bind pseudo-vars?
Hello,
For now Opal is not using the semantic analysis of AST-Semantics but instead it's own. (it is more low-level with escaping variables and things like that).
So the goal is to merge the two.
What I wanted to say: No idea. :-)
In Opal, self, super, thiscontex is in the Method Scope while self and super is in the Instance scope.
So the lookup is
temps + thisContext ivars + self + super literal vars
I want it :)
Marcus