Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renaming a class when the message browser is open breaks #4268

Open
Ducasse opened this issue Aug 10, 2019 · 1 comment

Comments

@Ducasse
Copy link
Member

commented Aug 10, 2019

handleClassRenamed: anAnnouncement
| items selectedIndex |
items := self messages
collect: [ :rgMethod |
| interestedClassName interestedClass |
interestedClassName := anAnnouncement oldName.
interestedClass := anAnnouncement classRenamed.
rgMethod isMetaSide
^^^^^^^^^^^^^^^^^^^^^^^^^
ifTrue: [ interestedClassName := interestedClassName , ' class'.
interestedClass := interestedClass classSide ].
rgMethod parentName = interestedClassName
ifTrue: [ (interestedClass >> rgMethod selector) asFullRingDefinition ]
ifFalse: [ rgMethod ] ].
selectedIndex := messageList selectedIndex.
self messages: items.
self setSelectedIndex: selectedIndex

@Ducasse

This comment has been minimized.

Copy link
Member Author

commented Aug 10, 2019

This is because a ring method does not have the same api than a compile method and that isMetaSide is only defined on RG.

Solution should probably be

  • check compiledMethod and Ring Method
  • check what is the status of Ring
  • make sure that both are compatible
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.