Tools__CompilerWarningToDoListEntry.st
author Claus Gittinger <cg@exept.de>
Mon, 13 Nov 2006 13:20:34 +0100
changeset 7511 02f65c9a5d2e
parent 7446 008ffff0126e
child 7529 ad533058030a
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7446
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: Tools }"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
ToDoListEntry subclass:#CompilerWarningToDoListEntry
7511
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
     6
	instanceVariableNames:'checkAction className class selector position equalityParameter'
7446
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'Interface-Smalltalk-ToDo'
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
!CompilerWarningToDoListEntry methodsFor:'accessing'!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
className
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    ^ className
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    "Created: / 22-10-2006 / 01:39:43 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
className:classNameArg selector:selectorArg checkAction:checkActionArg equalityParameter:equalityParameterArg 
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    checkAction := checkActionArg.
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    className := classNameArg.
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    selector := selectorArg.
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    equalityParameter := equalityParameterArg.
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
    "Created: / 22-10-2006 / 01:38:26 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
equalityParameter
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    ^ equalityParameter
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
    "Created: / 21-10-2006 / 21:57:01 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
methodOrClassName
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    selector isNil ifTrue:[^ className ].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
    ^ className,' ',selector
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    "Created: / 22-10-2006 / 11:05:21 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
7511
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    43
position
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    44
    ^ position
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    45
!
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    46
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    47
position:something
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    48
    position := something.
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    49
!
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
    50
7446
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
problemClass
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    ^ Smalltalk classNamed:className
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "Created: / 21-10-2006 / 21:50:38 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Modified: / 22-10-2006 / 01:39:39 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
problemClassName
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    ^ className
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    "Created: / 22-10-2006 / 01:40:11 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
problemMethod
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    |cls|
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    selector isNil ifTrue:[^ nil].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    cls := self problemClass.
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    cls isNil ifTrue:[^ nil].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    ^ cls compiledMethodAt:selector
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    "Created: / 22-10-2006 / 02:42:39 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
problemSelector
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    ^ selector
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    "Created: / 21-10-2006 / 21:50:58 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
update:something with:aParameter from:changedObject
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    self revalidate.
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    "Created: / 21-10-2006 / 21:28:35 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
! !
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!CompilerWarningToDoListEntry methodsFor:'duplicate detection'!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
sameAs:anotherEntry
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    ^ anotherEntry sameAsCompilerWarningToDoListEntry:self
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    "Created: / 21-10-2006 / 21:38:15 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
sameAsCompilerWarningToDoListEntry:anotherEntry
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    anotherEntry problemClassName = className ifFalse:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    anotherEntry problemSelector = selector ifFalse:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    anotherEntry equalityParameter = equalityParameter ifFalse:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    ^ true
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    "Created: / 21-10-2006 / 21:41:57 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "Modified: / 22-10-2006 / 01:40:03 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
! !
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!CompilerWarningToDoListEntry methodsFor:'misc'!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
browse
7511
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   110
    |brwsr|
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   111
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   112
    brwsr := UserPreferences browserClass 
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   113
        openInClass:(self problemClass) selector:selector.
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   114
    brwsr codeView cursorToCharacterPosition:position.
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   115
"/    brwsr codeView selectLine:(brwsr codeView cursorLine).
7446
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    "Created: / 22-10-2006 / 01:38:11 / cg"
7511
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   118
    "Modified: / 11-11-2006 / 14:49:35 / cg"
7446
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
! !
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
!CompilerWarningToDoListEntry methodsFor:'validation'!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
checkIfClassIsStillValid
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    className notNil ifTrue:[
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
        (Smalltalk classNamed:className) isNil ifTrue:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    ].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    ^ true
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    "Created: / 21-10-2006 / 21:58:26 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    "Modified: / 22-10-2006 / 01:41:53 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
checkIfSelectorIsStillValid
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    selector notNil ifTrue:[
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
        (self problemClass compiledMethodAt:selector) isNil ifTrue:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    ].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    ^ true
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    "Created: / 21-10-2006 / 21:58:44 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    "Modified: / 22-10-2006 / 01:40:40 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
checkIfStillValid
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    self checkIfClassIsStillValid ifFalse:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    self checkIfSelectorIsStillValid ifFalse:[^ false].
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    ^ (checkAction value:self)
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    "Created: / 21-10-2006 / 21:31:27 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
    "Modified: / 21-10-2006 / 23:10:33 / cg"
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
! !
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
!CompilerWarningToDoListEntry class methodsFor:'documentation'!
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
version
7511
02f65c9a5d2e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7446
diff changeset
   156
    ^ '$Header: /cvs/stx/stx/libtool/Tools__CompilerWarningToDoListEntry.st,v 1.2 2006-11-13 12:20:34 cg Exp $'
7446
008ffff0126e initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
! !