[Pharo-project] Pavel can you check :)

Stéphane Ducasse stephane.ducasse at inria.fr
Sat Oct 23 06:39:00 EDT 2010


When I clicked on a package, it got downloaded to the package cache using the writeDefinitions: method

writeDefinitions: aCollection
	"initStream is an ugly hack until we have proper init defs"
	
	initializers := Dictionary new.

	(MCDependencySorter sortItems: aCollection)
		do: [:ea | ea accept: self]
		displayingProgress: 'Writing definitions...'.
	
	(Class superclassOrder: (initializers  keys collect: [:each | Smalltalk classOrTraitNamed: each])) do: [:class |
		stream nextPutAll: (initializers at: class name) contents ].


Now it is bugging because initializers keys could contain a class that is not in the image and then put nil in the set
The previous version of the method was:

writeDefinitions: aCollection
	"initStream is an ugly hack until we have proper init defs"
	initStream := String new writeStream.

	(MCDependencySorter sortItems: aCollection)
		do: [:ea | ea accept: self]
		displayingProgress: 'Writing definitions...'.
	
	stream nextPutAll: initStream contents.


- The previous version did not save initializers or may be different 

- Now the changes does not take into account classes that are not in the image.
And this one should still be saved
	








On Oct 23, 2010, at 12:22 PM, Stéphane Ducasse wrote:

> Apparently when we browse
> Compiler-eem.155 from the squeak trunk (ScriptLoader new addExtraRepositories)
> 
> we get a problem because there is a nil in the set.
> 
> Can you have a look?
> 
> Stef
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





More information about the Pharo-dev mailing list