experiments/JavaCompiler.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 15 Apr 2013 21:35:55 +0200
branchdevelopment
changeset 2513 6669c7947f72
parent 2512 f2cbd771fc7b
child 2515 bcfe9f4dca6b
permissions -rw-r--r--
Bugfix in JavaCompiler - compile even syntactically incorrect code
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
 Copyright (c) 2010-2011 Jan Vrany, Jan Kurs & Marcel Hlopko,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
                         SWING Research Group, Czech Technical University 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
                         in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
 Permission is hereby granted, free of charge, to any person
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
 obtaining a copy of this software and associated documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
 files (the 'Software'), to deal in the Software without
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
 restriction, including without limitation the rights to use,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
 copy, modify, merge, publish, distribute, sublicense, and/or sell
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
 copies of the Software, and to permit persons to whom the
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
 Software is furnished to do so, subject to the following
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
 conditions:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
 The above copyright notice and this permission notice shall be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
 included in all copies or substantial portions of the Software.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
 OTHER DEALINGS IN THE SOFTWARE.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
"{ Package: 'stx:libjava/experiments' }"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
Object subclass:#JavaCompiler
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
    30
	instanceVariableNames:'analyzer className imports packageName sourceCode sourceDir
2481
7281d4922170 Pass a class loader to ECJ's CompilerAdapter.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2479
diff changeset
    31
		requestor classloader'
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
    32
	classVariableNames:''
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
	poolDictionaries:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
	category:'Languages-Java-Support-Compiling'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
JavaParserII subclass:#ClassSourceAnalyzer
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
	instanceVariableNames:'source package imports name terminator'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
	classVariableNames:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
	poolDictionaries:''
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
	privateIn:JavaCompiler
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
!JavaCompiler class methodsFor:'documentation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
copyright
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
 Copyright (c) 2010-2011 Jan Vrany, Jan Kurs & Marcel Hlopko,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
                         SWING Research Group, Czech Technical University 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
                         in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
 Permission is hereby granted, free of charge, to any person
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
 obtaining a copy of this software and associated documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
 files (the 'Software'), to deal in the Software without
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
 restriction, including without limitation the rights to use,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
 copy, modify, merge, publish, distribute, sublicense, and/or sell
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
 copies of the Software, and to permit persons to whom the
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
 Software is furnished to do so, subject to the following
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
 conditions:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
 The above copyright notice and this permission notice shall be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
 included in all copies or substantial portions of the Software.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
 OTHER DEALINGS IN THE SOFTWARE.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
"
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
    78
    An facade to Java compiler to compile Java classed from
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    source (given as string).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
    81
    Internally, it uses ECJ. See stx.libjava.compiler.ecj.CompilerAdapter.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    [author:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
        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:
diff changeset
    85
        Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    [instance variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    [class variables:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    [see also:]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
history
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
    "Created: #dotJavaPathname / 13-12-2012 / 00:02:03 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
!JavaCompiler class methodsFor:'instance creation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
new
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   104
    ^self basicNew initialize
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    "Created: / 15-12-2012 / 16:48:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   107
    "Modified: / 15-04-2013 / 20:43:51 / 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:
diff changeset
   108
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
newAnalyzer
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
    ^ClassSourceAnalyzer new
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    "Created: / 15-12-2012 / 16:58:46 / 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:
diff changeset
   114
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   116
!JavaCompiler class methodsFor:'compiler interface'!
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   117
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   118
compile: source
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   119
    "Compiles a new Groovy class given the source code"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   120
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   121
    ^self new compile: source.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   122
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   123
    "Created: / 27-02-2012 / 23:27:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   124
!
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   125
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   126
compile: source forClass: class inCategory: category notifying: requestor install: doInstall
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   127
    "We allways compile whole class"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   128
    ^self compile: source register: true notifying: requestor
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   129
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   130
    "Created: / 21-02-2012 / 11:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   131
    "Modified: / 03-04-2013 / 00:11:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   132
!
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   133
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   134
compile:aString forClass:aClass inCategory:cat notifying:requestor
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   135
                 install:install skipIfSame:skipIfSame silent:silent
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   137
    "HACK.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   138
     Problem:
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   139
     SmalltalkChunkFileReader always uses class's compiler to compile source. 
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   140
     However, when filing in Smalltalk extensions to Java classes, a Smalltalk 
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   141
     code is passed to me.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   142
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   143
     See ClassCategoryReader>>fileInFrom:notifying:passChunk:single:silent:
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   144
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   145
     Workaround:
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   146
     Detect such a situation and compile using Smalltalk compiler...bad, I know.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   147
     Better to move logic from Stream>>fileIn into SmalltalkChunkSourceFileReader.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   148
     "
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   149
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   150
    (requestor isKindOf: SourceFileLoader) ifTrue:[
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   151
        ^Compiler compile:aString forClass:aClass inCategory:cat notifying:requestor
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   152
                 install:install skipIfSame:skipIfSame silent:silent
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   153
    ].
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   154
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   155
    self breakPoint:#jv.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   156
    self error: 'Not (yet) supported'
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   157
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   158
    "Created: / 07-09-2012 / 10:35:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   159
!
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   161
compile: source register: register notifying: requestor
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   162
    "Called when a class is accepted"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   163
    | classes |
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   165
    classes := self new
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   166
                requestor: requestor;
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   167
                compile: source.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   168
    register ifTrue:[
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   169
        JavaVM registry registerClasses: classes.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   170
    ].
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   171
    ^classes first.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   172
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   173
    "Created: / 03-04-2013 / 00:10:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   174
!
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   175
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   176
evaluate: source notifying: requestor compile: doCompile
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   177
    "Called when a class is accepted"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   178
    ^self compile: source register: true notifying: requestor
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   180
    "Created: / 04-04-2012 / 10:07:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   181
    "Modified: / 03-04-2013 / 00:11:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   182
! !
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   183
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   184
!JavaCompiler methodsFor:'accessing'!
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   185
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   186
requestor
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   187
    ^ requestor
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   188
!
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   190
requestor:anObject
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   191
    requestor := anObject.
2479
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   192
! !
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   193
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   194
!JavaCompiler methodsFor:'compiler interface'!
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   195
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   196
compile:source in: class notifying: requestor ifFail: block
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   197
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   198
    requestor class == SourceFileLoader ifTrue:[
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   199
        ^Compiler compile:source in: class notifying: requestor ifFail: block
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   200
    ].
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   201
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   202
    self error:'Not yet supported'.
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   203
76c5d94e3d4a JavaCompiler made API-compatible with ByteCodeCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
   204
    "Created: / 04-09-2012 / 23:56:53 / 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:
diff changeset
   205
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
!JavaCompiler methodsFor:'compiling'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
compile:source
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
    "Compiles a java class in given source code (passed as String).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
     Return an array of JavaClass which are not yet registered in Java 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
     class registry nor initialiized.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
     To make it accessible for Java code, caller must register returned
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
     classes himself.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
     Upon error, throws an exception"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   220
    | javac classfiles |
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   221
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   222
    analyzer := self class newAnalyzer.
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   223
    analyzer analyze: source.
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   224
    analyzer fullName isNil ifTrue:[
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   225
        self error:'Syntax error - cannot determine class name'.
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   226
        ^self.
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   227
    ].
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   228
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   229
    classloader isNil ifTrue:[
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   230
        classloader := JavaClassReader classLoaderQuerySignal query.
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   231
        classloader isNil ifTrue:[
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   232
            classloader := JavaVM systemClassLoader.
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   233
        ]
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   234
    ].
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   235
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   236
    javac := (Java classForName:'stx.libjava.tools.compiler.ecj.CompilerAdapter') new: 
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   237
               classloader.
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   238
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   239
    javac compile: analyzer fullName source: source.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   241
    "javac getResult hasErrors"
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   242
    javac getClassFiles size == 0 ifTrue:[
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   243
        ^self error:'Compilation failed - nothing compiled'
2512
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   244
    ].
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   245
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   246
    classfiles := javac getClassFiles.
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   247
    ^classfiles collect:[:each|
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   248
        (JavaClassReader readStream: each getBytes readStream)
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   249
            classLoader: classloader;
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   250
            setSource: source;
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   251
            setClassfileBytes: each getBytes;
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   252
            yourself].
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   253
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   254
    "Created: / 15-12-2012 / 23:04:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f2cbd771fc7b Removed Javac and JavacExternal implementation of JavaCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2486
diff changeset
   255
    "Modified: / 16-12-2012 / 15:36:16 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   256
    "Modified: / 15-04-2013 / 21:29:15 / 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:
diff changeset
   257
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
!JavaCompiler::ClassSourceAnalyzer class methodsFor:'accessing'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
ignoredNames
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
    ^super ignoredNames , self instVarNames
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
    "Created: / 15-12-2012 / 17:17:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2475
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   265
    "Modified: / 29-03-2013 / 23:08:54 / 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:
diff changeset
   266
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
!JavaCompiler::ClassSourceAnalyzer class methodsFor:'documentation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
copyright
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
 Copyright (c) 2010-2011 Jan Vrany, Jan Kurs & Marcel Hlopko,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
                         SWING Research Group, Czech Technical University 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
                         in Prague
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
 Permission is hereby granted, free of charge, to any person
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
 obtaining a copy of this software and associated documentation
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
 files (the 'Software'), to deal in the Software without
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
 restriction, including without limitation the rights to use,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
 copy, modify, merge, publish, distribute, sublicense, and/or sell
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
 copies of the Software, and to permit persons to whom the
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
 Software is furnished to do so, subject to the following
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
 conditions:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
 The above copyright notice and this permission notice shall be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
 included in all copies or substantial portions of the Software.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   287
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   288
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   289
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
 OTHER DEALINGS IN THE SOFTWARE.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   300
history
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   301
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   302
    "Created: #imports / 08-12-2012 / 20:01:41 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
    "Modified: #imports / 09-12-2012 / 09:21:09 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   304
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   305
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   306
version_SVN
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   307
    ^ '§Id::                                                                                                                        §'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   308
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   309
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   310
!JavaCompiler::ClassSourceAnalyzer class methodsFor:'instance creation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   311
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   312
analyze: javaSourceCode
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   313
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   314
    ^ self new analyze: javaSourceCode.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   315
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   316
    "Created: / 08-12-2012 / 18:47:26 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   317
    "Modified (format): / 15-12-2012 / 16:59:36 / 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:
diff changeset
   318
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   319
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   320
new
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
    ^self newStartingAt: #compilationUnit
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   323
    "Created: / 15-12-2012 / 17:15:49 / 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:
diff changeset
   324
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
!JavaCompiler::ClassSourceAnalyzer methodsFor:'accessing'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
className
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
    <resource: #obsolete>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
    ^ name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   331
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   332
    "Created: / 08-12-2012 / 18:53:53 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   333
    "Modified: / 15-12-2012 / 17:04:54 / 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:
diff changeset
   334
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   335
2475
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   336
fullName
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   337
    ^package isNil 
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   338
        ifTrue:[name]
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   339
        ifFalse:[package , '.' , name]
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   340
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   341
    "Created: / 29-03-2013 / 23:09:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   342
!
27f0940ec023 Initial implementation of ECJ based JavaCompiler,
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
   343
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
imports
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
    ^imports ? #()
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   347
    "Created: / 08-12-2012 / 20:01:41 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
    "Modified: / 09-12-2012 / 09:21:09 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    "Modified: / 15-12-2012 / 17:20:06 / 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:
diff changeset
   350
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
    ^ name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
package
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
    ^ package
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   360
packageName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
    <resource: #obsolete>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    ^package
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
    "Created: / 08-12-2012 / 18:50:26 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
    "Modified: / 15-12-2012 / 17:56:22 / 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:
diff changeset
   366
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
!JavaCompiler::ClassSourceAnalyzer methodsFor:'grammar'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
importDeclaration 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
    ^ ((self importKW) , (self staticKW) optional , qualifiedNameForImport 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
        , (self tokenFor:';')).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
        "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
    ^ super importDeclaration ==> [:nodes | 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
            imports isNil ifTrue:[imports := OrderedCollection new].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
            imports add: (nodes at:3) value.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
    "Created: / 15-12-2012 / 17:28:44 / 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:
diff changeset
   381
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   382
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   383
packageDeclaration 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   384
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   385
"/        ^ (self  packageKW) , qualifiedName , (self tokenFor:';')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   386
    ^super packageDeclaration ==> [:nodes| package := nodes second ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   387
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   388
    "Created: / 15-12-2012 / 22:44:08 / 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:
diff changeset
   389
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   390
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   391
!JavaCompiler::ClassSourceAnalyzer methodsFor:'grammar-classes'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   392
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   393
typeNameIdentifier
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   394
    "    
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   395
    ^identifier
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   396
    "
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   397
    ^super typeNameIdentifier  ==> [:ident | 
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   398
            name := ident.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   399
            terminator value
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   400
    ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   401
2513
6669c7947f72 Bugfix in JavaCompiler - compile even syntactically incorrect code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2512
diff changeset
   402
    "Created: / 15-04-2013 / 21:24:37 / 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:
diff changeset
   403
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   405
!JavaCompiler::ClassSourceAnalyzer methodsFor:'parsing'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
analyze: aString 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
    source := aString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
    terminator := [ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
    self parse: source.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
    "Created: / 08-12-2012 / 18:48:56 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   413
    "Modified: / 15-12-2012 / 17:04:18 / 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:
diff changeset
   414
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
!JavaCompiler class methodsFor:'documentation'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
version_CVS
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2353
diff changeset
   419
    ^ '$Header: /cvs/stx/stx/libjava/experiments/JavaCompiler.st,v 1.2 2013-02-25 11:15:34 vrany Exp $'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   422
version_HG
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   423
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   424
    ^ '$Changeset: <not expanded> $'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   425
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   426
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   427
version_SVN
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   428
    ^ '§Id::                                                                                                                        §'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   429
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   430