author | Claus Gittinger <cg@exept.de> |
Fri, 01 Nov 2019 13:44:29 +0100 | |
branch | cvs_MAIN |
changeset 3973 | ee0b2d717637 |
parent 3920 | 47a7b4a23bee |
child 3994 | f2b42ed3e0f6 |
permissions | -rw-r--r-- |
3918 | 1 |
"{ Encoding: utf8 }" |
2 |
||
749 | 3 |
" |
3324
a58245c0e83a
Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3209
diff
changeset
|
4 |
COPYRIGHT (c) 1996-2015 by Claus Gittinger |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
5 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
6 |
New code and modifications done at SWING Research Group [1]: |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
7 |
|
3324
a58245c0e83a
Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3209
diff
changeset
|
8 |
COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko |
749 | 9 |
SWING Research Group, Czech Technical University in Prague |
10 |
||
11 |
This software is furnished under a license and may be used |
|
12 |
only in accordance with the terms of that license and with the |
|
13 |
inclusion of the above copyright notice. This software may not |
|
14 |
be provided or otherwise made available to, or used by, any |
|
15 |
other person. No title to or ownership of the software is |
|
16 |
hereby transferred. |
|
17 |
||
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
18 |
[1] Code written at SWING Research Group contains a signature |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
19 |
of one of the above copright owners. For exact set of such code, |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
20 |
see the differences between this version and version stx:libjava |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
21 |
as of 1.9.2010 |
749 | 22 |
" |
23 |
"{ Package: 'stx:libjava' }" |
|
24 |
||
3918 | 25 |
"{ NameSpace: Smalltalk }" |
26 |
||
749 | 27 |
ProgrammingLanguage subclass:#JavaLanguage |
28 |
instanceVariableNames:'' |
|
29 |
classVariableNames:'' |
|
30 |
poolDictionaries:'' |
|
31 |
category:'Languages-Java-Support' |
|
32 |
! |
|
33 |
||
34 |
!JavaLanguage class methodsFor:'documentation'! |
|
35 |
||
36 |
copyright |
|
37 |
" |
|
3324
a58245c0e83a
Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3209
diff
changeset
|
38 |
COPYRIGHT (c) 1996-2015 by Claus Gittinger |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
39 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
40 |
New code and modifications done at SWING Research Group [1]: |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
41 |
|
3324
a58245c0e83a
Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3209
diff
changeset
|
42 |
COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko |
749 | 43 |
SWING Research Group, Czech Technical University in Prague |
44 |
||
45 |
This software is furnished under a license and may be used |
|
46 |
only in accordance with the terms of that license and with the |
|
47 |
inclusion of the above copyright notice. This software may not |
|
48 |
be provided or otherwise made available to, or used by, any |
|
49 |
other person. No title to or ownership of the software is |
|
50 |
hereby transferred. |
|
51 |
||
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
52 |
[1] Code written at SWING Research Group contains a signature |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
53 |
of one of the above copright owners. For exact set of such code, |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
54 |
see the differences between this version and version stx:libjava |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
55 |
as of 1.9.2010 |
749 | 56 |
|
57 |
" |
|
58 |
! ! |
|
59 |
||
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
60 |
!JavaLanguage class methodsFor:'others'! |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
61 |
|
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
62 |
version_HG |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
63 |
|
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
64 |
^ '$Changeset: <not expanded> $' |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
65 |
! ! |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
66 |
|
749 | 67 |
!JavaLanguage methodsFor:'accessing'! |
68 |
||
69 |
lookup |
|
70 |
||
71 |
^Lookup builtin |
|
72 |
||
73 |
"Created: / 17-03-2011 / 14:23:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
74 |
! |
|
75 |
||
76 |
name |
|
77 |
"Answers a human-readable name of myself: |
|
78 |
'Smalltalk' for SmalltalkLanguage, |
|
79 |
'Ruby' for RubyLanguage |
|
80 |
..." |
|
81 |
||
82 |
^ 'Java' |
|
83 |
||
84 |
"Modified: / 26-10-2010 / 23:40:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
85 |
! |
|
86 |
||
87 |
sourceFileSuffix |
|
3920 | 88 |
"Answers a default suffix for source files, i.e. |
89 |
'st' for Smalltalk, 'js' for JavaScript or 'rb' for Ruby', etc." |
|
749 | 90 |
|
91 |
^ 'java' |
|
92 |
||
93 |
"Modified: / 26-10-2010 / 23:40:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
3920 | 94 |
"Modified (comment): / 27-06-2019 / 12:33:58 / Claus Gittinger" |
749 | 95 |
! ! |
96 |
||
97 |
!JavaLanguage methodsFor:'accessing - classes'! |
|
98 |
||
99 |
compilerClass |
|
100 |
"Answer a class suitable for compiling a source code in 'my' language" |
|
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
101 |
|
2936
7a439bd8ae5b
Added JavaCompilerForSmalltalkExtensionsOnly for environments without full JavaCompiler...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2731
diff
changeset
|
102 |
^ JavaCompiler ? JavaCompilerForSmalltalkExtensionsOnly |
749 | 103 |
|
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
104 |
"Modified (format): / 02-12-2012 / 14:36:20 / Marcel Hlopko <hlopkmar@fel.cvut.cz>" |
2936
7a439bd8ae5b
Added JavaCompilerForSmalltalkExtensionsOnly for environments without full JavaCompiler...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2731
diff
changeset
|
105 |
"Modified: / 19-11-2013 / 09:49:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
749 | 106 |
! |
107 |
||
108 |
evaluatorClass |
|
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
109 |
"There is no evaluator for Java. If you would like to |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
110 |
evaluate Java code, use GroovyEvaluator instead" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
111 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
112 |
^ GroovyEvaluator |
749 | 113 |
|
114 |
"Created: / 16-08-2011 / 10:03:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
115 |
"Modified: / 02-12-2012 / 14:37:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>" |
749 | 116 |
! |
117 |
||
118 |
lookupClass |
|
119 |
||
120 |
^JavaLookup |
|
121 |
||
122 |
"Created: / 17-03-2011 / 14:08:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
123 |
! |
|
124 |
||
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
125 |
metaClass |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
126 |
"will be used for new classes (in the class wizard); |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
127 |
a fallback here" |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
128 |
|
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
129 |
^ JavaMetaclass |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
130 |
|
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
131 |
"Created: / 12-04-2013 / 20:21:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
132 |
! |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
133 |
|
749 | 134 |
parserClass |
135 |
"Answer a class suitable for parsing a source code in 'my' language" |
|
136 |
||
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
137 |
^ JavaParser "No Java parser yet" |
749 | 138 |
|
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
139 |
"Modified: / 31-08-2013 / 10:02:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
749 | 140 |
! |
141 |
||
142 |
sourceFileReaderClass |
|
143 |
"Answers a class that can be used for reading & compiling source files" |
|
144 |
||
145 |
^ nil "No Java compiler yet" |
|
146 |
||
147 |
"Modified: / 26-10-2010 / 23:41:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
148 |
! |
|
149 |
||
150 |
sourceFileWriterClass |
|
151 |
"Answers a class is used for source file writing (i.e. file-out)" |
|
152 |
||
153 |
^ JavaSourceFileWriter |
|
154 |
||
155 |
"Modified: / 27-10-2010 / 18:42:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
156 |
! |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
157 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
158 |
syntaxHighlighterClass |
3161 | 159 |
"Answers a class used by browser and debugger to colorize code. |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
160 |
It is OK to return nil, which means that the code is shown as-is" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
161 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
162 |
"return nil by default" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
163 |
"/ ^nil |
3126
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3089
diff
changeset
|
164 |
^ JavaSyntaxHighlighter |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
165 |
"/ ^ JavaSyntaxHighlighter_Old |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
166 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
167 |
"Created: / 11-02-2012 / 18:11:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3126
4eaeba9fa910
Java source highlughter refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3089
diff
changeset
|
168 |
"Modified (format): / 25-06-2014 / 11:51:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
169 |
! |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
170 |
|
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
171 |
toolboxClass |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
172 |
"Answer a 'toolbox class'. A toolbox is used by language-agnostic tools (such as |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
173 |
class browser) to perform language-specific tasks (search for implementors, |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
174 |
build implementor menu and so on. If nil is returned, no toolbox available" |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
175 |
|
3089 | 176 |
JavaToolbox isNil ifTrue:[ |
177 |
Smalltalk loadPackage:'stx:libjava/tools' |
|
178 |
]. |
|
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
179 |
^ JavaToolbox |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
180 |
|
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
181 |
"Created: / 31-08-2013 / 10:05:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
749 | 182 |
! ! |
183 |
||
184 |
!JavaLanguage methodsFor:'queries'! |
|
185 |
||
186 |
supportsExtensionMethods |
|
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
187 |
" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
188 |
Answer true iff this language supports extension methods, i.e., if the language |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
189 |
can provide extension methods for another class (not necessarily of the same language |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
190 |
" |
749 | 191 |
|
192 |
^false |
|
193 |
||
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
194 |
"Created: / 06-09-2012 / 12:09:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
195 |
! ! |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
196 |
|
3161 | 197 |
!JavaLanguage methodsFor:'source queries'! |
198 |
||
3918 | 199 |
bracketStrings |
200 |
"used for autoindent" |
|
201 |
||
202 |
^ #( |
|
203 |
('{' '}') |
|
204 |
) |
|
205 |
||
206 |
"Created: / 26-06-2019 / 22:04:41 / Claus Gittinger" |
|
207 |
! |
|
208 |
||
3161 | 209 |
commentStrings |
210 |
^ #( |
|
211 |
'//' "/ EOL comment |
|
212 |
('/*' '*/') "/ normal comment |
|
213 |
) |
|
214 |
! ! |
|
215 |
||
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
216 |
!JavaLanguage methodsFor:'testing'! |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
217 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
218 |
isJava |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
219 |
"true iff this is the Java language" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
220 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
221 |
^ true |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
222 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
223 |
"Created: / 15-12-2011 / 23:10:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
224 |
! |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
225 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
226 |
isJavaLike |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
227 |
"true if receiver is kind of Java language (based on Java)" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
228 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
229 |
^ true |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
230 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
231 |
"Created: / 13-04-2012 / 17:48:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
232 |
! ! |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
233 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
234 |
!JavaLanguage methodsFor:'utilities - source code'! |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
235 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
236 |
classTemplateFor: superClass in: category asNamespace: isNamespace private: isPrivate |
3209
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
237 |
| sclass spackage jpackage jpackagePrefix | |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
238 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
239 |
self assert: isNamespace not. |
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
240 |
JavaVM booted ifFalse:[ |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
241 |
JavaVM boot. |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
242 |
]. |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
243 |
superClass isJavaClass ifFalse:[ |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
244 |
sclass := JavaVM classForName:'java.lang.Object' |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
245 |
] ifTrue:[ |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
246 |
sclass := superClass. |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
247 |
]. |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
248 |
|
3209
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
249 |
spackage := Class packageQuerySignal query. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
250 |
spackage == PackageId noProjectID ifTrue:[ |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
251 |
jpackage := '...'. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
252 |
jpackagePrefix := '//'. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
253 |
spackage := '...'. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
254 |
] ifFalse:[ |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
255 |
jpackage := spackage copyReplaceAll:$: with: $.; replaceAll: $/ with: $.; yourself. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
256 |
jpackagePrefix := ''. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
257 |
]. |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
258 |
|
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
259 |
^'%(JPACKAGE_PREFIX)package %(JPACKAGE); |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
260 |
|
2678
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
261 |
//import java.util.*; |
c865275e48a7
Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2495
diff
changeset
|
262 |
|
3209
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
263 |
%(JPACKAGE_PREFIX)import stx.libjava.annotation.Package; |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
264 |
|
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
265 |
%(JPACKAGE_PREFIX)@Package("%(SPACKAGE)") |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
266 |
%(ACCESS) class %(NAME) extends %(SNAME) { |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
267 |
/* fields and methods here... */ |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
268 |
} |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
269 |
' expandPlaceholdersWith: |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
270 |
(Dictionary new |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
271 |
at: 'CATEGORY' put: category; |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
272 |
at: 'ACCESS' put: (isPrivate ifTrue:['protected'] ifFalse:['public']); |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
273 |
at: 'NAME' put: 'NewClass'; |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
274 |
at: 'SNAME' put: sclass javaName; |
3209
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
275 |
at: 'JPACKAGE' put: jpackage; |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
276 |
at: 'JPACKAGE_PREFIX' put: jpackagePrefix ; |
b96f863a8500
Java lint service now do dry-compilation to get more accurate problem list.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3164
diff
changeset
|
277 |
at: 'SPACKAGE' put: spackage; |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
278 |
yourself) |
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
279 |
|
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
280 |
"Created: / 18-02-2012 / 18:27:31 / 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:
3164
diff
changeset
|
281 |
"Modified: / 06-08-2014 / 14:27:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
749 | 282 |
! ! |
283 |
||
284 |
!JavaLanguage class methodsFor:'documentation'! |
|
285 |
||
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
286 |
version_CVS |
3918 | 287 |
^ '$Header$' |
2161 | 288 |
! |
289 |
||
749 | 290 |
version_SVN |
3918 | 291 |
^ '$Id$' |
2152 | 292 |
! ! |
2353
fa7400d022a0
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2161
diff
changeset
|
293 |