Hi everyone, I just installed the Refactoring Tools in Squeak 5.1 like this:
Metacello new configuration: 'RefactoringTools'; version: #stable; load.
and I am trying to rename some class variables (not instance variables) but when I select the option from the menu shown below it prompts me for a new class name, which is unexpected. I'm expecting it to give me the list of class vars (which do exist) to select one to rename (the same way that the instance vars rename feature works). If I provide a class name it actually renames my class. Seems that the wrong code is attached to this menu item? Anyone else had this issue?
http://forum.world.st/file/t266054/refactor.png
I'm trying to figure out where the code is that attaches a method to this menu. I suspect the wrong method is being called from this menu as the RBRenameClassVariableTest passes in TestRunner which to me means the code to rename class variables is working as expected, it's just not linked to this menu item as expected?
Any help appreciated, Steve.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Uh, thanks for the pointer. :-) I just fixed that. Try updating. I made a 1.0.1 release via Metacello. Otherwise load "mt.3" from "http://ss3.gemtalksystems.com/ss/RefactoringToolsForSqueak" via Monticello.
Best, Marcel Am 25.09.2017 10:05:18 schrieb sst ssmith2112@outlook.com: Hi everyone, I just installed the Refactoring Tools in Squeak 5.1 like this:
Metacello new configuration: 'RefactoringTools'; version: #stable; load.
and I am trying to rename some class variables (not instance variables) but when I select the option from the menu shown below it prompts me for a new class name, which is unexpected. I'm expecting it to give me the list of class vars (which do exist) to select one to rename (the same way that the instance vars rename feature works). If I provide a class name it actually renames my class. Seems that the wrong code is attached to this menu item? Anyone else had this issue?
I'm trying to figure out where the code is that attaches a method to this menu. I suspect the wrong method is being called from this menu as the RBRenameClassVariableTest passes in TestRunner which to me means the code to rename class variables is working as expected, it's just not linked to this menu item as expected?
Any help appreciated, Steve.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Thank you very much Marcel for the quick reply and the fix. I had found the offending method :-) (renameClassVarRefactoring) and was about to make the fix and post it.
For those interested in the steps to find the method that was incorrect: 1. metaclick (to bring up the halos) on the popup menu where you select 'refactor class var' in the system browser 2. select the debug icon and select 'explore morph' 3. expand the submorphs branch 4. expand the 'refactor class var' branch 5. expand subMenu 6. expand submorphs and select the branch 'rename' (this is the menu item exhibiting the problem) 7. look at the 'selector' and 'arguments' values - 'arguments' contains the method name that is exhibiting the problem 8. use the method finder tool to navigate to renameClassVarRefactoring 9. now you know where the problem is and can debug the code (but Marcel has already done this :)
Cheers, Steve.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Thanks for this explanation! :)
Best, Marcel Am 25.09.2017 18:35:14 schrieb sst ssmith2112@outlook.com: Thank you very much Marcel for the quick reply and the fix. I had found the offending method :-) (renameClassVarRefactoring) and was about to make the fix and post it.
For those interested in the steps to find the method that was incorrect: 1. metaclick (to bring up the halos) on the popup menu where you select 'refactor class var' in the system browser 2. select the debug icon and select 'explore morph' 3. expand the submorphs branch 4. expand the 'refactor class var' branch 5. expand subMenu 6. expand submorphs and select the branch 'rename' (this is the menu item exhibiting the problem) 7. look at the 'selector' and 'arguments' values - 'arguments' contains the method name that is exhibiting the problem 8. use the method finder tool to navigate to renameClassVarRefactoring 9. now you know where the problem is and can debug the code (but Marcel has already done this :)
Cheers, Steve.
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
squeak-dev@lists.squeakfoundation.org