Hi:

On 23 Jan 2013, at 22:06, Stefan Marr wrote:

> I get a change browser which tells me that it is going to create a class with 
> stuff.
> But then I get a RBAddMethodChange, which doesn't have a `changeClass`.
> The reason is that the class is not actually created before the method is 
> supposed to be added, I think.

So, I am on a recent Pharo 2.0 image and experience problems with the 
ChangesBrowser.

Namely, changes are represented as an unordered set, which leads to problems.
Most notably, methods are added to non-existing classes before they are created.

You probably want to use an order-preserving data structure.

A quick hack, I used is just a work around:

ChangesBrowser >> #accept
        | changes |
        self okToChange ifFalse: [ ^self ].
        
        changes := self pickedChanges sorted: [:a :b | (a isKindOf: 
RBAddClassChange) and: [(b isKindOf: RBAddClassChange) not]].
        
        changes do: [:change | RBRefactoryChangeManager instance performChange: 
change ].
        window delete


Best regards
Stefan

-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525


Reply via email to