On Sat, Jun 4, 2011 at 12:28 PM, Lukas Renggli <renggli@gmail.com> wrote:
Did you look at TraitBehavior>>#initialize and Behavior>>#initialize? They both clear the method dictionary, reset superclass, clear users and traits, etc.
Thanks for the point. I can see now.
What you observe is what is implemented in these methods. Normally you should never call class-side initialize methods manually, the system does
yeah, the system *should* do it for me. I cannot reproduce it, but I find myself several times having to explicitly send class side #initialize becasue Monticello did not do it.
this for you if necessary.
Lukas
On 4 June 2011 12:04, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
why would it make sense to send initialize?
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
-- Lukas Renggli www.lukas-renggli.ch
-- Mariano http://marianopeck.wordpress.com