tools/JavaSyntaxHighlighter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 15 Dec 2012 23:25:19 +0100
branchdevelopment
changeset 1883 b36e52129040
parent 1879 7d232ff32dde
child 1884 b5f94052b1c7
permissions -rw-r--r--
Initial implementation of JavaCompiler using Oracle javac toolbox. Not yet finished.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     1
"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     3
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     5
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     6
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     8
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
     9
 This software is furnished under a license and may be used
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    10
 only in accordance with the terms of that license and with the
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    12
 be provided or otherwise made available to, or used by, any
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    13
 other person.  No title to or ownership of the software is
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    14
 hereby transferred.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    15
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    18
     see the differences between this version and version stx:libjava
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    19
     as of 1.9.2010
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    20
"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    21
"{ Package: 'stx:libjava/tools' }"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    22
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    23
Object subclass:#JavaSyntaxHighlighter
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    24
	instanceVariableNames:'preferences elements cachedStringEmphasis cachedStringColor
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    25
		sourceText'
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
    26
	classVariableNames:'FormattedSourceCache'
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    27
	poolDictionaries:''
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    28
	category:'Languages-Java-Tools'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    29
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    30
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    31
JavaParseNodeBuilder subclass:#Builder
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    32
	instanceVariableNames:'highlighter'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    33
	classVariableNames:''
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    34
	poolDictionaries:''
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    35
	privateIn:JavaSyntaxHighlighter
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    36
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    37
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    38
JavaParser subclass:#Parser
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    39
	instanceVariableNames:'stream'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    40
	classVariableNames:''
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    41
	poolDictionaries:''
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    42
	privateIn:JavaSyntaxHighlighter
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    43
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    44
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    45
JavaScanner subclass:#Scanner
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    46
	instanceVariableNames:'highlighter'
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    47
	classVariableNames:''
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    48
	poolDictionaries:''
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    49
	privateIn:JavaSyntaxHighlighter
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    50
!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
    51
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    52
!JavaSyntaxHighlighter class methodsFor:'documentation'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    53
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    54
copyright
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    55
"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    56
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    57
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    58
 New code and modifications done at SWING Research Group [1]:
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    59
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    60
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    61
                            SWING Research Group, Czech Technical University in Prague
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    62
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    63
 This software is furnished under a license and may be used
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    64
 only in accordance with the terms of that license and with the
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    65
 inclusion of the above copyright notice.   This software may not
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    66
 be provided or otherwise made available to, or used by, any
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    67
 other person.  No title to or ownership of the software is
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    68
 hereby transferred.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    69
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    70
 [1] Code written at SWING Research Group contains a signature
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    71
     of one of the above copright owners. For exact set of such code,
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    72
     see the differences between this version and version stx:libjava
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    73
     as of 1.9.2010
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    74
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    75
"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    76
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    77
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    78
!JavaSyntaxHighlighter class methodsFor:'formatting'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    79
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    80
formatClass: javaClass
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    81
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    82
    ^self new formatClassDefinition: javaClass source in: javaClass
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    83
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    84
    "Created: / 15-12-2011 / 21:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    85
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    86
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    87
formatClassDefinition:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    88
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    89
    ^self new formatClassDefinition:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    90
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    91
    "Created: / 04-08-2011 / 23:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    92
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    93
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    94
formatClassDefinition:source in:class elementsInto: elements
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    95
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    96
    ^self new formatClassDefinition:source in:class elementsInto: elements
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    97
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    98
    "Created: / 04-08-2011 / 23:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
    99
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   100
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   101
formatExpression:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   102
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   103
    ^self new formatExpression:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   104
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   105
    "Created: / 04-08-2011 / 23:45:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   106
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   107
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   108
formatExpression:source in:class elementsInto: elements
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   109
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   110
    ^self new formatExpression:source in:class elementsInto: elements
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   111
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   112
    "Created: / 04-08-2011 / 23:43:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   113
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   114
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   115
formatMethod:mth source:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   116
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   117
    ^self formatMethod: mth source: source in: class using: UserPreferences current
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   118
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   119
    "Created: / 11-02-2012 / 18:18:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   120
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   121
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   122
formatMethod:mth source:source in:class using: preferences
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   123
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   124
    ^self new formatMethod:mth source:source in:class using: preferences
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   125
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   126
    "Created: / 04-08-2011 / 23:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   127
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   128
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   129
formatMethod:mth source:source in:class using: preferences elementsInto: elements
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   130
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   131
    ^self new formatMethod:mth source:source in:class using: preferences elementsInto: elements
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   132
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   133
    "Created: / 04-08-2011 / 23:42:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   134
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   135
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   136
!JavaSyntaxHighlighter methodsFor:'formatting'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   137
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   138
formatClassDefinition:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   139
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   140
    ^ self format: source kind: #start in: class
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   141
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   142
    "Created: / 04-08-2011 / 23:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   143
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   144
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   145
formatClassDefinition:source in:class elementsInto: els
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   146
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   147
    elements := els.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   148
    ^self formatClassDefinition:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   149
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   150
    "Created: / 04-08-2011 / 23:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   151
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   152
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   153
formatExpression:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   154
1582
8ca86e63d517 - JavaSyntaxHighlighter
vranyj1
parents: 1479
diff changeset
   155
"/    self breakPoint:#jv.
1460
b3f8d4084ffa - JavaSyntaxHighlighter
vranyj1
parents: 1442
diff changeset
   156
    ^source.
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   157
    ^ self format: source kind: #'K_EXPRESSION' in: class
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   158
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   159
    "Created: / 04-08-2011 / 23:45:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   160
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   161
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   162
formatExpression:source in:class elementsInto: els
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   163
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   164
    elements := els.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   165
    ^self formatExpression:source in:class
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   166
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   167
    "Created: / 04-08-2011 / 23:43:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   168
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   169
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   170
formatMethod:mth source:source in:class using: prefs
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   171
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   172
    preferences := prefs.
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   173
    ^ self format: source kind: #start in: class
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   174
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   175
    "Created: / 04-08-2011 / 23:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   176
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   177
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   178
formatMethod:mth source:source in:class using: prefs elementsInto: els
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   179
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   180
    preferences := prefs.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   181
    elements := els.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   182
    ^self formatMethod:mth source:source in:class using: prefs
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   183
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   184
    "Created: / 04-08-2011 / 23:42:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   185
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   186
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   187
!JavaSyntaxHighlighter methodsFor:'formatting - private'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   188
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   189
format: source kind: kind in: class
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   190
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   191
    | scanner parser builder cacheIt |
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   192
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   193
    "Optimization - if full class source is to be formatted,
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   194
     consult cache - when browsing the code or debugging, very 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   195
     often same same source is to be highlighted"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   196
    cacheIt := kind == #start and: [class notNil].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   197
    cacheIt ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   198
        FormattedSourceCache isNil ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   199
            FormattedSourceCache := OrderedDictionary new
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   200
        ] ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   201
            FormattedSourceCache 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   202
                at: class 
1479
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   203
                ifPresent:[:sourceAndText|
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   204
                    sourceAndText first = source ifTrue:[
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   205
                        ^sourceAndText second
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   206
                    ].
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   207
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   208
                ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   209
        ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   210
    ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   211
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   212
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   213
    source isText ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   214
        sourceText := source copy
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   215
    ] ifFalse:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   216
        sourceText := source asText.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   217
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   218
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   219
    preferences isNil ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   220
        preferences := UserPreferences current.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   221
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   222
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   223
    scanner := Scanner for: source.  
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   224
    builder := Builder new.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   225
    builder highlighter: self.
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   226
    scanner highlighter: self.
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   227
    parser := Parser newStartingAt: kind.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   228
    parser builder: builder.
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   229
    parser stream: scanner.
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   230
    parser parse: scanner.
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   231
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   232
    cacheIt ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   233
        [ FormattedSourceCache size > 25 ] whileTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   234
            FormattedSourceCache removeKey: FormattedSourceCache keys first.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   235
        ].
1479
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   236
        FormattedSourceCache at: class put: { source . sourceText }
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   237
    ].
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   238
    ^sourceText.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   239
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   240
    "Created: / 17-03-2012 / 14:02:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   241
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   242
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   243
!JavaSyntaxHighlighter methodsFor:'syntax detection'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   244
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   245
markArgumentIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   246
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   247
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   248
        withEmphasis:(preferences argumentIdentifierEmphasis) color:(preferences argumentIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   249
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   250
1479
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   251
markBadIdentifierFrom:pos1 to:pos2
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   252
    self 
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   253
        markFrom:pos1 to:pos2 
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   254
        withEmphasis:(preferences badIdentifierEmphasis) 
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   255
        color:(preferences badIdentifierColor)
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   256
!
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   257
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   258
markClassVariableIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   259
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   260
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   261
        withEmphasis:(preferences classVariableIdentifierEmphasis) color:(preferences classVariableIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   262
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   263
    "Modified: / 31.3.1998 / 18:02:14 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   264
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   265
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   266
markCommentFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   267
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   268
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   269
        withEmphasis:(preferences commentEmphasis) color:(preferences commentColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   270
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   271
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   272
markConstantFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   273
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   274
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   275
        withEmphasis:(preferences constantEmphasis) color:(preferences constantColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   276
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   277
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   278
markFrom:pos1 to:pos2 withEmphasis:fontEmp color:clrIn
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   279
    |e p2 clr|
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   280
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   281
    clr := clrIn onDevice:Screen current.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   282
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   283
    clr = Color black ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   284
        e := fontEmp
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   285
    ] ifFalse:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   286
        fontEmp isNil ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   287
            e := (#color->clr)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   288
        ] ifFalse:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   289
            e := Text addEmphasis:fontEmp to:(#color->clr).
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   290
        ]
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   291
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   292
    (p2 := pos2) isNil ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   293
        p2 := sourceText size
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   294
    ] ifFalse:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   295
        p2 := p2 min:sourceText size
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   296
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   297
    sourceText emphasizeFrom:pos1 to:p2 with:e
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   298
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   299
    "Created: / 31.3.1998 / 13:26:53 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   300
    "Modified: / 1.4.1998 / 12:51:56 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   301
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   302
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   303
markFunctionNameFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   304
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   305
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   306
        withEmphasis:(preferences methodSelectorEmphasis) color:(preferences methodSelectorColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   307
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   308
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   309
markGlobalClassIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   310
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   311
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   312
        withEmphasis:(preferences globalClassIdentifierEmphasis) color:(preferences globalClassIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   313
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   314
    "Modified: / 31.3.1998 / 18:02:14 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   315
    "Created: / 4.3.1999 / 12:53:02 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   316
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   317
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   318
markGlobalIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   319
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   320
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   321
        withEmphasis:(preferences globalIdentifierEmphasis) color:(preferences globalIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   322
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   323
    "Modified: / 31.3.1998 / 18:02:14 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   324
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   325
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   326
markIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   327
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   328
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   329
        withEmphasis:(preferences identifierEmphasis) color:(preferences identifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   330
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   331
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   332
markInstVarIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   333
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   334
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   335
        withEmphasis:(preferences instVarIdentifierEmphasis) color:(preferences instVarIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   336
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   337
    "Created: / 16.4.1998 / 18:35:40 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   338
    "Modified: / 16.4.1998 / 18:37:30 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   339
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   340
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   341
markKeyword:kw from:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   342
    |em clr|
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   343
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   344
    ( #( 'if' 'else'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   345
         'while'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   346
         'for'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   347
         'do'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   348
         'return'
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   349
    ) includes:kw) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   350
        em := preferences controlFlowSelectorEmphasis. 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   351
        clr := preferences controlFlowSelectorColor.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   352
    ] ifFalse:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   353
        em := preferences jsKeywordEmphasis.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   354
        clr := preferences jsKeywordColor.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   355
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   356
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   357
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   358
        withEmphasis:em color:clr
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   359
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   360
    "Modified: / 19-05-2010 / 15:07:59 / cg"
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   361
    "Modified: / 17-03-2012 / 00:14:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   362
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   363
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   364
markLocalIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   365
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   366
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   367
        withEmphasis:(preferences localIdentifierEmphasis) color:(preferences localIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   368
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   369
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   370
markSelector:selectorString from:pos1 to:pos2 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   371
    | fg em |
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   372
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   373
    fg := preferences selectorColor.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   374
    em := preferences selectorEmphasis.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   375
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   376
    self
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   377
        markFrom:pos1 to:pos2 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   378
        withEmphasis:em color:fg
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   379
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   380
    "Modified: / 04-10-2011 / 19:48:48 / cg"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   381
    "Modified: / 17-03-2012 / 13:26:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   382
    "Created: / 17-03-2012 / 19:12:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   383
!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   384
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   385
markSelector:selectorString from:pos1 to:pos2 receiverNode:aReceiverNodeOrNil numArgs:numArgs
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   386
    |fg selectorSymbol check ok rec em currentEnvironment currentSuperclasses currentSubclasses classToCompileFor fullSelectorCheck|
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   387
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   388
    fg := preferences selectorColor.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   389
    em := preferences selectorEmphasis.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   390
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   391
"/    (currentEnvironment notNil
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   392
"/    and:[ (((currentEnvironment _localVariables ? #()) contains:[:local | local name = selectorString]) 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   393
"/          or:[((currentEnvironment _argVariables ? #()) contains:[:local | local name = selectorString])])
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   394
"/    ])
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   395
"/    ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   396
"/        "/ a local call
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   397
"/    ] ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   398
"/        selectorSymbol := (self translatedSmalltalkSelectorFor:selectorString numArgs:numArgs) asSymbolIfInterned.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   399
"/        selectorSymbol isNil ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   400
"/            fg := Color red.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   401
"/        ] ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   402
"/            fullSelectorCheck == true ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   403
"/                aReceiverNodeOrNil notNil ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   404
"/                    check := [:cls | (cls includesSelector:selectorSymbol)
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   405
"/                                     or:[cls class includesSelector:selectorSymbol]].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   406
"/
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   407
"/                    ok := false.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   408
"/
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   409
"/                    "/ limit search if possible
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   410
"/                    (classToCompileFor notNil
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   411
"/                     and:[aReceiverNodeOrNil isSelf or:[aReceiverNodeOrNil isSuper]]) ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   412
"/                        currentSuperclasses isNil ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   413
"/                            currentSuperclasses := classToCompileFor withAllSuperclasses.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   414
"/                        ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   415
"/                        ok := currentSuperclasses contains:check.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   416
"/                        (ok not and:[aReceiverNodeOrNil isSelf]) ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   417
"/                            currentSubclasses isNil ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   418
"/                                currentSubclasses := classToCompileFor allSubclasses.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   419
"/                            ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   420
"/                            ok := currentSubclasses contains:check.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   421
"/                        ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   422
"/                    ] ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   423
"/                        aReceiverNodeOrNil isConstant ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   424
"/                            ok := aReceiverNodeOrNil evaluate class withAllSuperclasses contains:check.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   425
"/                        ] ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   426
"/                            (aReceiverNodeOrNil isGlobal 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   427
"/                            and:[(rec := aReceiverNodeOrNil evaluate) isBehavior]) ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   428
"/                                ok := rec class withAllSuperclasses contains:check.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   429
"/                            ] ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   430
"/                                ok := Smalltalk allClasses contains:check
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   431
"/                            ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   432
"/                        ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   433
"/                    ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   434
"/
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   435
"/                    ok ifFalse:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   436
"/                        em := preferences unimplementedSelectorEmphasis.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   437
"/                        fg := preferences unimplementedSelectorColor.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   438
"/                    ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   439
"/                ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   440
"/            ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   441
"/        ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   442
"/    ].
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   443
    self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   444
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   445
        withEmphasis:em color:fg
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   446
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   447
    "Modified: / 04-10-2011 / 19:48:48 / cg"
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   448
    "Modified: / 17-03-2012 / 13:26:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   449
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   450
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   451
markSelfFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   452
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   453
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   454
        withEmphasis:(preferences selfEmphasis) color:(preferences selfColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   455
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   456
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   457
markStringFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   458
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   459
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   460
        withEmphasis:(preferences stringEmphasis) color:(preferences stringColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   461
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   462
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   463
markUnknownIdentifierFrom:pos1 to:pos2
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   464
    self 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   465
        markFrom:pos1 to:pos2 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   466
        withEmphasis:(preferences unknownIdentifierEmphasis) color:(preferences unknownIdentifierColor)
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   467
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   468
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   469
markVariable:v from:pos to:endPos
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   470
    "support for syntaxColoring"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   471
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   472
    |type globalValue nameSym|
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   473
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   474
    type := v type.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   475
    (type == #BlockArg
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   476
    or:[type == #MethodArg]) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   477
        self markArgumentIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   478
        ^ self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   479
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   480
    (type == #BlockVariable
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   481
    or:[type == #MethodVariable]) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   482
        self markLocalIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   483
        ^ self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   484
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   485
    (type == #GlobalVariable) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   486
        nameSym := v name asSymbolIfInterned.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   487
        (nameSym isNil 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   488
        or:[(Smalltalk includesKey:nameSym) not]) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   489
            self markUnknownIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   490
            ^ self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   491
        ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   492
        globalValue := Smalltalk at:nameSym ifAbsent:nil.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   493
        globalValue isBehavior ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   494
            self markGlobalClassIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   495
        ] ifFalse:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   496
            self markGlobalIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   497
        ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   498
        ^ self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   499
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   500
    (type == #ClassVariable) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   501
        self markClassVariableIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   502
        ^ self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   503
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   504
    (type == #InstanceVariable) ifTrue:[
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   505
        self markInstVarIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   506
        ^ self
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   507
    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   508
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   509
    self markIdentifierFrom:pos to:endPos.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   510
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   511
    "Created: / 16.4.1998 / 18:49:34 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   512
    "Modified: / 4.3.1999 / 12:56:13 / cg"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   513
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   514
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   515
!JavaSyntaxHighlighter::Builder methodsFor:'accessing'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   516
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   517
highlighter
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   518
    ^ highlighter
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   519
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   520
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   521
highlighter:something
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   522
    highlighter := something.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   523
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   524
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   525
!JavaSyntaxHighlighter::Builder methodsFor:'building'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   526
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   527
newComment: text
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   528
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   529
    highlighter markCommentFrom:start to: stop.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   530
    ^super newComment: text
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   531
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   532
    "Created: / 09-03-2012 / 17:11:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   533
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   534
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   535
newJavaDoc: text
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   536
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   537
    highlighter markCommentFrom:start to: stop.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   538
    ^super newJavaDoc: text
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   539
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   540
    "Created: / 09-03-2012 / 17:11:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   541
!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   542
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   543
newStringLiteral: string
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   544
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   545
    highlighter markStringFrom:start to: stop.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   546
    ^super newStringLiteral: string
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   547
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   548
    "Created: / 17-03-2012 / 17:32:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   549
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   550
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   551
!JavaSyntaxHighlighter::Parser methodsFor:'accessing'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   552
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   553
highlighter
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   554
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   555
    ^builder highlighter
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   556
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   557
    "Created: / 17-03-2012 / 19:11:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   558
!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   559
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   560
stream
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   561
    ^ stream
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   562
!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   563
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   564
stream:something
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   565
    stream := something.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   566
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   567
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   568
!JavaSyntaxHighlighter::Parser methodsFor:'grammar-classes-method'!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   569
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   570
constructorNameIdentifier
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   571
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   572
    ^super constructorNameIdentifier ==> [:token|
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   573
        self highlighter
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   574
            markSelector: token value 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   575
                    from: token startPosition to: token endPosition
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   576
    ]
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   577
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   578
    "Created: / 17-03-2012 / 19:12:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   579
!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   580
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   581
methodNameIdentifier
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   582
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   583
    ^super methodNameIdentifier ==> [:token|
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   584
        self highlighter
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   585
            markSelector: token value 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   586
                    from: token startPosition to: token endPosition
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   587
    ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   588
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   589
    "Created: / 17-03-2012 / 19:13:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   590
!
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   591
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   592
typeNameIdentifier
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   593
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   594
    ^super typeNameIdentifier ==> [:token|
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   595
        self highlighter
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   596
            markSelector: token value 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   597
                    from: token startPosition to: token endPosition
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   598
    ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   599
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   600
    "Created: / 17-03-2012 / 19:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   601
! !
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   602
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   603
!JavaSyntaxHighlighter::Parser methodsFor:'grammar-literals-string'!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   604
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   605
stringLiteral 
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   606
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   607
    ^super stringLiteral ==> [:stringToken|
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   608
        builder 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   609
            start: stringToken startPosition 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   610
            stop: stringToken endPosition;
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   611
            newStringLiteral: stringToken value
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   612
    ]
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   613
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   614
    "Created: / 17-03-2012 / 17:31:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   615
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   616
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   617
!JavaSyntaxHighlighter::Parser methodsFor:'utility'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   618
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   619
tokenFor: aString
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   620
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   621
"/    | p |
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   622
"/
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   623
"/    p := keywords at: aString ifAbsent:[nil].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   624
"/    p notNil ifTrue:[ 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   625
"/        ^ (self asToken: p) ==> [:token| 
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   626
"/            | start stop |
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   627
"/
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   628
"/            stop := stream position.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   629
"/            start := stop - keyword size.
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   630
"/            builder highlighter markKeyword: keyword from:start to:stop
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   631
"/        ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   632
"/    ].
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   633
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   634
    ^super tokenFor: aString
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   635
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   636
    "Created: / 10-03-2012 / 11:52:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   637
! !
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   638
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   639
!JavaSyntaxHighlighter::Scanner methodsFor:'accessing'!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   640
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   641
highlighter
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   642
    ^ highlighter
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   643
!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   644
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   645
highlighter:aJavaSyntaxHighlighter
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   646
    highlighter := aJavaSyntaxHighlighter.
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   647
! !
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   648
1479
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   649
!JavaSyntaxHighlighter::Scanner methodsFor:'error handling'!
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   650
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   651
syntaxError:aMessage position:position to:endPos
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   652
    "a syntax error happened"
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   653
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   654
    endPos notNil ifTrue:[
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   655
        highlighter markBadIdentifierFrom:position to: endPos.
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   656
    ]
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   657
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   658
    "Created: / 13-04-2012 / 18:31:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   659
! !
8af356f32fa0 JavaSyntaxHighlighter: fixes in cacheing
vranyj1
parents: 1460
diff changeset
   660
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   661
!JavaSyntaxHighlighter::Scanner methodsFor:'initialization'!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   662
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   663
initialize
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   664
    "initialize the scanner"
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   665
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   666
    super initialize.
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   667
    saveComments := true
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   668
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   669
    "Created: / 17-03-2012 / 00:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   670
! !
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   671
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   672
!JavaSyntaxHighlighter::Scanner methodsFor:'private'!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   673
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   674
checkForKeyword:string
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   675
    | isKW |
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   676
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   677
    isKW := super checkForKeyword:string.
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   678
    isKW ifTrue:[
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   679
        highlighter markKeyword:string from:tokenStartPosition + 1 to:tokenStartPosition + string size
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   680
    ].
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   681
    ^isKW
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   682
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   683
    "Created: / 17-03-2012 / 00:15:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   684
! !
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   685
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   686
!JavaSyntaxHighlighter::Scanner methodsFor:'reading next token'!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   687
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   688
nextToken
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   689
    |t|
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   690
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   691
    [
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   692
        t := super nextToken.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   693
        tokenEndPosition := source position.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   694
        t isNil
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   695
    ] whileTrue.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   696
    Verbose == true ifTrue:[
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   697
        Transcript 
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   698
            show:'JavaScanner nextToken => ';
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   699
            show: t storeString;
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   700
            show: ' | ';
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   701
            showCR: tokenValue.
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   702
    ].
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   703
    ^ t
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   704
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   705
    "Created: / 14-05-1998 / 15:48:04 / cg"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   706
    "Modified: / 16-05-1998 / 19:12:29 / cg"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   707
    "Modified: / 17-03-2012 / 17:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   708
    "Created: / 17-03-2012 / 19:15:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   709
!
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   710
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   711
skipComment
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   712
    super skipComment.
1426
69e535962d10 Improvements in syntax highlighting
vranyj1
parents: 1424
diff changeset
   713
    highlighter markCommentFrom:((tokenStartPosition + 1) max: 1) to: source position.
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   714
    ^nil
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   715
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   716
    "Created: / 17-03-2012 / 00:04:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   717
!
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   718
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   719
skipEOLComment
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   720
    super skipEOLComment.
1442
d62d82ccdd90 Fix in Java syntax highlighter
vranyj1
parents: 1426
diff changeset
   721
    highlighter markCommentFrom:((tokenStartPosition - 1) max: 1) to: source position.
1424
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   722
    ^nil
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   723
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   724
    "Created: / 17-03-2012 / 00:05:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   725
! !
9d8337007106 Fixes in JavaSyntaxHighlighter to use new JavaParser
vranyj1
parents: 1412
diff changeset
   726
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   727
!JavaSyntaxHighlighter class methodsFor:'documentation'!
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   728
1879
7d232ff32dde Refactoring of JavaParserII>>importDeclaration
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1818
diff changeset
   729
version_HG
7d232ff32dde Refactoring of JavaParserII>>importDeclaration
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1818
diff changeset
   730
7d232ff32dde Refactoring of JavaParserII>>importDeclaration
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1818
diff changeset
   731
    ^ '$Changeset: <not expanded> $'
7d232ff32dde Refactoring of JavaParserII>>importDeclaration
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1818
diff changeset
   732
!
7d232ff32dde Refactoring of JavaParserII>>importDeclaration
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1818
diff changeset
   733
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   734
version_SVN
1879
7d232ff32dde Refactoring of JavaParserII>>importDeclaration
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1818
diff changeset
   735
    ^ '§Id§'
1412
93b28a7963b0 Fixes and improvements in parser
vranyj1
parents:
diff changeset
   736
! !