Skip to content

[RB] ReRemoveMethodDriver >> browseSenders #19126

@Ducasse

Description

@Ducasse

I read the following code

ReRemoveMethodDriver >> browseSenders

	StMethodBrowser browseSendersOf: refactoring allSelectors

Now I have some doubts because

  • browseSendersOf: does not handle a collection of selectors
  • the removeMethod driver does not manage so far the removal of a class of a list of methods (even it looks desirable) and may be it does
    I thought that we did that when we remove a list of methods we make sure that the preconditions excludes the methods of the list from the sender preconditions (we should not tell that a method in still invoked if it is only invoked by a method that is in the list of methods to be removed). @balsa-sarenac Do you remember?

Now there is another point While we can open a method browser on multiple methods, the method browser does not support the automatic refresh of changed method with different names.
As shown as defined by method setRefreshingBlockForSendersOf:

setRefreshingBlockForSendersOf: aSelector
	"Refresh the list of senders taking into account the selectors that are not stored in the literal frame."

	| specialIndex |
	specialIndex := Smalltalk specialSelectorIndexOrNil: aSelector.
	self refreshingBlock: [ :method | method hasSelector: aSelector specialSelectorIndex: specialIndex ]

So it means that we could browse multiple groups of sender methods but for the moment we would get only one of these.

So any information is welcome.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions