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? Cheers, Guille