Bug in PackageInfo?

Alexandre Bergel Alexandre.Bergel at cs.tcd.ie
Thu May 11 16:07:34 UTC 2006


>> 	p2 := PackageInfo named: 'MyStupidPackage2'.
>> 	p3 := PackageInfo named: 'MyStupidPackage2-test'.
>> 	self assert: (p2 == p3).
>>
>> It seems that (p2 == p3) should be true.
> How could two packages with a different name be equal, let alone be  
> identical?

That's the question. Should 'test' be a package category or should it  
refer to a new package ?
This is not clear when reading the code of PackageInfo. For instance,  
let's assume that p2 ~~ p3, then

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
	cls compile: 'foo ^ 10' classified: '*MyStupidPackage1'.
	cls compile: 'bar ^ self foo' classified: '*MyStupidPackage2'.
	cls compile: 'barbar ^ self foo' classified: '*MyStupidPackage2-test'.
	
	p1 := PackageInfo named: 'MyStupidPackage1'.
	p2 := PackageInfo named: 'MyStupidPackage2'.
	p3 := PackageInfo named: 'MyStupidPackage2-test'.

"DO NOT BREAK ANYMORE"
	self assert: (p2 ~~ p3).
		
	self assert: (self dummyPackage coreMethods asSet =  {(cls>>#zork)  
methodReference} asSet).
	self assert: ((p1 coreMethodsForClass: cls) asSet = {(cls>>#foo)  
methodReference} asSet).

"BREAK HERE"
	self assert: ((p2 coreMethodsForClass: cls) asSet =
				{(cls>>#bar) methodReference . (cls>>#barbar) methodReference}  
asSet).
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

if p2 and p3 are two distinct packages, then the core methods of p2  
should not be the one of p3...

Cheers,
Alexandre

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.cs.tcd.ie/Alexandre.Bergel
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






More information about the Squeak-dev mailing list