On Sat, Jun 4, 2011 at 12:04 PM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:
why would it make sense to send initialize?

Because the system has fucking names.
PackageInfo >> classes
answers both, traits and classes.
I wanted to send #initialize to all classes of a package.
Of course, I did a workaround:

((PackageInfo named: 'XXX') classes select: [:each | each isBehavior ]) do: [:each | each initialize]

Funny, I reported exactly the same 1 year ago: http://forum.world.st/Bug-PackageInfo-classes-return-also-Traits-tp2165137p2165137.html
what a bad memory I have

Stef

On Jun 4, 2011, at 11:42 AM, Mariano Martinez Peck wrote:

> 1) Browse the example Trait1 �and you will see methods like:
> Trait1 >> c
>
> � � ^ 'Trait1>>c'
>
> and:
>
> Trait1 >> c1
>
> � � ^ 'Trait1>>c1'
>
>
> 2) Now, execute "Trait1 initialize"
> 3) BOOM. Trait1 has no longo any method. In the browse they are shown like:
>
> Trait1 >> c
> � � "This method does not exist."
> � � self halt.
>
> Trait2 >> c1
> � � "This method does not exist."
> � � self halt.
>
> ....
>
> If I see Trait >> initialize
> � � super initialize.
> � � classTrait := ClassTrait for: self
>
>
> and then ClassTrait for:
> � � "This method does not exist."
> � � self halt.
>
>
> wtf ?? � that method is removed? this even happens before doing Trait1 initialize.
>
> so...any idea?
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>





--
Mariano
http://marianopeck.wordpress.com