Tools__LintService.st
author Claus Gittinger <cg@exept.de>
Fri, 23 Jan 2015 13:54:20 +0100
changeset 15103 bf2b44843c24
parent 15102 158d59b3ca69
child 15293 6d8bbfd2f7e1
permissions -rw-r--r--
class: Tools::LintService changed: #flyByHelpTextAtLine:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     1
"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     3
              All Rights Reserved
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     4
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     5
Permission is hereby granted, free of charge, to any person
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     6
obtaining a copy of this software and associated documentation
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     7
files (the 'Software'), to deal in the Software without
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     8
restriction, including without limitation the rights to use,
efc1f0809373 initial checkin
vrany
parents:
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    10
copies of the Software, and to permit persons to whom the
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    11
Software is furnished to do so, subject to the following
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    12
conditions:
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    13
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    14
The above copyright notice and this permission notice shall be
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    15
included in all copies or substantial portions of the Software.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    16
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    23
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    24
OTHER DEALINGS IN THE SOFTWARE.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    25
"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    27
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    28
"{ NameSpace: Tools }"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    29
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    30
CodeViewService subclass:#LintService
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    31
	instanceVariableNames:'ruleHolderFromApp highlighter annotations
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    32
		annotationsSequenceNumber'
11416
941e576b6f71 changed: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11390
diff changeset
    33
	classVariableNames:''
941e576b6f71 changed: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11390
diff changeset
    34
	poolDictionaries:''
941e576b6f71 changed: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11390
diff changeset
    35
	category:'Interface-Lint'
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    36
!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    37
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    38
!LintService class methodsFor:'documentation'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    39
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    40
copyright
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    41
"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    42
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    43
              All Rights Reserved
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    44
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    45
Permission is hereby granted, free of charge, to any person
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    46
obtaining a copy of this software and associated documentation
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    47
files (the 'Software'), to deal in the Software without
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    48
restriction, including without limitation the rights to use,
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    49
copy, modify, merge, publish, distribute, sublicense, and/or sell
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    50
copies of the Software, and to permit persons to whom the
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    51
Software is furnished to do so, subject to the following
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    52
conditions:
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    53
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    54
The above copyright notice and this permission notice shall be
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    55
included in all copies or substantial portions of the Software.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    56
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    57
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    58
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    59
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    60
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    61
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    62
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    63
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    64
OTHER DEALINGS IN THE SOFTWARE.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    65
"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    66
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    67
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    68
!LintService class methodsFor:'accessing'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    69
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    70
label
13099
f4f0761ca231 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 11416
diff changeset
    71
    "Answers a short label - for UI"
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    72
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    73
    ^'SmallLint Checker'
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    74
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    75
    "Created: / 05-08-2011 / 11:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    76
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    77
13202
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    78
!LintService class methodsFor:'testing'!
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    79
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    80
isUsefulFor:aCodeView
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    81
    "this filters useful services.
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    82
     Redefined to return true for myself - not for subclasses"
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    83
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    84
    ^ self == Tools::LintService
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    85
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    86
    "Created: / 22-07-2013 / 14:01:38 / cg"
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    87
! !
dd6ea03d2edd class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 13099
diff changeset
    88
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    89
!LintService methodsFor:'accessing'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
    90
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    91
annotationAtLine: lineNo
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    92
    | anns |
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    93
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    94
    (anns := self annotations) notNil ifTrue:[ 
15076
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
    95
        ^ anns detect:[:annotation | annotation line = lineNo] ifNone:[nil]
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    96
    ].
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    97
    ^ nil
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    98
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
    99
    "Created: / 30-01-2012 / 21:06:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   100
    "Modified: / 15-12-2014 / 15:40:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   101
!
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   102
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   103
annotations
15076
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   104
    #fixme. "/ code duplication with SmalltalkLintService >> annotations
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   105
    (highlighter notNil and:[ highlighter sequenceNumber ~~ annotationsSequenceNumber ]) ifTrue:[
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   106
        | rulesToIntervalsMap annotationsPerLineMap |
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   107
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   108
        rulesToIntervalsMap := highlighter rulesToIntervalsMap.
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   109
        rulesToIntervalsMap notNil ifTrue:[ 
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   110
            annotationsPerLineMap := Dictionary new.
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   111
            rulesToIntervalsMap keysAndValuesDo:[ :rule :intervals |
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   112
                intervals do:[:interval | 
15076
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   113
                    | line annotation ruleAlready|
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   114
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   115
                    line := codeView lineOfCharacterPosition: interval first.
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   116
                    annotation := annotationsPerLineMap at: line ifAbsentPut:[ LintAnnotation new line: line ].
15076
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   117
                    ruleAlready := annotation rule.
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   118
                    ruleAlready notNil ifTrue:[ 
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   119
                        ruleAlready isComposite ifTrue: [ 
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   120
                            (ruleAlready rules includes:rule) ifFalse:[
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   121
                                ruleAlready addRule:rule "rules add: rule"
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   122
                            ].
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   123
                        ] ifFalse:[
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   124
                            ruleAlready ~= rule ifTrue:[
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   125
                                annotation rule: (RBCompositeLintRule rules: (OrderedCollection with: ruleAlready with: rule))
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   126
                            ]
c3c0c682a1e0 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15030
diff changeset
   127
                        ]
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   128
                    ] ifFalse:[ 
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   129
                        annotation rule: rule
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   130
                    ].
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   131
                ].
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   132
            ].
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   133
            annotations := annotationsPerLineMap values sort:[ :a :b | a line < b line ].
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   134
            annotationsSequenceNumber := highlighter sequenceNumber.
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   135
        ]
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   136
    ].
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   137
    ^annotations
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   138
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   139
    "Created: / 15-12-2014 / 15:29:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   140
    "Modified: / 15-12-2014 / 18:41:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   141
!
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   142
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   143
syntaxHighlighter
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   144
    | app rules |
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   145
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   146
    app := codeView application.
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   147
    app notNil ifTrue:[
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   148
        rules := self ruleHolderFromApp value.
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   149
        rules notEmptyOrNil ifTrue:[
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   150
            annotations := nil.
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   151
            highlighter rules: rules.
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   152
            ^ highlighter
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   153
        ].
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   154
    ].
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   155
    ^nil
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   156
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   157
    "Created: / 05-08-2011 / 10:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   158
    "Modified: / 08-03-2012 / 01:23:48 / cg"
15030
c8d7085ee271 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14972
diff changeset
   159
    "Modified: / 15-12-2014 / 20:22:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   160
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   161
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   162
!LintService methodsFor:'aspects'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   163
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   164
ruleHolderFromApp
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   165
    "return/create the 'ruleHolderFromApp' value holder (automatically generated)"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   166
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   167
    |app|
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   168
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   169
    ruleHolderFromApp isNil ifTrue:[
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   170
        (app := self application) notNil ifTrue:[
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   171
            self fetchLintRuleHolder
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   172
            "/ ruleHolderFromApp := ValueHolder new.
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   173
            "/ ruleHolderFromApp addDependent:self.
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   174
        ].
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   175
    ].
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   176
    ^ ruleHolderFromApp
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   177
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   178
    "Modified: / 08-03-2012 / 01:17:15 / cg"
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   179
!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   180
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   181
ruleHolderFromApp:something
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   182
    "set the 'ruleHolderFromApp' value holder (automatically generated)"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   183
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   184
    |oldValue newValue|
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   185
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   186
    ruleHolderFromApp notNil ifTrue:[
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   187
        oldValue := ruleHolderFromApp value.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   188
        ruleHolderFromApp removeDependent:self.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   189
    ].
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   190
    ruleHolderFromApp := something.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   191
    ruleHolderFromApp notNil ifTrue:[
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   192
        ruleHolderFromApp addDependent:self.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   193
    ].
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   194
    newValue := ruleHolderFromApp value.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   195
    oldValue ~~ newValue ifTrue:[
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   196
        self update:#value with:newValue from:ruleHolderFromApp.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   197
    ].
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   198
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   199
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   200
!LintService methodsFor:'change & update'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   201
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   202
update: aspect with: param from: sender
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   203
    aspect == #sizeOfView ifFalse:[
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   204
        sender == ruleHolderFromApp ifTrue:[
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   205
            self syntaxHighlight: true.
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   206
            ^ self.
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   207
        ]
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   208
    ].
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   209
    super update: aspect with: param from: sender.
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   210
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   211
    "Created: / 05-08-2011 / 11:49:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   212
    "Modified: / 07-03-2012 / 17:16:59 / cg"
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   213
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   214
14972
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   215
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   216
!LintService methodsFor:'help'!
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   217
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   218
flyByHelpTextAtLine:aLineNr
15103
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   219
    |a html rule info|
14972
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   220
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   221
    a := self annotationAtLine:aLineNr.
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   222
    a notNil ifTrue:[
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   223
        (rule := a rule) notNil ifTrue:[
15103
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   224
            rule isComposite ifTrue:[
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   225
                info := Character cr ,
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   226
                        ((rule rules collect:[:each | codeView resources string:each infoInToolTip] as:Set)
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   227
                            asStringCollection asStringWith:Character cr). 
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   228
            ] ifFalse:[
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   229
                info := codeView resources string:rule infoInToolTip
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   230
            ].
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   231
            ^ 'Lint says: ',info.
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   232
14972
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   233
"/            html := String streamContents:[:s|
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   234
"/                        s 
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   235
"/                            nextPutAll: '<html>'; 
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   236
"/                            nextPutAll: rule name; 
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   237
"/                            nextPutAll:'<P>';  
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   238
"/                            nextPutLine: rule rationale;
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   239
"/                            nextPutAll: '</html>'. 
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   240
"/                    ].
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   241
"/            ^ html
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   242
        ]
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   243
    ].
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   244
    ^ nil
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   245
! !
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   246
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   247
!LintService methodsFor:'initialization'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   248
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   249
initialize
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   250
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   251
    super initialize.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   252
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   253
    highlighter := LintHighlighter new
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   254
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   255
    "Modified: / 03-09-2010 / 22:29:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   256
    "Created: / 05-08-2011 / 11:53:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   257
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   258
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   259
!LintService methodsFor:'private'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   260
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   261
syntaxHighlight: delayed
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   262
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   263
    | service |
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   264
    service := self service: #'Tools::CodeHighlightingService'.
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   265
    service notNil ifTrue:[
14052
ebcdddd89b02 Fix in BackrgoundSourceProcessingService:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   266
        service processSafely: delayed
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   267
    ]
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   268
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   269
    "Created: / 05-08-2011 / 11:49:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14052
ebcdddd89b02 Fix in BackrgoundSourceProcessingService:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13498
diff changeset
   270
    "Modified: / 25-02-2014 / 19:57:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   271
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   272
14972
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   273
!LintService methodsFor:'redrawing'!
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   274
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   275
drawLine:lineNo in:view atX:x y:y width:w height:h from:startCol to:endColOrNil with:fg and:bg 
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   276
    "Called by both gutterView and textView (well, not yet) to
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   277
     allow services to draw custom things on text view.
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   278
     Ask JV what the args means if unsure (I'm lazy to document
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   279
     them, now it is just an experiment...)"
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   280
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   281
    | lang annotation |
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   282
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   283
    ((lang := codeView language) isNil or:[lang isSmalltalk not]) ifTrue:[ ^ self ].
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   284
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   285
    annotation :=  self annotationAtLine: lineNo.
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   286
    annotation notNil ifTrue:[
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   287
        self drawAnnotationIcon: (ToolbarIconLibrary smalllintWarning16x16)
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   288
                atX: x y: y  width: w height: h.
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   289
    ].
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   290
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   291
    "Created: / 30-01-2012 / 15:11:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   292
    "Modified: / 07-08-2013 / 00:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   293
! !
0e176d3678b1 Support for line annotations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14052
diff changeset
   294
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   295
!LintService methodsFor:'registering'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   296
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   297
fetchLintRuleHolder
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   298
    |app|
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   299
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   300
    app := self application.
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   301
    app notNil ifTrue:[
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   302
        "/ bad design; better idea would be to pass the lintRuleHolder back from the
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   303
        "/ application to me explicitely (in a postBuild method for some ruleCanvas of the app)
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   304
        (app respondsTo: #selectedLintRules) ifTrue:[
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   305
            self ruleHolderFromApp: app selectedLintRules
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   306
        ] ifFalse:[
13498
b8d845e42988 Added `environment` instance variable to Tools__NewSystemBrowser and
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13202
diff changeset
   307
            "/ self breakPoint:#jv.
11416
941e576b6f71 changed: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11390
diff changeset
   308
            "/ Transcript showCR:'LintService [info]: app does not provide a lintRuleHolder'
11382
c078e68a2ffe changed:
Claus Gittinger <cg@exept.de>
parents: 11227
diff changeset
   309
        ]
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   310
    ].
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   311
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   312
    "Created: / 08-03-2012 / 01:16:38 / cg"
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   313
!
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   314
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   315
registerIn: aCodeView
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   316
    super registerIn: aCodeView.
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   317
    self fetchLintRuleHolder.
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   318
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   319
    "Modified: / 17-06-2011 / 13:07:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   320
    "Created: / 05-08-2011 / 11:47:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11390
b5af6f49f10f added: #fetchLintRuleHolder
Claus Gittinger <cg@exept.de>
parents: 11389
diff changeset
   321
    "Modified: / 08-03-2012 / 01:16:51 / cg"
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   322
! !
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   323
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   324
!LintService class methodsFor:'documentation'!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   325
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   326
version
15103
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   327
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.15 2015-01-23 12:54:20 cg Exp $'
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   328
!
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   329
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   330
version_CVS
15103
bf2b44843c24 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 15102
diff changeset
   331
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.15 2015-01-23 12:54:20 cg Exp $'
10484
efc1f0809373 initial checkin
vrany
parents:
diff changeset
   332
! !
13099
f4f0761ca231 class: Tools::LintService
Claus Gittinger <cg@exept.de>
parents: 11416
diff changeset
   333