Tools__ProfilerInfoItem.st
author Claus Gittinger <cg@exept.de>
Fri, 01 Jul 2011 15:27:56 +0200
changeset 9993 3dec934db707
child 10059 6fe87cce6a78
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9993
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
	      All Rights Reserved
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
HierarchicalItem subclass:#ProfilerInfoItem
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'method isBlock tally'
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Browsers-New-Profiler'
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!ProfilerInfoItem class methodsFor:'documentation'!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2006 by eXept Software AG
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	      All Rights Reserved
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
! !
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!ProfilerInfoItem methodsFor:'accessing'!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
isBlock
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    ^ isBlock ? false
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    "Created: / 01-12-2007 / 20:38:11 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    "Modified: / 01-12-2007 / 23:54:48 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
isBlock:aBoolean
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    isBlock := aBoolean.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    "Created: / 01-12-2007 / 20:38:11 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
label
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    ^self tallyLabel, ' in ',
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
        self methodLabel, ' ',
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
            self packageLabel
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "Created: / 01-12-2007 / 20:46:01 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
method
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    ^ method
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    "Created: / 01-12-2007 / 20:38:11 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
method:aCompiledMethod
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    method := aCompiledMethod.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    "Created: / 01-12-2007 / 20:38:11 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
methodClass
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    | mthd |
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    mthd := self method.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    ^mthd
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
        ifNotNil:[method mclass]
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
        ifNil:[UndefinedObject]
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "Created: / 01-12-2007 / 20:49:57 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    "Modified: / 28-08-2010 / 21:02:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
methodLabel
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    ^(self isBlock ifTrue:['[] in '] ifFalse:['']), 
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
        self selector , 
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
            (' [' , self methodClass nameWithoutPrefix , ']') asText allBold
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    "Created: / 01-12-2007 / 20:56:29 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    "Modified: / 01-12-2007 / 23:58:35 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
packageLabel
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    ^('[' , self method package , ']') asText allItalic
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    "Created: / 01-12-2007 / 20:58:18 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
selector
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    | mthd |
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    mthd := self method.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    ^mthd 
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
        ifNotNil:[method selector]
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
        ifNil:['<no method>']
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    "Created: / 01-12-2007 / 20:49:13 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
    "Modified: / 28-08-2010 / 21:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
tally
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    ^ tally ? 0
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    "Created: / 01-12-2007 / 20:38:11 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    "Modified: / 01-12-2007 / 23:43:58 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
tally:anInteger
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    tally := anInteger.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "Created: / 01-12-2007 / 20:38:11 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
tallyAdd: anInteger
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    tally := self tally + anInteger
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "Created: / 01-12-2007 / 22:53:55 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
tallyLabel
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    ^self tally printString , '% '
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    "Created: / 01-12-2007 / 20:47:09 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
! !
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
!ProfilerInfoItem methodsFor:'accessing - private'!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
setChildren: collection
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    children := collection.
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    children do:[:e|e parent:e]
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    "Created: / 01-12-2007 / 20:43:36 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
! !
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
!ProfilerInfoItem methodsFor:'comparing'!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
= anotherMethodInfo
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    ^self class == anotherMethodInfo class
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
        and:[self method = anotherMethodInfo method
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
            and:[self isBlock = anotherMethodInfo isBlock]]
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "Created: / 01-12-2007 / 21:20:33 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
hash
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    ^self method hash bitXor: [self isBlock hash]
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    "Created: / 01-12-2007 / 21:17:01 / janfrog"
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
! !
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
!ProfilerInfoItem class methodsFor:'documentation'!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
version_CVS
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProfilerInfoItem.st,v 1.1 2011-07-01 13:27:56 cg Exp $'
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
!
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
version_SVN
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    ^ '§Id: Tools__ProfilerInfoItem.st 7486 2009-10-26 22:06:24Z vranyj1 §'
3dec934db707 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
! !