[squeak-dev] [BUG] LiteralVariableNode>>sizeCodeForStorePop:

Igor Stasenko siguctua at gmail.com
Thu May 20 09:16:27 UTC 2010


Open a browser, pick any class, and enter the code:

foo
	WorldState := nil

then accept it.
The compiler goes into an infinite recursion in
LiteralVariableNode>>sizeCodeForStorePop:.

sizeCodeForStorePop: encoder
	self reserve: encoder.
	^(key isVariableBinding and: [key isSpecialWriteBinding])
		ifTrue: [(self sizeCodeForStorePop: encoder) + encoder sizePop]
		ifFalse: [encoder sizeStorePopLiteralVar: index]


(Pharo 1.1 having no such problem - it accepts a code without any warnings.. )

AFAIK, it should either warn or throw an error that assignment is not
possible into read-only variable binding.

-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list