pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.2k stars 355 forks source link

Class browser shows extension methods from other packages on multiple class select #8602

Open fxgallego opened 3 years ago

fxgallego commented 3 years ago

This is not a bug After some time I realized that the problem is that when you select one class, the category for the extensions in the package is automatically selected but as soon you select more than one class the category is unselected. You can see this behavior in the attached images. The same happens with other operations. Maybe this is the expected behavior but it's quite confusing. If you don't agree, please close this issue.

Describe the bug When you browse a package extensions to other classes, if you select each extended class by one everything looks ok, but, if you select multiple classes, then, the method selector starts showing methods from other packages and doesn't filter to the current scope. The same happens in P8 & P9.

Also: If you select Inst. side or Class side while a extended class is selected then all the methods are shown. You have to change the selected class to refresh and re-apply the package scope. Also when moving methods to other packages trough refactoring the method list is not updated, it still shows the methods that were moved.

To Reproduce Steps to reproduce the behavior:

  1. Choose a package with extensions, for instance GT-InspectorExtensions-Core
  2. Select String class. Note that there are only 2 extension methods. (Image 1)
  3. Select Symbol class. Note that there are only 2 extension methods. (Image 2)
  4. Select String and Symbol at the same time. (Image 3)
  5. Now you have a lot of methods outside of the scope.

Expected behavior I would expect the browser showing only 4 methods

Screenshots If applicable, add screenshots to help explain your problem. image image image

Version information:

pavel-krivanek commented 5 months ago

still valid