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
|