Veronica I did the following: - compute and store the category since the changeRecord does not have it. - turn the RGMethodDefinition asActive so that the FlatBrowser can display the source of the method To see that in action: changeSorter open browse changeset (b) Stef changedMessageList "Used by a message set browser to access the list view information." | messageList | messageList := OrderedCollection new. changeRecords associationsDo: [:clAssoc | | classNameInParts classNameInFull | classNameInFull := clAssoc key asString. classNameInParts := classNameInFull findTokens: ' '. (clAssoc value allChangeTypes includes: #comment) ifTrue: [messageList add: (RGCommentDefinition new parentName: clAssoc key asSymbol)]. clAssoc value methodChangeTypes associationsDo: [:mAssoc | (#(remove addedThenRemoved) includes: mAssoc value) ifFalse: [messageList add: ((RGMethodDefinition named: mAssoc key) protocol: (self protocolFor: mAssoc key definedIn: classNameInParts first asSymbol isMeta: (classNameInParts size > 1)); parentName: clAssoc key asSymbol; isMetaSide: (classNameInParts size > 1)) asActive ]]]. ^ messageList asArray sort On Sep 17, 2011, at 12:04 PM, Stéphane Ducasse wrote:
Hi veronica
Apparently in the ChangeSet the RG method definition have nil protocols. Do you have one idea where it could come from. I imagine when created but I should look for it.
Ben I'm removing the latest reference to ChangedMessageSet and it was used by the ChangeSorter. So I'm making sure that flat list is robust when protocol returns nil.
Stef