Manuscript (Case [Issue]22375) Refactoring - Deleting a referenced class now shows debugger before giving the refactoring dialog

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Manuscript (Case [Issue]22375) Refactoring - Deleting a referenced class now shows debugger before giving the refactoring dialog

Pharo Issue Tracker
Manuscript Notification
avatar
Bug in Project:  Refactoring: 1. Pharo Image  •  You are subscribed to this case
When you delete a class that is referenced, its supposed to show you the refactoring dialog - instead you get a debugger for a refactoring error signal (twice). If you proceed , you do eventually get the expected dialog that lets you choose to delete it.

Pharo 7.0 build 1198 64bit (osx) - however I don't think platform is important.

I think the SycRefactoringPreview isn't properly catching these execptions and safely throwing them away?

RBRemoveClassRefactoring(RBRefactoring)>>refactoringError:with:
RBRemoveClassRefactoring(RBRefactoring)>>checkPreconditions
RBRemoveClassRefactoring(RBRefactoring)>>primitiveExecute
[ :each |
each model environment: rbEnvironment.
each primitiveExecute ] in SycRefactoringPreview>>generateChanges in Block: [ :each | ...
Array(SequenceableCollection)>>do:
SycRefactoringPreview>>generateChanges
SycRefactoringPreview>>updateChanges
[ :scope | scope ifNotNil: [ self updateChanges ] ] in SycRefactoringPreview>>initializeScopeDropList in Block: [ :scope | scope ifNotNil: [ self updateChanges ] ...etc...
BlockClosure>>cull:
BlockClosure>>cull:cull:
BlockClosure>>cull:cull:cull:
BlockClosure>>cull:cull:cull:cull:
[ :new :old :announcement :ann |
aBlock
cull: (new ifNotNil: [ :item | item model ])
cull: old
cull: announcement
cull: ann ] in DropListPresenter>>whenSelectedItemChanged: in Block: [ :new :old :announcement :ann | ...
BlockClosure>>cull:cull:cull:cull:
[ :announcement :ann |
aBlock
cull: announcement newValue
cull: announcement oldValue
cull: announcement
cull: ann ] in NewValueHolder(Model)>>whenChangedDo: in Block: [ :announcement :ann | ...
BlockClosure>>cull:cull:
[ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ]
BlockClosure>>on:do:
BlockClosure>>on:fork:
AnnouncementSubscription>>deliver:
[ "Ensure delivery to remaining announcements" subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ "Ensure delivery to remaining announcements" sub...etc...
BlockClosure>>ifCurtailed:
SubscriptionRegistry>>deliver:to:startingAt:
SubscriptionRegistry>>deliver:to:
SubscriptionRegistry>>deliver:
Announcer>>announce:
NewValueHolder>>valueChanged:
[ | oldValue |
oldValue := value.
value := anObject.
self valueChanged: oldValue ] in NewValueHolder>>value: in Block: [ | oldValue |...
BlockClosure>>ensure:
NewValueHolder>>handleCircularReferencesWhile:
Priority Priority: 2 – Really Important Status Status: Work Needed
Assigned To Assigned to: Everyone Milestone Milestone: Pharo7.0

Go to Case
No longer need updates? Unsubscribe from this case.

Don't want Manuscript notifications anymore? Update your preferences.

Manuscript

_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
https://lists.gforge.inria.fr/mailman/listinfo/pharo-bugtracker