[squeak-dev] The Trunk: Tools-cmm.347.mcz

commits at source.squeak.org commits at source.squeak.org
Mon May 2 23:37:09 UTC 2011


Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.347.mcz

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

Name: Tools-cmm.347
Author: cmm
Time: 2 May 2011, 6:36:40.244 pm
UUID: 977c180b-7c15-4200-9ceb-319d2e850364
Ancestors: Tools-fbs.346, Tools-fbs.345

- Update menu "inst var defs" to "assignments..." and "inst var refs" to "references...".  Each option now includes a selection of the available class-variables, enabling "class var refs" to be removed.  Each option also has an appropriate hot-key assignment.
- Removed "class vars" because one could simply explore the class' classPool.

=============== Diff against Tools-fbs.346 ===============

Item was changed:
  ----- Method: Browser>>classListMenu:shifted: (in category 'class functions') -----
  classListMenu: aMenu shifted: shifted
  	"Set up the menu to apply to the receiver's class list, honoring the #shifted boolean"
  	self 
  		menuHook: aMenu 
  		named: #classListMenu 
  		shifted: shifted.
  	Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
  	shifted ifTrue:[^ self shiftedClassListMenu: aMenu].
  	aMenu addList: #(
  		-
  		('browse full (b)'			browseMethodFull)
  		('browse hierarchy (h)'		spawnHierarchy)
  		('browse protocol (p)'		browseFullProtocol)
  		-
  		('printOut'					printOutClass)
  		('fileOut'					fileOutClass)
  		-
  		('show hierarchy'			hierarchy)
  		('show definition'			editClass)
  		('show comment'			editComment)
  		-
+ 		('references... (r)'			browseVariableReferences)
+ 		('assignments... (a)'			browseVariableAssignments)
- 		('inst var refs...'			browseInstVarRefs)
- 		('inst var defs...'			browseInstVarDefs)
- 		-
- 		('class var refs...'			browseClassVarRefs)
- 		('class vars'					browseClassVariables)
  		('class refs (N)'				browseClassRefs)
  		-
  		('rename class ...'			renameClass)
  		('copy class'				copyClass)
  		('remove class (x)'			removeClass)
  		-
  		('find method...'				findMethod)
  		-
  		('more...'					offerShiftedClassListMenu)).
  	^ aMenu
  !

Item was changed:
  ----- Method: Browser>>messageListMenu:shifted: (in category 'message functions') -----
  messageListMenu: aMenu shifted: shifted 
  	"Answer the message-list menu"
  	self 
  		menuHook: aMenu 
  		named: #messageListMenu 
  		shifted: shifted.
  	Preferences useOnlyServicesInMenu ifTrue:[^aMenu].
  	shifted ifTrue: [^ self shiftedMessageListMenu: aMenu].
  	aMenu addList: #(
  			('what to show...'			offerWhatToShowMenu)
  			('toggle break on entry'		toggleBreakOnEntry)
  			-
  			('browse full (b)' 			browseMethodFull)
  			('browse hierarchy (h)'			classHierarchy)
  			('browse method (O)'			openSingleMessageBrowser)
  			('browse protocol (p)'			browseFullProtocol)
  			-
  			('fileOut'				fileOutMessage)
  			('printOut'				printOutMessage)
  			('copy selector (c)'						copySelector)
  			('copy reference'						copyReference)
  			-
  			('senders of... (n)'			browseSendersOfMessages)
  			('implementors of... (m)'		browseMessages)
  			('inheritance (i)'			methodHierarchy)
  			('versions (v)'				browseVersions)
  			-
+ 			('references... (r)'			browseVariableReferences)
+ 			('assignments... (a)'			browseVariableAssignments)
- 			('inst var refs...'			browseInstVarRefs)
- 			('inst var defs...'			browseInstVarDefs)
- 			('class var refs...'			browseClassVarRefs)
- 			('class variables'			browseClassVariables)
  			('class refs (N)'			browseClassRefs)
  			-
  			('remove method (x)'			removeMessage)
  			('explore method'			exploreMethod)
  			('inspect method'			inspectMethod)
  			-
  			('more...'				shiftedYellowButtonActivity)).
  	^ aMenu!

Item was changed:
  ----- Method: Browser>>reformulateList (in category 'message list') -----
  reformulateList
  	"If the receiver has a way of reformulating its message list, here is a chance for it to do so"
  	super reformulateList.
  	(self messageList includes: self selectedMessageName)
+ 		ifFalse: [ self messageList
+ 					ifEmpty: [ self selectMessageNamed: nil ]
+ 					ifNotEmpty: [ self selectMessageNamed: self lastMessageName ]].!
- 		ifFalse: [ self selectMessageNamed: self lastMessageName ].!

Item was changed:
  ----- Method: ChangeSorter>>classListMenu:shifted: (in category 'class list') -----
  classListMenu: aMenu shifted: shifted
  	"Fill aMenu with items appropriate for the class list"
  
  	aMenu title: 'class list'.
  	aMenu addStayUpItemSpecial.
  	(parent notNil and: [shifted not])
  		ifTrue: [aMenu addList: #( "These two only apply to dual change sorters"
  			('copy class chgs to other side'			copyClassToOther)	
  			('move class chgs to other side'			moveClassToOther))].
  
  	aMenu addList: (shifted
  		ifFalse: [#(
  			-
  			('delete class from change set (d)'		forgetClass)
  			('remove class from system (x)'			removeClass)
  			-
  			('browse full (b)'						browseMethodFull)
  			('browse hierarchy (h)'					spawnHierarchy)
  			('browse protocol (p)'					browseFullProtocol)
  			-
  			('printOut'								printOutClass)
  			('fileOut'								fileOutClass)
  			-
+ 			('references... (r)'						browseVariableReferences)
+ 			('assignments... (a)'						browseVariableAssignments)
- 			('inst var refs...'						browseInstVarRefs)
- 			('inst var defs...'						browseInstVarDefs)
- 			('class var refs...'						browseClassVarRefs)
- 			('class vars'								browseClassVariables)
  			('class refs (N)'							browseClassRefs)
  			-
  			('more...'								offerShiftedClassListMenu))]
  
  		ifTrue: [#(
  			-
  			('unsent methods'						browseUnusedMethods)
  			('unreferenced inst vars'				showUnreferencedInstVars)
  			('unreferenced class vars'				showUnreferencedClassVars)
  			-
  			('sample instance'						makeSampleInstance)
  			('inspect instances'						inspectInstances)
  			('inspect subinstances'					inspectSubInstances)
  			-
  			('more...'								offerUnshiftedClassListMenu ))]).
  	^ aMenu!

Item was changed:
  ----- Method: CodeHolder>>abbreviatedWordingFor: (in category 'commands') -----
  abbreviatedWordingFor: aButtonSelector
+ 	"Answer the abbreviated form of wording, from a static table.  Answer nil if there is no entry -- in which case the long form will be used on the corresponding browser button."
- 	"Answer the abbreviated form of wording, from a static table which you're welcome to edit.  Answer nil if there is no entry -- in which case the long firm will be used on the corresponding browser button."
  
  	#(
  	(browseMethodFull				'browse')
  	(browseSendersOfMessages	   	'senders')
  	(browseMessages				'impl')
  	(browseVersions					'vers')
  	(methodHierarchy				'inher')
  	(classHierarchy					'hier')
+ 	(browseVariableReferences				'refs')
- 	(browseInstVarRefs				'iVar')
- 	(browseClassVarRefs				'cVar')
  	(offerMenu						'menu')) do:
  
  		[:pair | pair first == aButtonSelector ifTrue: [^ pair second]].
  	^ nil!

Item was changed:
  ----- Method: CodeHolder>>messageListKey:from: (in category 'message list menu') -----
  messageListKey: aChar from: view
  	"Respond to a Command key.  I am a model with a code pane, and I also
  	have a listView that has a list of methods.  The view knows how to get
  	the list and selection."
  
  	| sel class |
  	aChar == $D ifTrue: [^ self toggleDiffing].
  
  	sel := self selectedMessageName.
  	aChar == $m ifTrue:  "These next two put up a type in if no message selected"
  		[^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllImplementorsOf: to: self ].
  	aChar == $n ifTrue: 
  		[^ self useSelector: sel orGetSelectorAndSendQuery: #browseAllCallsOn: to: self ].
  
  	"The following require a class selection"
  	(class := self selectedClassOrMetaClass) ifNil: [^ self arrowKey: aChar from: view].
  	aChar == $b ifTrue: [^ Browser fullOnClass: class selector: sel].
  	aChar == $N ifTrue: [^ self browseClassRefs].
  	aChar == $i ifTrue: [^ self methodHierarchy].
  	aChar == $h ifTrue: [^ self classHierarchy].
  	aChar == $p ifTrue: [^ self browseFullProtocol].
+ 	aChar == $r ifTrue: [^ self browseVariableReferences].
+ 	aChar == $a ifTrue: [^ self browseVariableAssignments].
  
+ 
  	"The following require a method selection"
  	sel ifNotNil: 
  		[aChar == $o ifTrue: [^ self fileOutMessage].
  		aChar == $c ifTrue: [^ self copySelector].
  		aChar == $v ifTrue: [^ self browseVersions].
  		aChar == $O ifTrue: [^ self openSingleMessageBrowser].
  		aChar == $x ifTrue: [^ self removeMessage].
  		aChar == $d ifTrue: [^ self removeMessageFromBrowser].
  
  		(aChar == $C and: [self canShowMultipleMessageCategories])
  			ifTrue: [^ self showHomeCategory]].
  
  	^ self arrowKey: aChar from: view!

Item was changed:
  ----- Method: CodeHolder>>optionalButtonPairs (in category 'controls') -----
  optionalButtonPairs
  	"Answer a tuple (formerly pairs) defining buttons, in the format:
  			button label
  			selector to send
  			help message"
  
  	| aList |
  
  	aList := #(
  	('browse'			browseMethodFull			'view this method in a browser')
  	('senders' 			browseSendersOfMessages	'browse senders of...')
  	('implementors'		browseMessages				'browse implementors of...')
  	('versions'			browseVersions				'browse versions')), 
  
  	(Preferences decorateBrowserButtons
  		ifTrue:
  			[{#('inheritance'		methodHierarchy 'browse method inheritance
  green: sends to super
  tan: has override(s)
  mauve: both of the above
  pink: is an override but doesn''t call super
  pinkish tan: has override(s), also is an override but doesn''t call super' )}]
  		ifFalse:
  			[{#('inheritance'		methodHierarchy			'browse method inheritance')}]),
  
  	#(
  	('hierarchy'		classHierarchy				'browse class hierarchy')
+ 	('vars'			browseVariableReferences			'references...')).
- 	('inst vars'			browseInstVarRefs			'inst var refs...')
- 	('class vars'			browseClassVarRefs			'class var refs...')).
  
  	^ aList!

Item was added:
+ ----- Method: CodeHolder>>receiverClass (in category 'toolbuilder') -----
+ receiverClass
+ 	^ self selectedClassOrMetaClass !

Item was added:
+ ----- Method: Debugger>>classHierarchy (in category 'toolbuilder') -----
+ classHierarchy
+ 	"Create and schedule a class list browser on the receiver's hierarchy."
+ 	(self selectedMessageName = #doesNotUnderstand: and: [ self selectedClassOrMetaClass = Object ])
+ 		ifTrue:
+ 			[ self systemNavigation
+ 				spawnHierarchyForClass: self receiverClass
+ 				selector: self selectedMessageName ]
+ 		ifFalse: [ super classHierarchy ]!

Item was changed:
  ----- Method: Debugger>>contextStackMenu:shifted: (in category 'context stack menu') -----
  contextStackMenu: aMenu shifted: shifted
  	"Set up the menu appropriately for the context-stack-list, either shifted or unshifted as per the parameter provided"
  
  	^ shifted ifFalse:[
  		aMenu addList: {
  			{'fullStack (f)'.		#fullStack}.
  			{'restart (r)'.		#restart}.
  			{'proceed (p)'.		#proceed}.
  			{'step (t)'.			#doStep}.
  			{'step through (T)'.	#stepIntoBlock}.
  			{'send (e)'.			#send}.
  			{'where (w)'.		#where}.
  			{'peel to first like this'.		#peelToFirst}.
  			#-.
  			{'return entered value'.		#returnValue}.
  			#-.
  			{'toggle break on entry'.	#toggleBreakOnEntry}.
  			{'senders of... (n)'.			#browseSendersOfMessages}.
  			{'implementors of... (m)'.	#browseMessages}.
  			{'inheritance (i)'.	#methodHierarchy}.
  			#-.
  			{'versions (v)'.		#browseVersions}.
- 			{'inst var refs...'.		#browseInstVarRefs}.
  			#-.
+ 			{'references... (r)'.		#browseVariableReferences}.
+ 			{'assignments... (a)'.	#browseVariableAssignments}.
- 			{'inst var defs...'.	#browseInstVarDefs}.
- 			{'class var refs...'.	#browseClassVarRefs}.
- 			{'class variables'.	#browseClassVariables}.
  			#-.
  			{'class refs (N)'.		#browseClassRefs}.
  			{'browse full (b)'.	#browseMethodFull}.
  			{'file out '.			#fileOutMessage}.
  			#-.
  			{'mail out bug report'.	#mailOutBugReport}.
  			{'more...'.		#shiftedYellowButtonActivity}.
  		}.
  	] ifTrue: [
  		aMenu addList: {
  			{'browse class hierarchy'.	#classHierarchy}.
  			{'browse class'.				#browseClass}.
  			{'browse method (O)'.		#openSingleMessageBrowser}.
  			{'implementors of sent messages'.		#browseAllMessages}.
  			{'change sets with this method'.		#findMethodInChangeSets}.
  			#-.
  			{'inspect instances'.		#inspectInstances}.
  			{'inspect subinstances'.		#inspectSubInstances}.
  			#-.
  			{'revert to previous version'.			#revertToPreviousVersion}.
  			{'remove from current change set'.		#removeFromCurrentChanges}.
  			{'revert & remove from changes'.		#revertAndForget}.
  			#-.
  			{'more...'.					#unshiftedYellowButtonActivity}. 
  		}
  	].!

Item was added:
+ ----- Method: Debugger>>receiverClass (in category 'toolbuilder') -----
+ receiverClass
+ 	^ self selectedContext receiver class!

Item was removed:
- ----- Method: Inspector>>classVarRefs (in category 'menu commands') -----
- classVarRefs
- 	"Request a browser of methods that store into a chosen instance variable"
- 
- 	| aClass |
- 	(aClass := self classOfSelection) ifNotNil:
- 		[self systemNavigation  browseClassVarRefs: aClass].
- !

Item was changed:
  ----- Method: Inspector>>fieldListMenu: (in category 'menu commands') -----
  fieldListMenu: aMenu
  	"Arm the supplied menu with items for the field-list of the receiver"
  
  	aMenu addStayUpItemSpecial.
  
  	aMenu addList: #(
  		('inspect (i)'						inspectSelection)
  		('explore (I)'						exploreSelection)).
  
  	self addCollectionItemsTo: aMenu.
  
  	aMenu addList: #(
  		-
  		('method refs to this inst var'		referencesToSelection)
  		('methods storing into this inst var'	defsOfSelection)
  		('objects pointing to this value'		objectReferencesToSelection)
  		('chase pointers'					chasePointers)
  		('explore pointers'				explorePointers)
  		-
  		('browse full (b)'					browseMethodFull)
  		('browse class'						browseClass)
  		('browse hierarchy (h)'					classHierarchy)
  		('browse protocol (p)'				browseFullProtocol)
  		-
+ 		('references... (r)'					browseVariableReferences)
+ 		('assignments... (a)'					browseVariableAssignments)
- 		('inst var refs...'					browseInstVarRefs)
- 		('inst var defs...'					browseInstVarDefs)
- 		('class var refs...'					classVarRefs)
- 		('class variables'					browseClassVariables)
  		('class refs (N)'						browseClassRefs)
  		-
  		('copy name (c)'					copyName)		
  		('basic inspect'						inspectBasic)).
  
  	Smalltalk isMorphic ifTrue:
  		[aMenu addList: #(
  			-
  			('tile for this value	(t)'			tearOffTile)
  			('viewer for this value (v)'		viewerForValue))].
  
  	^ aMenu
  
  
  "			-
  			('alias for this value'			aliasForValue)
  			('watcher for this slot'			watcherForSlot)"
  
  !

Item was changed:
  ----- Method: RecentMessageSet>>messageListMenu:shifted: (in category 'message functions') -----
  messageListMenu: aMenu shifted: shifted
  	"Answer the message-list menu"
  
  	shifted ifTrue: [^ self shiftedMessageListMenu: aMenu].
  	aMenu addList:#(
  			('what to show...'						offerWhatToShowMenu)
  			-
  			('browse full (b)' 						browseMethodFull)
  			('browse hierarchy (h)'					classHierarchy)
  			('browse method (O)'					openSingleMessageBrowser)
  			('browse protocol (p)'					browseFullProtocol)
  			-
  			('fileOut (o)'							fileOutMessage)
  			('printOut'								printOutMessage)
  			('copy selector (c)'						copySelector)
  			('copy reference'						copyReference)
  			-
  			('senders of... (n)'						browseSendersOfMessages)
  			('implementors of... (m)'					browseMessages)
  			('inheritance (i)'						methodHierarchy)
  			('versions (v)'							browseVersions)
  			-
+ 			('references... (r)'						browseVariableReferences)
+ 			('assignments... (a)'						browseVariableAssignments)
- 			('inst var refs...'						browseInstVarRefs)
- 			('inst var defs...'						browseInstVarDefs)
- 			('class var refs...'						browseClassVarRefs)
- 			('class variables'						browseClassVariables)
  			('class refs (N)'							browseClassRefs)
  			-
  			('remove method (x)'					removeMessage)
  			('remove from RecentSubmissions'		removeFromRecentSubmissions)
  			-
  			('more...'								shiftedYellowButtonActivity)).
  	^ aMenu!

Item was removed:
- ----- Method: StringHolder>>browseClassVarRefs (in category '*Tools-traits') -----
- browseClassVarRefs
- 	"1/17/96 sw: devolve responsibility to the class, so that the code that does the real work can be shared"
- 
- 	| cls |
- 	cls := self selectedClass.
- 	(cls notNil and: [cls isTrait not])
- 		ifTrue: [self systemNavigation  browseClassVarRefs: cls]!

Item was removed:
- ----- Method: StringHolder>>browseClassVariables (in category '*Tools-traits') -----
- browseClassVariables
- 	"Browse the class variables of the selected class. 2/5/96 sw"
- 	| cls |
- 	cls := self selectedClass.
- 	(cls notNil and: [cls isTrait not])
- 		ifTrue: [self systemNavigation  browseClassVariables: cls]
- !

Item was removed:
- ----- Method: StringHolder>>browseInstVarDefs (in category '*Tools-traits') -----
- browseInstVarDefs 
- 
- 	| cls |
- 	cls := self selectedClassOrMetaClass.
- 	(cls notNil and: [cls isTrait not])
- 		ifTrue: [self systemNavigation browseInstVarDefs: cls]!

Item was removed:
- ----- Method: StringHolder>>browseInstVarRefs (in category '*Tools-traits') -----
- browseInstVarRefs
- 	"1/26/96 sw: real work moved to class, so it can be shared"
- 	| cls |
- 	cls := self selectedClassOrMetaClass.
- 	(cls notNil and: [cls isTrait not])
- 		ifTrue: [self systemNavigation browseInstVarRefs: cls]!

Item was added:
+ ----- Method: StringHolder>>browseVariableAssignments (in category '*Tools-traits') -----
+ browseVariableAssignments
+ 	| cls |
+ 	cls := self selectedClassOrMetaClass.
+ 	(cls notNil and: [ cls isTrait not ]) ifTrue: [ self systemNavigation browseVariableAssignments: cls ]!

Item was added:
+ ----- Method: StringHolder>>browseVariableReferences (in category '*Tools-traits') -----
+ browseVariableReferences
+ 	| cls |
+ 	cls := self selectedClassOrMetaClass.
+ 	(cls notNil and: [cls isTrait not])
+ 		ifTrue: [self systemNavigation browseVariableReferences: cls]!

Item was changed:
  ----- Method: StringHolder>>classListKey:from: (in category '*Tools') -----
  classListKey: aChar from: view 
  	"Respond to a Command key.  I am a model with a list of classes and a 
  	code pane, and I also have a listView that has a list of methods.  The 
  	view knows how to get the list and selection."
  
  	aChar == $f ifTrue: [^ self findMethod].
+ 	aChar == $r ifTrue: [^ self browseVariableReferences].
+ 	aChar == $a ifTrue: [^ self browseVariableAssignments].
- 	aChar == $r ifTrue: [^ self browseInstVarRefs].
- 	aChar == $d ifTrue: [^ self browseInstVarDefs].
  	aChar == $h ifTrue: [^ self spawnHierarchy].
  	aChar == $x ifTrue: [^ self removeClass].
  	^ self messageListKey: aChar from: view!




More information about the Squeak-dev mailing list