Matthias Springer wrote:
> In st/Compiler-Interpreter.st:
>
> >  @@ -394,7 +390,10 @@ interpretVariableNode: aNode continue: aBlock
> >   		continue: aBlock
> >   		value: (aNode binding isInstanceVar
> >   			ifTrue: [ self context receiver instVarAt: aNode value ]
> >  -			ifFalse: [ self context localAt: aNode value ])
> >  +			ifFalse: [
> >  +				aNode binding isClassRefVar
> >  +					ifTrue: [ Smalltalk current at: aNode value ]
> >  +					ifFalse: [ self context localAt: aNode value ] ])
>
> Was it already wrong before? 
> |ASTInterpreter>>interpretClassReferenceNode:continue| did not check 
> for JS globals. What I need to emulate is 
> |JSStream>>nextPutClassRefFunction:|, right?

Yes.

I would first make sure that it really works wrong. Maybe it really was wrong all time, then some test is needed to check this (even if it would do something like <Foo589892552349="yes"> in setUp and delete it in tearDown)...

>
> —
> Reply to this email directly or view it on GitHu
b 
> <https://github.com/amber-smalltalk/amber/pull/652/files#r6111422>.
>