tools/JavaLintService.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 27 Mar 2015 16:10:51 +0000
changeset 3418 3df0a2df585e
parent 3214 c38fcee7b0da
child 3438 83b000465fe0
permissions -rw-r--r--
java lint: validate language and source code when running Java lint. - the language may not be Java any longer as lint is run in background and could have been changed meanwhile. - do not run the compiler at all if code is empty
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
     1
"{ Encoding: utf8 }"
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
     2
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
 COPYRIGHT (c) 2006 by eXept Software AG
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	      All Rights Reserved
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 This software is furnished under a license and may be used
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
 hereby transferred.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
"{ Package: 'stx:libjava/tools' }"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
    16
"{ NameSpace: Smalltalk }"
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
    17
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
    18
Tools::BackgroundSourceProcessingService subclass:#JavaLintService
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
    19
	instanceVariableNames:'highlighter showingJava'
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	classVariableNames:'Debugging'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	poolDictionaries:''
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
	category:'Languages-Java-Tools-Editor-Lint'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
!JavaLintService class methodsFor:'documentation'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
copyright
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
 COPYRIGHT (c) 2006 by eXept Software AG
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	      All Rights Reserved
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
 This software is furnished under a license and may be used
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
 only in accordance with the terms of that license and with the
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
 be provided or otherwise made available to, or used by, any
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
 other person.  No title to or ownership of the software is
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
 hereby transferred.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
!JavaLintService class methodsFor:'initialization'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
initialize
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    | map |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    map := Screen current keyboardMap.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    map bindValue:#CodeCompletion to: #'Ctrl '.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    map bindValue:#CodeCompletion to: #'Ctrlspace'.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    "
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    Smalltalk isInitialized ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
        Smalltalk addStartBlock:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
            Screen current notNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
                | map |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
                map := Screen current keyboardMap.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
                (map keyAtValue:#CodeCompletion) isNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
                    map bindValue:#CodeCompletion to: #'Ctrl '.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
                    map bindValue:#CodeCompletion to: #'Ctrlspace'.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
                ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
           ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
        ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Modified: / 15-08-2013 / 15:19:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
!JavaLintService class methodsFor:'accessing'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
debugging
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    ^Debugging == true
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    "Created: / 17-02-2012 / 00:48:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
debugging: aBoolean
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    Debugging := aBoolean
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    "Created: / 16-02-2012 / 16:22:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
label
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    "Answers short label - for UI"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    ^'Java - Static Checking'
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    "Created: / 07-03-2010 / 14:00:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    "Modified: / 16-09-2013 / 10:01:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
priority
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    "Answers a priority of the service. Services with higher priority
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
     will get the event notification before ones with lower priority.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
     Therefore, a lower-priority service might not get the event if high
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
     priority service processes it"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    ^ 10
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "Created: / 01-02-2012 / 10:29:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
!JavaLintService class methodsFor:'queries'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
isUsefulFor:aCodeView
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "this filters useful services.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
     must be redefined to return true in subclasses (but each class must do it only
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
     for itself - not for subclasses"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
3214
c38fcee7b0da Fixes bad bug in Java thread handling that caused memory/resource leak.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   111
    ^ (self == JavaLintService)
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    "Created: / 24-07-2013 / 11:35:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3214
c38fcee7b0da Fixes bad bug in Java thread handling that caused memory/resource leak.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3209
diff changeset
   114
    "Modified: / 08-08-2014 / 06:53:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
!JavaLintService class methodsFor:'testing'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
isAvailable
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    ^UserPreferences current smallSenseEnabled
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
    "Created: / 04-02-2012 / 22:20:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
!JavaLintService methodsFor:'accessing'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
syntaxHighlighter
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    "Returns a syntax highligter class or nil. The highlighting
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
     process gather all syntaxHighlighterClasses from all services
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
     and then use them one by one to highlight the text. Individual
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
     services may override this method to provide additional
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
     highliging of the source code"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   135
    ^ showingJava
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
        ifTrue: [ highlighter ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
        ifFalse: [ nil ]
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
    "Created: / 05-08-2011 / 10:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   140
    "Modified: / 07-08-2014 / 00:33:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   143
!JavaLintService methodsFor:'change & update'!
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   144
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   145
sourceChanged: aBoolean
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   146
    modified := true.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   147
    super sourceChanged: aBoolean
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   148
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   149
    "Created: / 07-08-2014 / 01:10:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   150
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   151
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   152
update:something with:aParameter from:changedObject
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   153
    "Invoked when an object that I depend upon sends a change notification."
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   154
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   155
    textView notNil ifTrue:[ 
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   156
        (changedObject == textView and:[something == #sizeOfContents]) ifTrue:[
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   157
            modified := true.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   158
            ^self.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   159
        ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   160
        (modified and:[changedObject == textView cursorLineHolder]) ifTrue:[ 
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   161
            self process.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   162
        ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   163
    ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   164
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   165
    changedObject == codeView ifTrue:[
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   166
        (#(methodHolder classHolder languageHolder) includes: something) ifTrue:[
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   167
            aParameter key removeDependent: self.
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   168
            aParameter value addDependent: self.                         
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   169
        ].
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   170
    ].
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   171
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   172
    (changedObject == codeView languageHolder 
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   173
        or:[changedObject == codeView classHolder
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   174
        or:[changedObject == codeView methodHolder]]) ifTrue:[
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   175
        | lang |
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   176
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   177
        lang := codeView language.
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   178
        showingJava := JavaCompiler notNil and:[lang notNil and:[lang isJava]].
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   179
        ^ self
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   180
    ].    
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   181
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   182
    super update:something with:aParameter from:changedObject
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   183
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   184
    "Modified: / 07-08-2014 / 01:18:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   185
! !
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   186
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
!JavaLintService methodsFor:'event handling'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
buttonPress:button x:x y:y in:view 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
    |lineNr|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   192
    showingJava ifFalse:[ ^ false ].
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   193
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
    view == gutterView ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
        button == 1 ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
            lineNr := textView yVisibleToLineNr:y.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
            lineNr notNil ifTrue:[ 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
                ^ self showInfoWindowForLine: lineNr 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
            ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
            ^ false.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
        ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
    ^ false
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
    "Created: / 30-01-2012 / 21:04:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   206
    "Modified: / 21-10-2013 / 15:12:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   207
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   208
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   209
linesModifiedFrom:start to:end
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   210
    showingJava ifTrue:[ 
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   211
        (end - start) == 0 ifTrue:[ 
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   212
            "/ Only one like has been modified - edited?
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   213
            "/ Remove all (possible obsolete) error emphasis, but keep
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   214
            "/ annotations...
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   215
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   216
            "/ Does not work yet, we would have to remove problem from
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   217
            "/ highlughter problems too!!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   218
"/            | line |
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   219
"/
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   220
"/            line := textView list at: start.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   221
"/            line notEmptyOrNil ifTrue:[ 
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   222
"/                highlighter unmark: line from: 1 to: line size.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   223
"/            ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   224
        ] ifFalse:[
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   225
            "/ More lines has been modified, trigger compilation
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   226
            self sourceChanged: true.  
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   227
        ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   228
    ]
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   229
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   230
    "Created: / 07-08-2014 / 00:57:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
!JavaLintService methodsFor:'initialization'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
initialize
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
    super initialize.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
    highlighter := JavaLintHighlighter new.
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   240
    showingJava := false.
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
    "Created: / 05-08-2011 / 11:53:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   243
    "Modified: / 21-10-2013 / 15:11:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
!JavaLintService methodsFor:'private'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
annotationAtLine: lineNo
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
    | annotations |        
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
    (annotations := highlighter annotations) isEmptyOrNil ifTrue:[ ^ nil ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
    annotations do:[:a|
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
        | line |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
        line := a line.    
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
        line > lineNo ifTrue:[ ^ nil ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
        line == lineNo ifTrue:[ ^ a ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
    ^nil
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
    "Created: / 30-01-2012 / 21:06:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
    "Modified: / 16-09-2013 / 13:38:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   265
rehighlight: delayed
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   266
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   267
    | service |
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   268
    service := self service: SmallSense::CodeHighlightingService name.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   269
    service isNil ifTrue:[
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   270
        service := self service: Tools::CodeHighlightingService name
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   271
    ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   272
    service notNil ifTrue:[
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   273
        service sourceChanged: true.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   274
    ]
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   275
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   276
    "Created: / 27-01-2012 / 17:06:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   277
    "Modified: / 23-09-2013 / 22:27:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   278
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   279
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
showInfoWindowForLine: lineNo 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
    | ann |
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
    ann := self annotationAtLine: lineNo.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
    ann isNil ifTrue: [
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
        ^ false
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
    (JavaLintPopupWindow new)
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
        problem: ann problem;
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
        codeView: codeView;
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
        allButOpen;
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
        openWindowAt: (Screen current pointerPosition - (20 @ 20)).
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    ^ true
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    "Created: / 30-01-2012 / 21:04:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
    "Modified: / 16-09-2013 / 13:40:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   298
!JavaLintService methodsFor:'processing'!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   299
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   300
process
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   301
    showingJava ifTrue:[ 
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   302
        super process
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   303
    ].
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   304
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   305
    "Created: / 07-08-2014 / 00:42:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   306
!
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   307
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   308
process:delayed
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   309
    "Actually process source code. If `delayed` is true, view should be updated
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   310
     asynchronously using #pushUserEvent:. Individual services should override
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   311
     this method.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   312
     
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   313
     NOTE: Do not call this method from custom code directly, always call
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   314
     #processSafely: which handle possible errors and protect against
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   315
     'debugger bomb'"
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   316
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   317
    | lang |
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   318
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   319
    done := false.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   320
    modified := false.
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   321
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   322
    Delay waitForMilliseconds: 1000."Give user some time to finish coding"
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   323
    lang := codeView language.
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   324
    lang isJava ifFalse:[ ^ self ].
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   325
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   326
    modified ifFalse:[
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   327
        | code |
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   328
        code := textView list asStringWithoutEmphasis.
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   329
        code notEmptyOrNil ifTrue:[ 
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   330
            modified ifFalse:[
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   331
                | problems |
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   332
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   333
                problems := JavaCompiler new check: code.
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   334
                modified ifFalse:[ 
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   335
                    highlighter problems: problems.
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   336
                    self rehighlight: delayed  
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   337
                ].
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   338
            ]
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   339
        ].
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   340
    ]
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   341
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   342
    "Created: / 07-08-2014 / 00:41:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3418
3df0a2df585e java lint: validate language and source code when running Java lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3214
diff changeset
   343
    "Modified: / 27-03-2015 / 16:00:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   344
! !
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   345
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
!JavaLintService methodsFor:'redrawing'!
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
drawLine:lineNo in:view atX:x y:y width:w height:h from:startCol to:endColOrNil with:fg and:bg 
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    "Called by both gutterView and textView (well, not yet) to
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
     allow services to draw custom things on text view.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
     Ask JV what the args means if unsure (I'm lazy to document
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
     them, now it is just an experiment...)"
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   354
    | annotation |
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   356
    showingJava ifFalse:[ ^ self ].
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
    annotation :=  self annotationAtLine: lineNo.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
    annotation notNil ifTrue:[
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
        self drawAnnotationIcon: (ToolbarIconLibrary smalllintWarning16x16)
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
                atX: x y: y  width: w height: h.
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    ].
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
    "Created: / 30-01-2012 / 15:11:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2882
dc03c9cd404a Optimization in JavaLintService: cache language of the code view in an instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2789
diff changeset
   365
    "Modified: / 21-10-2013 / 15:12:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
! !
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
2735
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   368
!JavaLintService methodsFor:'registering'!
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   369
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   370
registerIn: aCodeView
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   371
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   372
    super registerIn: aCodeView.
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   373
    aCodeView languageHolder addDependent: self.
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   374
    aCodeView classHolder    addDependent: self.
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   375
    aCodeView methodHolder   addDependent: self.
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   376
    aCodeView textView cursorLineHolder addDependent: self.
2735
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   377
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   378
    "Created: / 17-09-2013 / 00:31:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   379
    "Modified: / 07-08-2014 / 01:05:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2890
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   380
!
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   381
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   382
unregister
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   383
    codeView textView cursorLineHolder removeDependent: self.
2890
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   384
    codeView languageHolder removeDependent: self.
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   385
    codeView classHolder    removeDependent: self.
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   386
    codeView methodHolder   removeDependent: self.
3124
553b1c08b6b1 Bugfix in JavaLintService>>unregister: call super unregister at the end of the unregister method.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2890
diff changeset
   387
    super unregister.
2890
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   388
96f3d8a73343 Fixed JavaLintService>>#unregister - break dependencies when unregistering
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2882
diff changeset
   389
    "Created: / 24-10-2013 / 23:12:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3209
b96f863a8500 Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3124
diff changeset
   390
    "Modified: / 07-08-2014 / 01:05:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2735
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   391
! !
e20dd8496371 Initial support for source code indexing (for semi-modal navigation)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2734
diff changeset
   392
2771
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   393
!JavaLintService class methodsFor:'documentation'!
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   394
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   395
version_HG
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   396
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   397
    ^ '$Changeset: <not expanded> $'
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   398
! !
08ef7d05987b Update JavaLintService after rename of SmallSense::SyntaxHighlightingService...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2741
diff changeset
   399
2734
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   400
f56049613ff3 Initial support for live code checker / lint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
JavaLintService initialize!