Guillermo

do you have a test because we should really cover the classBuilder with such 
scenario?

Stef
On 17 Dec 2013, at 16:59, Guillermo Polito <[email protected]> wrote:

> Hi!!
> 
> I started this afternoon to see a bug on class bindings on trait methods. 
> This one: 
> https://pharo.fogbugz.com/f/cases/11756/Reshaping-a-class-breaks-classBinding-identity
> 
> Now, after playing and moving around that, I noticed that the problem is 
> worse:
> 
> 1)Create Class A.
> 2)Create method A>>m1.
> 3)Create method A>>m2.
> 4)reshape the class (e.g. add an inst var)
> 
> Then: (A>>#m2) classBinding == (A>>#m3) classBinding ==> false!!!
> 
> 
> The problem is caused because the recompilation of the methods is taking 
> place in a class that is not yet installed in its environment (the Smalltalk 
> system dictionary in this case). The installation of the class takes part 
> after the reshaping+the recompilation. Then, when the methods are compiled, 
> the binding is not available for them and new bindings are created.
> 
> Would someone with more idea on the new class builder give some advice? Cause 
> I'm a bit lost in the new class builder code :)
> 
> Tx,
> Guille

Reply via email to