[squeak-dev] The Trunk: Tools-fbs.515.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 3 11:37:39 UTC 2014


Frank Shearar uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.515.mcz

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

Name: Tools-fbs.515
Author: fbs
Time: 3 January 2014, 11:36:39.703 am
UUID: eb2eb7de-3e2e-bb44-95a0-0f945bb74023
Ancestors: Tools-tpr.514

Move some Tools functionality out of Kernel to Tools.

=============== Diff against Tools-tpr.514 ===============

Item was added:
+ ----- Method: Behavior>>inspectAllInstances (in category '*Tools-accessing instances and variables') -----
+ inspectAllInstances 
+ 	"Inpsect all instances of the receiver.  1/26/96 sw"
+ 
+ 	| all allSize prefix |
+ 	all := self allInstances.
+ 	(allSize := all size) = 0 ifTrue: [^ self inform: 'There are no 
+ instances of ', self name].
+ 	prefix := allSize = 1
+ 		ifTrue: 	['The lone instance']
+ 		ifFalse:	['The ', allSize printString, ' instances'].
+ 	
+ 	all asArray inspectWithLabel: (prefix, ' of ', self name)!

Item was added:
+ ----- Method: Behavior>>inspectSubInstances (in category '*Tools-accessing instances and variables') -----
+ inspectSubInstances 
+ 	"Inspect all instances of the receiver and all its subclasses.  CAUTION - don't do this for something as generic as Object!!  1/26/96 sw"
+ 
+ 	| all allSize prefix |
+ 	all := self allSubInstances.
+ 	(allSize := all size) = 0 ifTrue: [^ self inform: 'There are no 
+ instances of ', self name, '
+ or any of its subclasses'].
+ 	prefix := allSize = 1
+ 		ifTrue: 	['The lone instance']
+ 		ifFalse:	['The ', allSize printString, ' instances'].
+ 	
+ 	all asArray inspectWithLabel: (prefix, ' of ', self name, ' & its subclasses')!

Item was added:
+ ----- Method: ContextPart>>errorReportOn: (in category '*Tools-debugger access') -----
+ errorReportOn: strm
+ 	"Write a detailed error report on the stack (above me) on a stream.  For both the error file, and emailing a bug report.  Suppress any errors while getting printStrings.  Limit the length."
+ 
+ 	| cnt aContext startPos |
+  	strm print: Date today; space; print: Time now; cr.
+ 	strm cr.
+ 	strm nextPutAll: 'VM: ';
+ 		nextPutAll:  Smalltalk platformName asString;
+ 		nextPutAll: ' - ';
+ 		nextPutAll: Smalltalk asString;
+ 		cr.
+ 	strm nextPutAll: 'Image: ';
+ 		nextPutAll:  SystemVersion current version asString;
+ 		nextPutAll: ' [';
+ 		nextPutAll: Smalltalk lastUpdateString asString;
+ 		nextPutAll: ']';
+ 		cr.
+ 	strm cr.
+ 	SecurityManager default printStateOn: strm.
+ 	
+ 	"Note: The following is an open-coded version of ContextPart>>stackOfSize: since this method may be called during a low space condition and we might run out of space for allocating the full stack."
+ 	cnt := 0.  startPos := strm position.
+ 	aContext := self.
+ 	[aContext notNil and: [(cnt := cnt + 1) < 20]] whileTrue:
+ 		[aContext printDetails: strm.	"variable values"
+ 		strm cr.
+ 		aContext := aContext sender].
+ 
+ 	strm cr; nextPutAll: '--- The full stack ---'; cr.
+ 	aContext := self.
+ 	cnt := 0.
+ 	[aContext == nil] whileFalse:
+ 		[cnt := cnt + 1.
+ 		cnt = 20 ifTrue: [strm nextPutAll: ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'; cr].
+ 		strm print: aContext; cr.  "just class>>selector"	
+ 
+ 		"exit early if too long..."
+ 		strm position > (startPos+ self class maxLengthForASingleDebugLogReport) ifTrue: [strm nextPutAll: '...etc...'.	^ self]. 		cnt > self class maxStackDepthForASingleDebugLogReport ifTrue: [strm nextPutAll: '-- and more not shown --'.	^ self].
+ 		aContext := aContext sender].
+ !

Item was added:
+ ----- Method: Object>>explore (in category '*Tools-Explorer') -----
+ explore
+ 	^ToolSet explore: self!

Item was added:
+ ----- Method: Object>>inspectWithLabel: (in category '*Tools-inspecting') -----
+ inspectWithLabel: aLabel
+ 	"Create and schedule an Inspector in which the user can examine the receiver's variables."
+ 	^ToolSet inspect: self label: aLabel!

Item was added:
+ ----- Method: Object>>notifyWithLabel: (in category '*Tools-error handling') -----
+ notifyWithLabel: aString 
+ 	"Create and schedule a Notifier with aString as the window label as well as the contents of the window, in  order to request confirmation before a process can proceed."
+ 
+ 	ToolSet
+ 		debugContext: thisContext
+ 		label: aString
+ 		contents: aString
+ 
+ 	"nil notifyWithLabel: 'let us see if this works'"!

Item was changed:
  MessageSet subclass: #RecentMessageSet
  	instanceVariableNames: ''
+ 	classVariableNames: 'NumberOfRecentSubmissionsToStore'
- 	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Tools-Browser'!
  
  !RecentMessageSet commentStamp: 'sw 8/1/2002 17:40' prior: 0!
  RecentMessageSet is a message set that shows the most recently-submitted methods, in chronological order.!



More information about the Squeak-dev mailing list