'From Squeak3.1alpha of 7 March 2001 [latest update: #4332] on 8 September 2001 at 10:44:53 pm'! !MessageTally methodsFor: 'printing' stamp: 'dew 9/8/2001 22:44'! printOn: aStream | aSelector className aClass | (class isNil or: [method isNil]) ifTrue: [^ super printOn: aStream]. aSelector _ class selectorAtMethod: method setClass: [:c | aClass _ c]. className _ aClass name "contractTo: 30". aStream nextPutAll: className; nextPutAll: ' >> '; nextPutAll: (aSelector "contractTo: 60-className size")! ! !MessageTally methodsFor: 'printing' stamp: 'dew 3/2/2001 19:15'! printOn: aStream total: total totalTime: totalTime tallyExact: isExact | aSelector className myTally aClass percentage | isExact ifTrue: [myTally _ tally. receivers == nil ifFalse: [receivers do: [:r | myTally _ myTally - r tally]]. aStream print: myTally; space] ifFalse: [percentage _ tally asFloat / total * 100.0 roundTo: 0.1. aStream print: percentage; nextPutAll: '% {'; print: (percentage * totalTime / 100) rounded; nextPutAll: 'ms} ']. receivers == nil ifTrue: [aStream nextPutAll: 'primitives'; cr] ifFalse: [aSelector _ class selectorAtMethod: method setClass: [:c | aClass _ c]. className _ aClass name "contractTo: 30". aStream nextPutAll: class name; nextPutAll: (aClass = class ifTrue: ['>>'] ifFalse: ['(' , aClass name , ')>>']); nextPutAll: (aSelector "contractTo: 60-className size"); cr]! ! !MessageTally methodsFor: 'printing' stamp: 'dew 3/2/2001 18:20'! treePrintOn: aStream tabs: tabs thisTab: myTab total: total totalTime: totalTime tallyExact: isExact orThreshold: threshold | sons sonTab | tabs do: [:tab | aStream nextPutAll: tab]. tabs size > 0 ifTrue: [self printOn: aStream total: total totalTime: totalTime tallyExact: isExact]. sons _ isExact ifTrue: [receivers] ifFalse: [self sonsOver: threshold]. sons isEmpty ifFalse: [tabs addLast: myTab. sons _ sons asSortedCollection. (1 to: sons size) do: [:i | sonTab _ i < sons size ifTrue: [' |'] ifFalse: [' ']. (sons at: i) treePrintOn: aStream tabs: (tabs size < 88 ifTrue: [tabs] ifFalse: [(tabs select: [:x | x = '[']) copyWith: '[']) thisTab: sonTab total: total totalTime: totalTime tallyExact: isExact orThreshold: threshold]. tabs removeLast]! !