[squeak-dev] The Trunk: Tools-ct.1028.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Nov 18 16:01:29 UTC 2021


Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ct.1028.mcz

==================== Summary ====================

Name: Tools-ct.1028
Author: ct
Time: 2 March 2021, 3:44:29.75717 pm
UUID: 9b55450f-acf1-274e-b4fd-a502f8a89d86
Ancestors: Tools-mt.1027

Refactors removal of selectors. Complements System-ct.1221. Includes deduplication, better reusage of the removal confirmation dialogs, and fixes the "remove and/or browse" options for the FileContentsBrowser.

=============== Diff against Tools-mt.1027 ===============

Item was changed:
  ----- Method: Browser>>removeMessage (in category 'message functions') -----
  removeMessage
+ 
+ 	self hasMessageSelected ifFalse: [^ false].
+ 	
+ 	super removeMessage ifFalse: [^ false].
- 	"If a message is selected, create a Confirmer so the user can verify that  
- 	the currently selected message should be removed from the system. If 
- 	so,  
- 	remove it. If the Preference 'confirmMethodRemoves' is set to false, the 
- 	confirmer is bypassed."
- 	| messageName confirmation |
- 	self hasMessageSelected not
- 		ifTrue: [^ self].
- 	self okToChange
- 		ifFalse: [^ self].
- 	messageName := self selectedMessageName.
- 	confirmation := self systemNavigation   confirmRemovalOf: messageName on: self selectedClassOrMetaClass.
- 	confirmation = 3
- 		ifTrue: [^ self].
- 	self selectedClassOrMetaClass removeSelector: messageName.
  	self selectMessageNamed: nil.
  	self changed: #messageList.
  	self setClassOrganizer.
+ 	
+ 	^ true!
- 	"In case organization not cached"
- 	confirmation = 2
- 		ifTrue: [self systemNavigation browseAllCallsOn: messageName]!

Item was changed:
  ----- Method: ChangeSorter>>removeMessage (in category 'message list') -----
  removeMessage
+ 
+ 	^ super removeMessage
+ 		ifTrue: [self update];
+ 		yourself!
- 	"Remove the selected msg from the system. Real work done by the 
- 	parent, a ChangeSorter"
- 	| confirmation sel |
- 	self okToChange
- 		ifFalse: [^ self].
- 	currentSelector
- 		ifNotNil: [confirmation := self systemNavigation   confirmRemovalOf: (sel := self selectedMessageName) on: self selectedClassOrMetaClass.
- 			confirmation = 3
- 				ifTrue: [^ self].
- 			self selectedClassOrMetaClass removeSelector: sel.
- 			self update.
- 			confirmation = 2
- 				ifTrue: [self systemNavigation browseAllCallsOn: sel]]!

Item was added:
+ ----- Method: CodeHolder>>removeMessage (in category 'commands') -----
+ removeMessage
+ 	"If a message is selected, create a Confirmer so the user can verify that the currently selected message should be removed from the system. If so, remove it. Answer a boolean indicating whether the removal was succesful."
+ 	self okToChange ifFalse: [^ false].
+ 	
+ 	^ self systemNavigation
+ 		confirmAndRemoveSelector: self selectedMessageName
+ 		class: self selectedClassOrMetaClass!

Item was changed:
  ----- Method: Debugger>>removeMessage (in category 'context stack menu') -----
  removeMessage
  	
+ 	| oldContext method cleanIndex  |
- 	| oldContext method cleanIndex confirmation  |
  	self okToChange ifFalse: [^ false].
  	contextStackIndex isZero ifTrue: [^ false].
  	
  	oldContext := self selectedContext.
  	method := oldContext method.
  	cleanIndex := self findCleanHomeBelow: method.
  	contextStack at: cleanIndex ifAbsent: [
  		self inform: 'Sender of method not found on stack, can''t remove message'.
  		^ false].
  	(self confirm: 'I will have to revert to the sender of this message.  Is that OK?')
  		ifFalse: [^ false].
  	
+ 	super removeMessage ifFalse: [^ false].
- 	confirmation := self systemNavigation
- 		confirmRemovalOf: method selector
- 		on: method methodClass.
- 	confirmation = 3 ifTrue: [^ self].
- 	self selectedClassOrMetaClass removeSelector: method selector.
- 	
  	self
  		contextStackIndex: cleanIndex oldContextWas: oldContext;
  		tryRestartFrom: self selectedContext.
+ 	
+ 	^ true!
- 	confirmation = 2
- 		ifTrue: [self systemNavigation browseAllCallsOn: method selector].!

Item was changed:
  ----- Method: FileContentsBrowser>>removeMessage (in category 'removing') -----
  removeMessage
+ 
+ 	self hasMessageSelected ifFalse: [^ false].
+ 	
+ 	super removeMessage ifFalse: [^ false].
- 	| messageName |
- 	self hasMessageSelected
- 		ifFalse: [^ self].
- 	self okToChange
- 		ifFalse: [^ self].
- 	messageName := self selectedMessageName.
- 	(self selectedClass confirmRemovalOf: messageName)
- 		ifFalse: [^ false].
- 	self selectedClassOrMetaClass removeMethod: self selectedMessageName.
  	self selectMessageNamed: nil.
  	self setClassOrganizer.
  	"In case organization not cached"
+ 	self changed: #messageList.!
- 	self changed: #messageList!

Item was changed:
  ----- Method: MessageSet>>removeMessage (in category 'message functions') -----
  removeMessage
+ 
+ 	self hasMessageSelected ifFalse: [^ false].
+ 	
+ 	super removeMessage ifFalse: [^ false].
- 	"Remove the selected message from the system. 1/15/96 sw"
- 	| messageName confirmation |
- 	self hasMessageSelected
- 		ifFalse: [^ self].
- 	self okToChange
- 		ifFalse: [^ self].
- 	messageName := self selectedMessageName.
- 	confirmation := self systemNavigation  confirmRemovalOf: messageName on: self selectedClassOrMetaClass.
- 	confirmation = 3
- 		ifTrue: [^ self].
- 	self selectedClassOrMetaClass removeSelector: messageName.
  	self deleteFromMessageList: self selection.
  	self reformulateList.
+ 	
+ 	^ true!
- 	confirmation = 2
- 		ifTrue: [self systemNavigation browseAllCallsOn: messageName]!

Item was changed:
  ----- Method: MessageTrace>>removeMessage (in category 'actions') -----
  removeMessage
  	"Remove the selected messages from the system."
  	self selectedMessages size = 0 ifTrue: [ ^self ].
  	self selectedMessages size = 1 ifTrue: [ ^super removeMessage ].
+ 	(self confirm: ('Are you certain you want to remove all the {1} selected methods from the image?' translated format: {self selectedMessages size})) ifFalse: [ ^self ].
- 	(self confirm: 'Are you certain you want to remove all of the selected methods from the image?') ifFalse: [ ^self ].
  	self selectedMessages do:
  		[ :each | 
  		each actualClass removeSelector: each methodSymbol.
  		self deleteFromMessageList: each ]!



More information about the Squeak-dev mailing list