Comment #2 on issue 3763 by [email protected]: assert failure during
Decompiler>>popIntoTemporaryVariable:
http://code.google.com/p/pharo/issues/detail?id=3763
I am running into this problem without having to load MetacelloBrowser ....
The infinite loop is started when printString is sent to the MethodContext
for the method MetacellMCVersionSpec resolveToLoadableSpecs:map: Here's the
source for the method:
resolveToLoadableSpecs: required map: packageMap
| reqd allReqd map |
reqd := required copy.
allReqd := Set new.
map := self packages map.
[ reqd isEmpty ] whileFalse: [ | newReqd |
newReqd := Set new.
reqd do: [:req |
(self resolveToLoadableSpec: req forMap: map packages:
packageMap)
do: [:loadableSpec |
newReqd addAll: loadableSpec requires.
newReqd addAll: loadableSpec includes
]].
allReqd addAll: reqd.
newReqd removeAllFoundIn: allReqd.
reqd := newReqd ].
packageMap keys do: [:pkgName | | spec |
(spec := (packageMap at: pkgName) resolveToLoadableSpec) == nil
ifTrue: [ packageMap removeKey: pkgName ]
ifFalse: [ packageMap at: pkgName put: (packageMap at: pkgName)
resolveToLoadableSpec ]]
This particular bug is shutting me down so I will see if I can recast this
method in a form that gets past method context printstring bug so I can
figure out the root cause...