--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools__ProfilerInfoItem.st Fri Jul 01 15:27:56 2011 +0200
@@ -0,0 +1,178 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+HierarchicalItem subclass:#ProfilerInfoItem
+ instanceVariableNames:'method isBlock tally'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Interface-Browsers-New-Profiler'
+!
+
+!ProfilerInfoItem class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!ProfilerInfoItem methodsFor:'accessing'!
+
+isBlock
+ ^ isBlock ? false
+
+ "Created: / 01-12-2007 / 20:38:11 / janfrog"
+ "Modified: / 01-12-2007 / 23:54:48 / janfrog"
+!
+
+isBlock:aBoolean
+ isBlock := aBoolean.
+
+ "Created: / 01-12-2007 / 20:38:11 / janfrog"
+!
+
+label
+ ^self tallyLabel, ' in ',
+ self methodLabel, ' ',
+ self packageLabel
+
+ "Created: / 01-12-2007 / 20:46:01 / janfrog"
+!
+
+method
+ ^ method
+
+ "Created: / 01-12-2007 / 20:38:11 / janfrog"
+!
+
+method:aCompiledMethod
+ method := aCompiledMethod.
+
+ "Created: / 01-12-2007 / 20:38:11 / janfrog"
+!
+
+methodClass
+
+ | mthd |
+ mthd := self method.
+ ^mthd
+ ifNotNil:[method mclass]
+ ifNil:[UndefinedObject]
+
+ "Created: / 01-12-2007 / 20:49:57 / janfrog"
+ "Modified: / 28-08-2010 / 21:02:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+methodLabel
+
+ ^(self isBlock ifTrue:['[] in '] ifFalse:['']),
+ self selector ,
+ (' [' , self methodClass nameWithoutPrefix , ']') asText allBold
+
+ "Created: / 01-12-2007 / 20:56:29 / janfrog"
+ "Modified: / 01-12-2007 / 23:58:35 / janfrog"
+!
+
+packageLabel
+
+ ^('[' , self method package , ']') asText allItalic
+
+ "Created: / 01-12-2007 / 20:58:18 / janfrog"
+!
+
+selector
+
+ | mthd |
+ mthd := self method.
+ ^mthd
+ ifNotNil:[method selector]
+ ifNil:['<no method>']
+
+ "Created: / 01-12-2007 / 20:49:13 / janfrog"
+ "Modified: / 28-08-2010 / 21:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tally
+ ^ tally ? 0
+
+ "Created: / 01-12-2007 / 20:38:11 / janfrog"
+ "Modified: / 01-12-2007 / 23:43:58 / janfrog"
+!
+
+tally:anInteger
+ tally := anInteger.
+
+ "Created: / 01-12-2007 / 20:38:11 / janfrog"
+!
+
+tallyAdd: anInteger
+
+ tally := self tally + anInteger
+
+ "Created: / 01-12-2007 / 22:53:55 / janfrog"
+!
+
+tallyLabel
+
+ ^self tally printString , '% '
+
+ "Created: / 01-12-2007 / 20:47:09 / janfrog"
+! !
+
+!ProfilerInfoItem methodsFor:'accessing - private'!
+
+setChildren: collection
+
+ children := collection.
+ children do:[:e|e parent:e]
+
+ "Created: / 01-12-2007 / 20:43:36 / janfrog"
+! !
+
+!ProfilerInfoItem methodsFor:'comparing'!
+
+= anotherMethodInfo
+
+ ^self class == anotherMethodInfo class
+ and:[self method = anotherMethodInfo method
+ and:[self isBlock = anotherMethodInfo isBlock]]
+
+ "Created: / 01-12-2007 / 21:20:33 / janfrog"
+!
+
+hash
+
+ ^self method hash bitXor: [self isBlock hash]
+
+ "Created: / 01-12-2007 / 21:17:01 / janfrog"
+! !
+
+!ProfilerInfoItem class methodsFor:'documentation'!
+
+version_CVS
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__ProfilerInfoItem.st,v 1.1 2011-07-01 13:27:56 cg Exp $'
+!
+
+version_SVN
+ ^ '§Id: Tools__ProfilerInfoItem.st 7486 2009-10-26 22:06:24Z vranyj1 §'
+! !