[Pharo-project] UndefinedObject(Object)>>doesNotUnderstand: #findNextHandlerContextStarting

Marcus Denker marcus.denker at inria.fr
Fri Apr 29 23:31:40 CEST 2011


On Apr 29, 2011, at 11:23 PM, Mariano Martinez Peck wrote:

> 
> >
> > So I added the DebuggerMethodMap intialize (reset the cache) to Smalltalk cleanUp.
> >
> >
> > Thanks Marcus. I don't see this commit. Did you commit it?  or we lost it with the squeaksource down ?
> >
> This was part of the cleanUp improvements... some time ago.
> 
> see DebuggerMethodMap>>#cleanUp
> 
> 
> ok...after looking for a while, it is never called when you do
> Smalltalk cleanUp: true except: #() confirming: false.
> 
> I think it is because such method does:
> 
> "Find all classes implementing #cleanUp or cleanUp:"
>     classes := Smalltalk allClasses select: [:aClass| 
>         (aClass class includesSelector: #cleanUp) 
>             or: [aClass class includesSelector: #cleanUp:]].
> 
> it checks for both messages, #cleanUp: or #cleanUp
> 
> But then, it does:
> 
> "Run the cleanup code"
>     classes 
>         do:[:aClass| aClass cleanUp: aggressive]
>         displayingProgress: [:aClass| 'Cleaning up in ', aClass name].
> 
> 
> In your case, DebuggerMethodMap only implements #cleanUp, hence it is never called.
> 

But there is in Behavior:

cleanUp: aggressive
	"Clean out any caches and other state that should be flushed when trying to get an image into a pristine state. The argument should be used to indicate how aggressive the cleanup should be. Some subclasses may act differently depending on its value - for example, ChangeSet will only delete all unused and reinitialize the current change set if we're asking it to be aggressive."

	^self cleanUp

So it calls cleanUp even when you do Smalltlak cleanUp: true.

Now I wonder if we should remove the displayingProgress and do the call to #cleanUp (the non-agressive one) on image save....


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.




More information about the Pharo-project mailing list