On 25 Dec 2013, at 20:42, Stéphane Ducasse <[email protected]> wrote:
> Guillermo > > do you have a test because we should really cover the classBuilder with such > scenario? > Yes, tests and the fix have been integrated last friday. > 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 >
