Java.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 30 Aug 2013 12:04:07 +0100
branchdevelopment
changeset 2694 73e08423c72b
parent 2677 17b4e18678ae
child 2701 44a062d9aae8
permissions -rw-r--r--
Fix in GroovyEvaluator: import all used classes when evaluating for inspector of debugger. This makes all classes accessed without fully qualified name (vast majority of code) accessible by the evaluator as well. Otherwise, Groovy won't be able to resolve classes used in the code.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
     1
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
     2
 COPYRIGHT (c) 1996-2011 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: 2279
diff changeset
     3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
     4
 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: 2279
diff changeset
     5
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
     6
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
     7
			    SWING Research Group, Czech Technical University in Prague
454
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
     8
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
     9
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    10
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    12
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    13
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    14
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
    15
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    16
 [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: 2279
diff changeset
    17
     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: 2279
diff changeset
    18
     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: 2279
diff changeset
    19
     as of 1.9.2010
2088
d654e34676d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 749
diff changeset
    20
"
677
63fd7b5d0027 *** empty log message ***
cg
parents: 675
diff changeset
    21
"{ Package: 'stx:libjava' }"
63fd7b5d0027 *** empty log message ***
cg
parents: 675
diff changeset
    22
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
    23
Object subclass:#Java
557
469fe709a779 checkin from browser
cg
parents: 552
diff changeset
    24
	instanceVariableNames:''
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    25
	classVariableNames:'Classes UnresolvedClassRefs Release BootBundle ClassPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    26
		ClassPathBundle SourcePath ClassPathExt ExtensionsPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    27
		ExtensionsPathPackages CacheDirectory JavaHome InternedStrings
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    28
		Java_lang_String Java_lang_Class PrettyPrintStyle
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    29
		LastArgumentString Threads ExcludedClassPath FailedToLoadClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    30
		SourceCache SourceArchiveCache JavaClassLoaderQuerySignal
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    31
		ClassLoaderQuerySignal ThreadsAccess'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    32
	poolDictionaries:'JavaVMData'
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2105
diff changeset
    33
	category:'Languages-Java-Support'
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
    34
!
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
    35
454
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    36
!Java class methodsFor:'documentation'!
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    37
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    38
copyright
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    39
"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
    40
 COPYRIGHT (c) 1996-2011 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: 2279
diff changeset
    41
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    42
 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: 2279
diff changeset
    43
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
    44
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    45
			    SWING Research Group, Czech Technical University in Prague
454
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    46
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    47
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    48
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    49
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    50
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    51
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    52
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
    53
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    54
 [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: 2279
diff changeset
    55
     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: 2279
diff changeset
    56
     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: 2279
diff changeset
    57
     as of 1.9.2010
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
    58
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
    59
"
454
38f590639d65 *** empty log message ***
cg
parents: 436
diff changeset
    60
! !
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
    61
135
098936234135 *** empty log message ***
cg
parents: 121
diff changeset
    62
!Java class methodsFor:'accessing'!
24
4a9822b95fc0 checkin from browser
cg
parents: 21
diff changeset
    63
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    64
classForName: aString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    65
    "/JavaVM booted ifFalse:[JavaVM boot].
147
14fc6545fb32 checkin from browser
cg
parents: 146
diff changeset
    66
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    67
    | cls |
340
79f09bb1ac21 remember classes which failed to load - dont try those again.
cg
parents: 324
diff changeset
    68
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    69
    "HACK, required to load extensions methods"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    70
    cls := JavaClassQuery query: (aString copyReplaceAll:$. with: $/).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    71
    cls isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    72
	cls := JavaVM classForName: aString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    73
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    74
    ^cls.
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
    75
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    76
    "Modified: / 08-11-2012 / 00:25:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
147
14fc6545fb32 checkin from browser
cg
parents: 146
diff changeset
    77
!
14fc6545fb32 checkin from browser
cg
parents: 146
diff changeset
    78
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    79
classNamed: aString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    80
    ^JavaVM classNamed: aString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    81
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    82
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    83
classRegistry
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    84
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    85
    <resource: #obsolete>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    86
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    87
    self breakPoint: #mh.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    88
    self breakPoint: #jv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    89
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    90
    ^ JavaVM classRegistry.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    91
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    92
    "Modified: / 21-10-2011 / 11:12:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
32
0dbaa43a73db checkin from browser
cg
parents: 27
diff changeset
    93
!
0dbaa43a73db checkin from browser
cg
parents: 27
diff changeset
    94
2093
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
    95
intern:aJavaString
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
    96
    |stString internedString|
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
    97
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    98
    "JV@2012-07-07: We MUST UTF8-encode the string as java.lang.String
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
    99
     can keep both normal String and Unicode16String. Therefore it may
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   100
     happen that #intern: gets called once with Java string keeping
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   101
     characters in String and then with a String with same value but
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   102
     characters in Unicode16String.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   103
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   104
     UTF8-encoding ensures that the key is single-byte string
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   105
     and thus #intern: will return the same interned string
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   106
     (actually it return whichever one comes first).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   107
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   108
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   109
    stString := (self as_ST_String:aJavaString) utf8Encoded.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   110
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   111
2093
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
   112
    internedString := InternedStrings at:stString ifAbsent:nil.
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
   113
    internedString isNil ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   114
	InternedStrings at:stString put:aJavaString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   115
	internedString := aJavaString
2093
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
   116
    ].
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
   117
    ^ internedString
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   118
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   119
    "Modified: / 07-07-2012 / 22:14:19 / 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: 2279
diff changeset
   120
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   121
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   122
javaExtDirs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   123
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   124
    ^Java release javaExtDirs
2677
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   125
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   126
    "/ JV@2013-08-29: Do not add Smalltalk/X support classes nor groovy nor junit to the
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   127
    "/                ext path. They are then loaded by *ext* class loader and thus cannot
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   128
    "/                access classes defined in standard class path (as they are loaded by
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   129
    "/                system (*app*) class loader.
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   130
"/        , (Array 
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   131
"/                with: ((Smalltalk packageDirectoryForPackageId: 'stx:libjava') / 'java' / 'bin')
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   132
"/                with: ((Smalltalk packageDirectoryForPackageId: 'stx:libjava') / 'java' / 'libs' / 'ext') 
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   133
"/        ).
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   134
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   135
    "Created: / 31-08-2011 / 22:55:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2677
17b4e18678ae Bugfix for Groovy evaluator.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2588
diff changeset
   136
    "Modified (comment): / 29-08-2013 / 00:28:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2093
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
   137
!
95430e12670b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2088
diff changeset
   138
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   139
java_lang_Class
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   140
    Java_lang_Class isNil ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   141
	Java_lang_Class := self at:'java.lang.Class'
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   142
    ].
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   143
    ^ Java_lang_Class
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   144
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   145
    "Created: 26.3.1997 / 13:42:59 / cg"
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   146
    "Modified: 26.3.1997 / 13:46:24 / cg"
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   147
!
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   148
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   149
java_lang_String
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   150
    Java_lang_String isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   151
	Java_lang_String := JavaVM classNamed: 'java/lang/String'.
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   152
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   153
    ^ Java_lang_String.
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
   154
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   155
    "Created: / 26-03-1997 / 13:43:17 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   156
    "Modified: / 21-10-2011 / 13:41:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
   157
!
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
   158
188
5de467ea7e45 support color printing
cg
parents: 176
diff changeset
   159
prettyPrintStyle
5de467ea7e45 support color printing
cg
parents: 176
diff changeset
   160
    ^ PrettyPrintStyle
5de467ea7e45 support color printing
cg
parents: 176
diff changeset
   161
5de467ea7e45 support color printing
cg
parents: 176
diff changeset
   162
    "Created: 1.8.1997 / 10:37:57 / cg"
248
964ad5f9e8bc no reinit - multiple browsers
cg
parents: 241
diff changeset
   163
!
964ad5f9e8bc no reinit - multiple browsers
cg
parents: 241
diff changeset
   164
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   165
release
2376
b6007a062b1e class: Java
Claus Gittinger <cg@exept.de>
parents: 2373
diff changeset
   166
    Release isNil ifTrue:[
b6007a062b1e class: Java
Claus Gittinger <cg@exept.de>
parents: 2373
diff changeset
   167
        self initializeRelease
b6007a062b1e class: Java
Claus Gittinger <cg@exept.de>
parents: 2373
diff changeset
   168
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   169
    ^Release
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   170
2461
6a18911097be class: Java
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   171
    "
6a18911097be class: Java
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   172
     Release := nil
6a18911097be class: Java
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   173
    "
6a18911097be class: Java
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
   174
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   175
    "Created: / 22-11-2010 / 12:38:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   176
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   177
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   178
release: aJavaRelease
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   179
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   180
    Release := aJavaRelease.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   181
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   182
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   183
	Java release: JavaRelease openJDK6.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   184
	Java release: JavaRelease sunJDK6.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   185
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   186
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   187
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   188
    "Created: / 22-11-2010 / 12:38:04 / 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: 2279
diff changeset
   189
    "Modified: / 15-01-2013 / 17:59:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   190
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   191
538
6e695c5be20a checkin from browser
cg
parents: 527
diff changeset
   192
systemPropertyAt:key put:something
6e695c5be20a checkin from browser
cg
parents: 527
diff changeset
   193
    JavaVM systemProperties at:key put:something
6e695c5be20a checkin from browser
cg
parents: 527
diff changeset
   194
6e695c5be20a checkin from browser
cg
parents: 527
diff changeset
   195
    "Created: / 9.1.1999 / 14:49:35 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   196
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   197
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   198
!Java class methodsFor:'change & update'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   199
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   200
update: what with: param from: sender
538
6e695c5be20a checkin from browser
cg
parents: 527
diff changeset
   201
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   202
    what == #restarted ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   203
	self reinitialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   204
    ]
248
964ad5f9e8bc no reinit - multiple browsers
cg
parents: 241
diff changeset
   205
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   206
    "Created: / 14-12-2010 / 21:00:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   207
! !
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   208
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   209
!Java class methodsFor:'class initialization'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   210
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   211
boot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   212
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   213
    ^JavaVM boot.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   214
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   215
    "Created: / 21-02-2012 / 18:10: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: 2279
diff changeset
   216
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   217
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   218
initAllClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   219
    | system |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   220
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   221
    FailedToLoadClasses := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   222
    self initAllStaticFields.
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   223
    system := JavaVM classForName:'java.lang.System' definedBy:nil.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   224
    system isInitialized ifFalse: [ self initSystemClass. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   225
    self allClassesDo: [:cls | cls isInitialized ifFalse: [ cls classInit ] ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   226
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   227
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   228
     Java initAllClasses"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   229
    "Modified: / 27.11.1998 / 00:33:05 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   230
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   231
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   232
initAllStaticFields
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   233
     self allClassesDo:[:cls |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   234
	cls initializeStaticFields
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   235
     ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   236
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   237
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   238
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   239
initSystemClass
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   240
    | system |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   241
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   242
    system := JavaVM classForName:'java.lang.System' definedBy:nil.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   243
    system isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   244
	"/        JavaVM initializeVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   245
	"/        system := Java at:'java.lang.System'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   246
	"/        system isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   247
	self warn: 'JavaVM: no ''' , 'java.lang.System' allBold , ''' class.'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   248
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   249
"/            self error:'no ''java.lang.System'' class'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   250
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   251
	^
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   252
"/        ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   253
	self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   254
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   255
    system classInit.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   256
    (system implements: #'initializeSystemClass()V') ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   257
	system "invokeStatic:" perform: #'initializeSystemClass()V'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   258
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   259
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   260
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   261
     Java initSystemClass
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   262
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   263
     (Java at:'java.lang.System')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   264
	perform:#'getProperty(Ljava/lang/String;)Ljava/lang/String;'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   265
	with:(Java as_String:'java.home')"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   266
    "Modified: / 10.11.1998 / 12:39:58 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   267
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   268
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   269
initialize
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   270
    | flag |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   271
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   272
    JavaNativeMethod flushAllCachedNativeMethods.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   273
    InternedStrings := Dictionary new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   274
    FailedToLoadClasses := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   275
    ClassPathExt := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   276
    ExcludedClassPath := OrderedCollection new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   277
    SourceCache := CacheDictionary new: 32.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   278
    SourceArchiveCache := CacheDictionary new: 32.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   279
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   280
    Threads := IdentityDictionary new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   281
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   282
    ClassPathBundle := JavaClassPathBundle new.
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   283
    ClassPath isNil ifTrue:[ClassPath:= OrderedCollection new]. "/ for ad-hoc packages
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   284
    SourcePath isNil ifTrue:[SourcePath := OrderedCollection new]."/ for ad-hoc packages
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   285
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   286
    ThreadsAccess := RecursionLock forMutualExclusion.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   287
    self initializePrettyPrintStyle.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   288
    ObjectMemory addDependent: self.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   289
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   290
    "Initialize JITer and Native method optimization"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   291
    (flag := OperatingSystem getEnvironment:'STX_LIBJAVA_ENABLE_JIT') notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   292
        ObjectMemory javaJustInTimeCompilation: (flag = '1') 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   293
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   294
    (flag := OperatingSystem getEnvironment:'STX_LIBJAVA_ENABLE_NATIVE_METHOD_OPTIMIZATION') notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   295
        ObjectMemory javaNativeCodeOptimization: (flag = '1') 
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   296
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   297
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   298
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   299
     Java flushAllJavaResources.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   300
     Java initialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   301
     JavaVM initializeVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   302
     Java classPath inspect"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   303
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   304
    "Modified: / 06-11-2001 / 09:24:12 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   305
    "Created: / 03-10-2010 / 15:54:02 / Jan Kurs <kurs.jan@post.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   306
    "Modified: / 15-10-2010 / 17:37:20 / Jan Kurs <kurs.jan@post.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   307
    "Modified: / 09-12-2011 / 13:16:15 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   308
    "Modified: / 19-02-2013 / 21:04:10 / 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: 2279
diff changeset
   309
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   310
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   311
initializePrettyPrintStyle
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   312
    PrettyPrintStyle := IdentityDictionary new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   313
    PrettyPrintStyle  at:#accessAttribute put:(#color -> (Color red:0 green:0 blue:25)).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   314
    PrettyPrintStyle  at:#className       put:(Array with:(#color -> Color black) with:#bold).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   315
    PrettyPrintStyle  at:#methodName      put:(Array with:(#color -> Color black) with:#bold).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   316
    PrettyPrintStyle  at:#code            put:(#color -> Color black).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   317
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   318
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   319
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   320
      Java initializePrettyPrintStyle
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   321
     "
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   322
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   323
    "Created: 1.8.1997 / 11:08:43 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   324
    "Modified: 1.8.1997 / 11:09:58 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   325
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   326
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   327
initializeRelease
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   328
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   329
    Release isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   330
	self reinitializeRelease.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   331
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   332
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   333
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   334
	Release := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   335
	self initializeRelease.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   336
	Release
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   337
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   338
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   339
    "Created: / 22-11-2010 / 13:41:34 / 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: 2279
diff changeset
   340
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   341
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   342
reboot
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   343
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   344
    ^JavaVM reboot.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   345
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   346
    "Created: / 21-02-2012 / 18:11:47 / 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: 2279
diff changeset
   347
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   348
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   349
reinitAllClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   350
     self markAllClassesUninitialized.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   351
     self initAllClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   352
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   353
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   354
      Java reinitAllClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   355
     "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   356
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   357
    "Modified: / 4.1.1998 / 00:34:29 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   358
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   359
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   360
reinitialize
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   361
    FailedToLoadClasses := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   362
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   363
    "Kludge"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   364
    JavaMethod reinitialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   365
    JavaMethodWithException reinitialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   366
    JavaMethodWithHandler reinitialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   367
    JavaNativeMethod reinitialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   368
    JavaNativeMethod flushAllCachedNativeMethods.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   369
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   370
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   371
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   372
     Java reinitialize
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   373
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   374
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   375
    "Created: / 26-08-1997 / 20:07:00 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   376
    "Modified: / 27-04-1998 / 14:57:23 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   377
    "Modified: / 17-08-2012 / 11:58:23 / 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: 2279
diff changeset
   378
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   379
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   380
reinitializeRelease
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   381
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   382
    | nm |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   383
    "First, consult STX_LIBJAVA_RELEASE environment variable, if set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   384
    nm := OperatingSystem getEnvironment:'STX_LIBJAVA_RELEASE'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   385
    nm isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   386
        "If not defined, ask preferences if preffered release is set"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   387
        nm := UserPreferences current javaReleaseSelector.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   388
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   389
    Release := nm notNil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   390
                ifTrue:[JavaRelease perform: nm asSymbol ifNotUnderstood:[JavaRelease any]]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   391
                ifFalse:[JavaRelease any].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   392
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   393
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   394
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   395
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   396
        Release := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   397
        self initializeRelease.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   398
        Release
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   399
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   400
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   401
    "Created: / 26-07-2012 / 23:58:00 / 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: 2279
diff changeset
   402
    "Modified: / 16-02-2013 / 09:18:20 / 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: 2279
diff changeset
   403
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   404
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   405
startupJavaSystem
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   406
    | javaEventThread  haveEventThread  haveScreenUpdater |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   407
    FailedToLoadClasses := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   408
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   409
    "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   410
    "/ check if already running
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   411
    "/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   412
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   413
    haveEventThread := true.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   414
    javaEventThread := JavaVM javaEventThread.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   415
    (javaEventThread isNil or: [ javaEventThread isDead ]) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   416
	haveEventThread := false
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   417
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   418
    haveScreenUpdater := false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   419
    haveEventThread ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   420
	self threadsDo: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   421
	    :aJavaThread |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   422
	    aJavaThread name = 'JAVA-Screen Updater' ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   423
		aJavaThread isDead ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   424
		    "/ already running
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   425
		    haveScreenUpdater := true
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   426
		]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   427
	    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   428
	].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   429
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   430
    (haveEventThread and: [ haveScreenUpdater ]) ifTrue: [ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   431
    JavaClass orderOfClassInits isNil ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   432
	"/ the very first start ...
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   433
	'JAVA [info]: (re)initializing JAVA environment completely ...'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   434
	    infoPrintCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   435
	JavaVM initializeVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   436
    ] ifFalse: [ JavaVM initializeVMIfNoEventThreadRunning ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   437
    'JAVA [info]: done JAVA initialization.' infoPrintCR.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   438
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   439
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   440
     Java startupJavaSystem"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   441
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   442
    "Modified: / 24-12-1999 / 01:37:49 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   443
    "Modified: / 09-12-2011 / 12:50:00 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   444
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   445
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   446
terminateAllThreads
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   447
    | myself  threadsToKill  semaphore |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   448
    Threads isNil ifTrue: [ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   449
    myself := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   450
    threadsToKill := IdentitySet new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   451
    Threads do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   452
	:aJavaThread |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   453
	aJavaThread ~~ myself ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   454
	    (aJavaThread isNil or: [ aJavaThread == 0 ]) ifFalse: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   455
		(aJavaThread isMemberOf: JavaProcess) ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   456
		    aJavaThread isDead ifFalse: [ threadsToKill add: aJavaThread ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   457
		]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   458
	    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   459
	]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   460
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   461
    threadsToKill size > 0 ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   462
	Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   463
	    log: 'Killing ' , threadsToKill size printString , ' java processes'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   464
	    severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   465
	    facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   466
	semaphore := Semaphore new: 1 - threadsToKill size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   467
	semaphore name: 'Java thread killer'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   468
	threadsToKill do: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   469
	    :aThread |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   470
	    aThread == JavaVM javaScreenUpdaterThread ifTrue: [ self halt ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   471
	    aThread == JavaVM javaEventQueueThread ifTrue: [ self halt ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   472
	    aThread
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   473
		addExitAction: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   474
		    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   475
			log: 'Java thread killed successfully'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   476
			severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   477
			facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   478
		    semaphore signal
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   479
		].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   480
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   481
	    aThread terminate
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   482
	].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   483
	semaphore wait.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   484
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   485
    JavaVM releaseAllMonitors.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   486
    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   487
	log: 'No Java threads running at this point'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   488
	severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   489
	facility: #JVM.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   490
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   491
    Threads := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   492
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   493
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   494
     Java terminateAllThreads"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   495
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   496
    "Created: / 26-08-1997 / 19:57:40 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   497
    "Modified: / 24-12-1999 / 02:34:53 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   498
    "Modified: / 17-11-2011 / 21:31:14 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   499
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   500
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   501
!Java class methodsFor:'debugging'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   502
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   503
dontHaltOnKnownBugs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   504
    Object disableBreakPoint: #knownBugs.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   505
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   506
    "Created: / 09-10-2011 / 17:29:17 / m"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   507
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   508
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   509
dumpConfig
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   510
    Transcript notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   511
        self dumpConfigOn: Transcript
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   512
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   513
        self dumpConfigOn: Stdout
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   514
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   515
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   516
    "Created: / 10-12-2011 / 12:54:28 / 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: 2279
diff changeset
   517
    "Modified (format): / 11-02-2013 / 14:18:38 / 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: 2279
diff changeset
   518
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   519
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   520
dumpConfigKey: key value: value on: stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   521
    '%-30s : %s' printf: { key . value } on: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   522
    stream cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   523
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   524
    "Created: / 08-02-2013 / 10:18:02 / 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: 2279
diff changeset
   525
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   526
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   527
dumpConfigOn: stream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   528
    "Prints current config (java home, initial system properties etc) on a stream."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   529
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   530
    | props |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   531
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   532
    stream nextPutAll: '== VM configuration =='; cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   533
    self dumpConfigKey: 'JIT' value: (ObjectMemory javaJustInTimeCompilation printString) on: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   534
    self dumpConfigKey: 'Native Opt' value: (ObjectMemory javaNativeCodeOptimization printString) on: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   535
    Java release dumpConfigOn: stream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   536
    props := Dictionary new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   537
    JavaVM initializeSystemPropertiesInto: props.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   538
    stream nextPutAll: '== Initial system properties =='; cr.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   539
    props keysAndValuesDo:[:key :value|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   540
        self dumpConfigKey: key value: value on: stream.  
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   541
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   542
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   543
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   544
        Java dumpConfigOn: Transcript.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   545
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   546
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   547
    "Created: / 10-12-2011 / 12:54:48 / 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: 2279
diff changeset
   548
    "Modified: / 08-02-2013 / 10:23:11 / 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: 2279
diff changeset
   549
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   550
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   551
haltOnKnownBugs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   552
    Object enableBreakPoint: #knownBugs.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   553
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   554
    "Created: / 09-10-2011 / 17:29:05 / m"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   555
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   556
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   557
!Java class methodsFor:'enumerating'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   558
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   559
allClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   560
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   561
    ^JavaVM classRegistry classes
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   562
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   563
    "Modified: / 28-01-1998 / 01:42:04 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   564
    "Modified: / 23-10-2011 / 20:14:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   565
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   566
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   567
allClassesDo:aBlock
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   568
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   569
    ^JavaVM classRegistry classesDo: aBlock
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   570
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   571
    "Modified: / 23-10-2011 / 20:14: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: 2279
diff changeset
   572
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   573
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   574
!Java class methodsFor:'object conversions'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   575
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   576
as_Boolean:aBoolean
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   577
    "convert an ST-boolean into a Java Boolean"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   578
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   579
    |i|
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   580
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   581
    i := (Java at:'java.lang.Boolean') new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   582
    i perform:#'<init>(Z)V' with:(aBoolean ifTrue:[1] ifFalse:[0]).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   583
    ^ i
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   584
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   585
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   586
     Java as_Boolean: true
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   587
     Java as_Boolean: false
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   588
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   589
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   590
    "Created: / 26-12-2011 / 20:44:28 / 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: 2279
diff changeset
   591
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   592
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   593
as_Float:aNumber
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   594
    "convert an ST-float into a Java Float"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   595
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   596
    |i|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   597
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   598
    i := (Java at:'java.lang.Float') new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   599
    i perform:#'<init>(F)V' with:(aNumber asShortFloat).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   600
    ^ i
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   601
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   602
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   603
     Java as_Float:1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   604
     Java as_Float:3.14159
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   605
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   606
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   607
    "Created: 7.8.1997 / 21:21:13 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   608
    "Modified: 7.8.1997 / 21:22:05 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   609
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   610
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   611
as_Hashtable: aDictionary
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   612
    "given a smalltalk dictionary, create and return
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   613
     a Java hashTable for it"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   614
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   615
    | hashTable |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   616
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   617
    hashTable := (JavaVM classForName:'java.util.Hashtable' definedBy:nil) new.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   618
    aDictionary
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   619
	keysAndValuesDo: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   620
	    :k :v |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   621
	    | sk  sv  jk  jv |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   622
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   623
	    (sk := k) isSymbol ifTrue: [ sk := sk asString ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   624
	    (sv := v) isSymbol ifTrue: [ sv := sv asString ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   625
	    jk := self as_Object: sk.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   626
	    jv := self as_Object: sv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   627
	    hashTable
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   628
		perform: #'put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   629
		with: jk
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   630
		with: jv.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   631
	].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   632
    ^ hashTable
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   633
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   634
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   635
     Java as_Hashtable:(Dictionary new
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   636
			   at:'hello' put:'Hallo';
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   637
			   at:'world' put:'Welt';
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   638
			   yourself)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   639
    "Modified: / 14.1.1998 / 17:02:13 / cg"
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   640
!
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   641
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   642
as_Integer:anInteger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   643
    "convert an ST-integer into a Java Integer"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   644
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   645
    |i|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   646
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   647
    i := (Java at:'java.lang.Integer') new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   648
    i perform:#'<init>(I)V' with:anInteger.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   649
    ^ i
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   650
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   651
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   652
     Java as_Integer:1
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   653
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   654
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   655
    "Modified: 7.8.1997 / 21:19:37 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   656
    "Created: 7.8.1997 / 21:21:13 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   657
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   658
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   659
as_Object:anObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   660
    "convert an ST-Object into a Java Object"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   661
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   662
    anObject isString ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   663
	^ self as_String:anObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   664
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   665
    anObject isInteger ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   666
	^ self as_Integer:anObject
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   667
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   668
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   669
    self halt.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   670
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   671
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   672
     Java as_Object:'hello world'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   673
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   674
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   675
    "Created: 7.8.1997 / 21:15:38 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   676
    "Modified: 7.8.1997 / 21:20:07 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   677
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   678
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   679
as_ST_String: aJavaString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   680
    "Given a java.lang.String instance, returns a coresponding
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   681
     Smalltalk String"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   682
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   683
    ^Release as_ST_String: aJavaString
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   684
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   685
    "Created: / 08-08-1997 / 12:02:55 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   686
    "Modified: / 04-01-1999 / 23:55:08 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   687
    "Modified: / 22-03-2011 / 17:21:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   688
    "Modified: / 07-02-2013 / 20:02:50 / 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: 2279
diff changeset
   689
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   690
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   691
as_String:aString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   692
    "Given a Smalltalk string, returns corresponsing instance of
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   693
     java.lang.String"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   694
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   695
    ^Release as_String: aString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   696
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   697
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   698
     Java as_String:'hello world'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   699
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   700
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   701
    "Created: / 07-08-1997 / 21:15:49 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   702
    "Modified: / 07-02-2013 / 20:03:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   703
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   704
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   705
as_URL:aString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   706
    "convert an ST-String into a Java String"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   707
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   708
    "hard-coding internas of java.lang.String here is bad ..."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   709
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   710
    |u s|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   711
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   712
    s := aString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   713
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   714
    "/ kludge for volume
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   715
    OperatingSystem isMSDOSlike ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   716
	((s size > 1) and:[(s at:2) == $:]) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   717
	    s := 'file:' , (s copy at:2 put:$|)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   718
	]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   719
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   720
    u := (self at:'java.net.URL') newCleared.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   721
    u perform:#'<init>(Ljava/lang/String;)V' with:(self as_String:s).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   722
    ^ u
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   723
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   724
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   725
     Java as_URL:'http://www.altavista.com'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   726
     Java as_URL:'file:/foo/bar'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   727
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   728
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   729
    "Created: / 7.8.1997 / 21:15:49 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   730
    "Modified: / 25.9.1999 / 22:22:21 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   731
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   732
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   733
!Java class methodsFor:'others'!
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   734
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   735
version_HG
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   736
2578
fc6186a4961f Performance optimization: rewrote 'JavaVM classNamed:' to 'JavaVM classNamed:...definedBy:...'.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2566
diff changeset
   737
    ^ '$Changeset: <not expanded> $'
2396
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   738
! !
fadc6d7a2f5b Updated to rev 009a0df3afce
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2376
diff changeset
   739
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   740
!Java class methodsFor:'paths-accessing'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   741
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   742
cacheDirectory
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   743
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   744
    CacheDirectory ifNil:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   745
	CacheDirectory := Filename homeDirectory / '.smalltalk' / 'libjava' / 'caches' /
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   746
	    (((Smalltalk at:#stx_libjava) svnRepositoryUrlBase copyReplaceAll:$/ with:$_) replaceAll:$: with:$_)
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   747
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   748
    ^CacheDirectory
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   749
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   750
    "Created: / 08-04-2011 / 15:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   751
    "Modified: / 08-04-2011 / 16:58:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   752
!
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   753
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   754
classPath
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   755
    ^ClassPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   756
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   757
    "Created: / 07-02-1997 / 19:23:45 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   758
    "Modified: / 16-01-2013 / 12:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   759
!
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   760
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   761
classPath:aCollectionOfPaths
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   762
    ClassPath := aCollectionOfPaths
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   763
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   764
    "Created: / 07-02-1997 / 19:23:45 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   765
    "Modified: / 17-09-1998 / 20:44:09 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   766
    "Modified: / 16-01-2013 / 12:44: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: 2279
diff changeset
   767
!
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   768
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   769
classPathAsString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   770
    ^ (self classPath collect: [ :each | each pathName ]) asStringWith: $:.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   771
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   772
    "Created: / 12-12-2012 / 23:55:00 / 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: 2279
diff changeset
   773
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   774
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   775
classPathBundle
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   776
    ^ClassPathBundle
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   777
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   778
    "Created: / 25-01-2013 / 21:49:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   779
!
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   780
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   781
effectiveClassPath
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   782
    ^ClassPathBundle classPath , self classPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   783
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   784
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   785
    Java effectiveClassPath
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   786
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   787
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   788
    "Created: / 22-11-2010 / 13:03:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   789
    "Modified: / 17-01-2011 / 09:44:16 / kursjan <kursjan@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: 2279
diff changeset
   790
    "Modified: / 23-01-2013 / 14:45:11 / 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: 2279
diff changeset
   791
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   792
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   793
effectiveExtensionsPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   794
    "Return an effective list of directories that contains
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   795
     extensions to Java classes. These extensions are loaded
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   796
     by JavaClassReader each time the class is loaded into
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   797
     running system"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   798
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   799
    ^self effectiveExtensionsPathForRelease: Release
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   800
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   801
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   802
    Java effectiveExtensionsPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   803
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   804
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   805
    "Created: / 06-09-2012 / 11:27:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   806
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   807
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   808
effectiveSourceDirectories
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   809
    ^Release sourcePath , ClassPathBundle sourcePath , SourcePath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   810
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   811
        Java effectiveSourceDirectories
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   812
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   813
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   814
    "Created: / 30-11-2010 / 11:53:42 / 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: 2279
diff changeset
   815
    "Modified: / 23-01-2013 / 15:22:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   816
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   817
276
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   818
excludedClassPath
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   819
    ^ ExcludedClassPath
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   820
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   821
    "Modified: / 7.2.1997 / 19:23:55 / cg"
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   822
    "Created: / 27.1.1998 / 21:57:13 / cg"
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   823
!
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   824
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   825
isExcludedFromClassPath:fileName
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   826
    |nm|
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   827
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   828
    nm := fileName asFilename pathName.
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   829
    ExcludedClassPath do:[:excludedPath |
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   830
	(nm startsWith:excludedPath) ifTrue:[^ true].
276
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   831
    ].
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   832
    ^ false
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   833
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   834
    "Created: / 27.1.1998 / 22:00:40 / cg"
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   835
!
70c74d8bd43f added path exclusion
cg
parents: 274
diff changeset
   836
201
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   837
javaHome
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   838
    ^ JavaHome ifNil:[Release javaHome]
201
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   839
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   840
    "Created: / 06-08-1997 / 00:53:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   841
    "Modified: / 22-11-2010 / 12:39:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
201
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   842
!
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   843
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   844
javaHome:aPath
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   845
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   846
    <resource: #obsolete>
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   847
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   848
    self obsoleteMethodWarning: 'javaHome is now controlled by java release'.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   849
201
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   850
    JavaHome := aPath
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   851
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   852
    "Created: / 06-08-1997 / 00:53:23 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
   853
    "Modified: / 22-11-2010 / 12:40:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
201
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   854
!
912c48b6e7ac *** empty log message ***
cg
parents: 200
diff changeset
   855
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   856
sourcePath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   857
    ^SourcePath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   858
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   859
    "Created: / 16-01-1998 / 13:26:55 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   860
    "Modified: / 16-01-2013 / 12:45: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: 2279
diff changeset
   861
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   862
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   863
!Java class methodsFor:'paths-adding & removing'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   864
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   865
addToClassPath:pathOrCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   866
    ^ self addToPath:ClassPath path:pathOrCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   867
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   868
    "Created: / 01-08-1997 / 21:10:07 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   869
    "Modified: / 17-09-1998 / 20:43:55 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   870
    "Modified: / 14-12-2011 / 00:04:43 / 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: 2279
diff changeset
   871
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   872
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   873
addToPath:cp filesMatching:pattern in:path
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   874
    |dir|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   875
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   876
    dir := path asFilename.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   877
    dir exists ifFalse:[ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   878
    dir directoryContents do:[:fname |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   879
	(fname matches:pattern) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   880
	    |p|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   881
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   882
	    p := (dir / fname) pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   883
	    (cp includes:p) ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   884
		cp add:p.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   885
		cp == ClassPath ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   886
		    self addToClassPathInRuntime:p.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   887
		].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   888
		FailedToLoadClasses := nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   889
	    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   890
	]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   891
    ].
668
babdc674688d java setup
cg
parents: 666
diff changeset
   892
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   893
    "Created: / 14-12-2011 / 00:04:03 / 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: 2279
diff changeset
   894
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   895
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   896
addToPath:cp path:pathOrCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   897
    |path|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   898
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   899
    (pathOrCollection isSequenceable and:[pathOrCollection isCharacters not]) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   900
	pathOrCollection do:[:each |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   901
	    self addToPath:cp path:each
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   902
	].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   903
	^ self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   904
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   905
    path := pathOrCollection asFilename.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   906
    (pathOrCollection asString includes:$*) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   907
	self
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   908
	    addToPath:cp
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   909
	    filesMatching:path baseName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   910
	    in:path directoryName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   911
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   912
	(ClassPath includes:pathOrCollection asString) ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   913
	    cp add:pathOrCollection asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   914
	    cp == ClassPath ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   915
		self addToClassPathInRuntime:pathOrCollection.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   916
	    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   917
	    FailedToLoadClasses := nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   918
	]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   919
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   920
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   921
    "Created: / 01-08-1997 / 21:10:07 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   922
    "Modified: / 17-09-1998 / 20:43:55 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   923
    "Created: / 14-12-2011 / 00:03:26 / 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: 2279
diff changeset
   924
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   925
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   926
addToSourcePath:pathOrCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   927
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   928
    self addToPath: SourcePath path: pathOrCollection
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   929
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   930
    "Created: / 02-08-1997 / 14:12:31 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   931
    "Modified: / 14-12-2011 / 00:08:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
668
babdc674688d java setup
cg
parents: 666
diff changeset
   932
!
babdc674688d java setup
cg
parents: 666
diff changeset
   933
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   934
removeFromClassPath:aPath
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   935
    (ClassPath includes:aPath) ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   936
	ClassPath remove:aPath
192
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   937
    ]
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   938
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   939
    "Modified: 7.2.1997 / 19:23:55 / cg"
80dde7b3cd73 checkin from browser
cg
parents: 191
diff changeset
   940
    "Created: 1.8.1997 / 21:10:21 / cg"
188
5de467ea7e45 support color printing
cg
parents: 176
diff changeset
   941
!
5de467ea7e45 support color printing
cg
parents: 176
diff changeset
   942
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   943
removeFromSourcePath:aPath
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   944
    (SourceDirectories includes:aPath) ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   945
	SourceDirectories remove:aPath
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   946
    ]
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   947
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   948
    "Modified: 7.2.1997 / 19:23:55 / cg"
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   949
    "Created: 2.8.1997 / 14:13:01 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   950
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   951
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   952
!Java class methodsFor:'paths-utils'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   953
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   954
addToClassPathInRuntime: aPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   955
    | path  file  url  scl |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   956
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   957
    "Java might not be loaded/or initialized, in this case
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   958
     there is no no need to inform java about new entry in classpath"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   959
    JavaVM booted ifFalse: [ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   960
    scl := JavaVM systemClassLoader.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   961
    scl isNil ifTrue:[ ^self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   962
    path := Java as_String: aPath asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   963
    file := ((JavaVM at: 'java.io.File') new)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   964
		perform: #'<init>(Ljava/lang/String;)V' with: path;
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   965
		yourself.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   966
    url := file perform: #'toURL()Ljava/net/URL;'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   967
    scl perform: #'addURL(Ljava/net/URL;)V' with: url.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   968
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   969
    "Created: / 01-08-1997 / 21:10:07 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   970
    "Modified: / 17-09-1998 / 20:43:55 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   971
    "Created: / 07-08-2011 / 14:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   972
!
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
   973
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   974
classPathInRuntime: classPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   975
    "Sets the classpath in already booted/running Java environment"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   976
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   977
    | urls ucp scl |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   978
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   979
    JavaVM booted ifFalse: [ ^ self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   980
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   981
    scl := JavaVM systemClassLoader.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   982
    scl isNil ifTrue:[ ^self ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   983
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   984
    urls := (JavaVM classForName:'java.net.URL' definedBy:nil) javaArrayClass new: classPath size.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   985
    classPath withIndexDo:[:element :index|
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   986
        | path file url |
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   987
        path := Java as_String: element pathName.
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   988
        file := ((JavaVM at: 'java.io.File') new)
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   989
                perform: #'<init>(Ljava/lang/String;)V' with: path;
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   990
                yourself.
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   991
        url := file perform: #'toURL()Ljava/net/URL;'.
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   992
        urls at: index put: url
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   993
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   994
    ucp := (Java classForName:'sun.misc.URLClassPath') new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   995
    ucp perform: #'<init>([Ljava/net/URL;)V' with: urls.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   996
    scl instVarNamed: #ucp put: ucp.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   997
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
   998
    "Created: / 02-08-2012 / 16:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2588
58b1e0fd20e7 Changed JavaVM>>classForName: to faster JavaVM>>classForName:definedBy:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2578
diff changeset
   999
    "Modified: / 07-05-2013 / 11:20:59 / 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: 2279
diff changeset
  1000
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1001
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1002
effectiveExtensionsPathForRelease: aRelease
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1003
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1004
    ^ (ExtensionsPath ? #()) ,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1005
	self extensionsPathFromPackages
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1006
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1007
    "Created: / 06-09-2012 / 11:27:48 / 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: 2279
diff changeset
  1008
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1009
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1010
extensionsPathFromPackages
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1011
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1012
    ExtensionsPathPackages isNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1013
	ExtensionsPathPackages := OrderedCollection new.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1014
	Smalltalk allProjectIDs do:[:pkg|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1015
	    | dir |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1016
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1017
	    dir := Smalltalk packageDirectoryForPackageId: pkg.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1018
	    dir notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1019
		dir := dir asFilename / 'java' / 'extensions'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1020
		dir exists ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1021
		    ExtensionsPathPackages add: dir
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1022
		].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1023
	    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1024
	].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1025
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1026
    ^ExtensionsPathPackages.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1027
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1028
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1029
    Java extensionsPathFromPackages
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1030
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1031
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1032
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1033
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1034
	Java extensionsPathFromPackages
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1035
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1036
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1037
    "Created: / 06-09-2012 / 11:30:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1038
!
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1039
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1040
sourceDirectories:aCollectionOfPaths
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1041
    SourceDirectories := aCollectionOfPaths asOrderedCollection
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1042
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1043
    "
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1044
     Java
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1045
	sourceDirectories:#(
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1046
			    '/phys/ibm3/java/src'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1047
			   )
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1048
    "
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1049
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1050
205
11cd2ad78854 *** empty log message ***
cg
parents: 203
diff changeset
  1051
! !
11cd2ad78854 *** empty log message ***
cg
parents: 203
diff changeset
  1052
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1053
!Java class methodsFor:'queries'!
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1054
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1055
smalltalkClassFor:typeRef
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1056
self halt.
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1057
"/    (typeString startsWith:'[[') ifTrue:[
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1058
"/        ^ Array
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1059
"/    ].
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1060
"/    (typeString startsWith:'[F') ifTrue:[
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1061
"/        ^ FloatArray
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1062
"/    ].
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1063
    self halt.
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1064
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1065
    "Modified: 7.4.1997 / 13:33:46 / cg"
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1066
!
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1067
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1068
smalltalkDerefType:typeString
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1069
    (typeString startsWith:'[') ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1070
	^ typeString copyFrom:2
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1071
    ].
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1072
    self halt.
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1073
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1074
    "Modified: 7.4.1997 / 13:13:24 / cg"
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1075
! !
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1076
135
098936234135 *** empty log message ***
cg
parents: 121
diff changeset
  1077
!Java class methodsFor:'registering java classes'!
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1078
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1079
at: aJavaName
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1080
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1081
    ^JavaVM at: aJavaName.
43
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1082
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1083
    "Modified: / 18-07-1998 / 22:55:16 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1084
    "Modified (format): / 21-10-2011 / 10:40:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1085
!
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1086
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1087
at: aJavaName put: aJavaClass
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1088
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1089
    ^JavaVM at:aJavaName put:aJavaClass.
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1090
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1091
    "Created: / 17-04-1996 / 23:29:31 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1092
    "Modified: / 07-08-1997 / 19:15:58 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1093
    "Modified (format): / 21-10-2011 / 10:39:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
21
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1094
!
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1095
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1096
flushAllJavaResources
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1097
    self flushClasses.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1098
    JavaVM registry flush.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1099
    JavaVM reflection notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1100
	JavaVM reflection flush.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1101
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1102
    InternedStrings := Dictionary new.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1103
    SourceCache := CacheDictionary new: 32.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1104
    SourceArchiveCache := CacheDictionary new: 32.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1105
    ThreadsAccess := RecursionLock forMutualExclusion.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1106
    ClassPathPackages := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1107
    JavaMonitor initialize.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1108
    Smalltalk garbageCollect.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1109
    ObjectMemory
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1110
	allObjectsDo: [:someObject |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1111
	    someObject isBehavior ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1112
		someObject isJavaClass ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1113
		    | cp |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1114
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1115
		    cp := someObject constantPool.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1116
		    Class flushSubclassInfoFor: someObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1117
		    1 to: cp size do:[:i|cp at: i put: nil].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1118
		    someObject setConstantPool: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1119
		    someObject setInterfaces: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1120
		    someObject setMethodDictionary: (MethodDictionary new).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1121
		    Logger
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1122
			log: 'flushing ' , someObject fullName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1123
			severity: #info
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1124
			facility: 'JVM'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1125
		]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1126
	    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1127
	].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1128
    JavaVM releasehSystemClassLoader.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1129
    JavaVM releasehSmalltalkClassLoader.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1130
    Class flushSubclassInfoFor: JavaObject.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1131
    GroovyEvaluator flushWorkspaceBinding .
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1132
    GroovyCompiler  flushGroovyClassLoader.
2105
68d6afd0c8e8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  1133
    JavaClass flushClassesInitOrder.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1134
    JavaVM finalizationLobby notNil ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1135
	JavaVM finalizationLobby stopFinalizationProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1136
    ]
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1137
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1138
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1139
     Java flushAllJavaResources"
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1140
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1141
    "Modified: / 06-11-2001 / 09:49:37 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1142
    "Modified: / 02-11-2011 / 21:34:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1143
    "Modified: / 09-01-2013 / 17:44:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1144
!
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1145
21
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1146
flushClasses
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1147
    UnresolvedClassRefs := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1148
    JavaVM flushClasses.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1149
    Smalltalk keysAndValuesDo:[:name :class |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1150
	class isJavaClass ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1151
	    Smalltalk removeKey: name.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1152
	]
168
90e39cb3fa04 *** empty log message ***
cg
parents: 167
diff changeset
  1153
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1154
    Smalltalk removeKey:#'JAVA'.
2105
68d6afd0c8e8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2100
diff changeset
  1155
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1156
    Java_lang_String := Java_lang_Class := nil.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1157
    JavaVM releaseAllJavaResources.
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1158
    JavaUnresolvedConstant flushPatchLists.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1159
    Debugger == DebugView ifTrue:[Debugger newDebugger].
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 421
diff changeset
  1160
    ObjectMemory flushCaches.
21
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1161
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1162
    "
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1163
     Java flushClasses
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1164
    "
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1165
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1166
    "Modified: / 06-11-2001 / 09:47:49 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1167
    "Modified: / 16-11-2011 / 09:43:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1168
    "Modified: / 04-12-2011 / 11:35:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
21
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1169
!
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1170
43
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1171
markAllClassesUninitialized
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1172
    self allClassesDo:[:aJavaClass |
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1173
	aJavaClass markUninitialized
43
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1174
    ].
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1175
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1176
    "
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1177
     Java markAllClassesUninitialized
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1178
    "
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1179
!
2c4ca2eb8d07 checkin from browser
cg
parents: 32
diff changeset
  1180
21
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1181
rememberUnresolved:anUnresolvedClassRef
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1182
    ('JAVA: remember unresolved class: ' , anUnresolvedClassRef fullName) infoPrintCR.
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1183
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1184
    UnresolvedClassRefs isNil ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1185
	UnresolvedClassRefs := Dictionary new.
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1186
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1187
    UnresolvedClassRefs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1188
	at:anUnresolvedClassRef fullName
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1189
	put:anUnresolvedClassRef
21
b9dd73f299dd checkin from browser
cg
parents: 17
diff changeset
  1190
393
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1191
    "Created: / 18.4.1996 / 00:05:31 / cg"
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1192
    "Modified: / 19.10.1998 / 20:57:44 / cg"
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1193
!
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1194
162
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1195
removeClass:aJavaClass
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1196
    "/ remove it from myself
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1197
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1198
    |javaName sym cls p ns|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1199
2520
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1200
"/    self breakPoint: #jv.
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1201
"/    self breakPoint: #mh.
162
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1202
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1203
    javaName := aJavaClass fullName.
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1204
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1205
    sym := javaName asSymbolIfInterned.
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1206
    sym notNil ifTrue:[
2520
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1207
        cls := JavaVM classForName: sym definedBy: aJavaClass classLoader.
162
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1208
    ].
212
9b5e1b60d0c2 checkin from browser
cg
parents: 208
diff changeset
  1209
    (cls notNil and:[cls == aJavaClass]) ifTrue:[
2520
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1210
        self updateClassRefsFrom:aJavaClass to:nil.
162
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1211
    ].
393
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1212
    Smalltalk removeKey:('JAVA::' , javaName) asSymbol.
592
2728f2aa4c30 checkin from browser
cg
parents: 591
diff changeset
  1213
    Smalltalk removeKey:javaName asSymbol.
2728f2aa4c30 checkin from browser
cg
parents: 591
diff changeset
  1214
    Smalltalk removeKey:((javaName , '') copy replaceAll:$/ with:$.) asSymbol.
393
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1215
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1216
    "/ remove myself from the JAVA::-::-:: namespace
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1217
    "/ (which exists for convenient smalltalk access only)
162
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1218
393
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1219
    p := aJavaClass nameSpacePath.
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1220
    p knownAsSymbol ifTrue:[
2520
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1221
        ns := Smalltalk at:p asSymbol.
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1222
        (ns notNil and:[ns isNameSpace]) ifTrue:[
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1223
            Smalltalk removeKey:(p , '::' , aJavaClass lastName) asSymbol
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1224
        ]
393
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1225
    ].
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1226
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1227
    JavaVM registry unregisterClass: aJavaClass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1228
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1229
    "Modified: / 19-10-1998 / 20:58:49 / cg"
2520
33a10f31ae47 Removed breakpoints when removing Java classes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2476
diff changeset
  1230
    "Modified: / 17-04-2013 / 21:29:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
162
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1231
!
15b1e9c8e2f5 preps for class-remove
cg
parents: 147
diff changeset
  1232
90
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1233
unresolvedClassRefFor:aClassName
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1234
    UnresolvedClassRefs isNil ifTrue:[^ nil].
918e2740098c resolve rewritten
cg
parents: 84
diff changeset
  1235
    ^ UnresolvedClassRefs at:aClassName ifAbsent:nil.
393
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1236
1efe41b5bc98 #removeClass: fix
cg
parents: 381
diff changeset
  1237
    "Modified: / 19.10.1998 / 20:56:46 / cg"
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1238
!
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1239
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1240
updateClassRefsFrom:oldClass to:newClass
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1241
    "update all references to oldClass to now refer to newClass.
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1242
     sent, when a class is reloaded"
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1243
214
76588d86cbfb checkin from browser
cg
parents: 212
diff changeset
  1244
    newClass notNil ifTrue:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1245
	"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1246
	"/ kludge: the new class might have been resolved with the oldClass ...
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1247
	"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1248
	newClass constantPool
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1249
	    updateClassRefsFrom:oldClass to:newClass.
214
76588d86cbfb checkin from browser
cg
parents: 212
diff changeset
  1250
    ].
205
11cd2ad78854 *** empty log message ***
cg
parents: 203
diff changeset
  1251
203
67af98594672 *** empty log message ***
cg
parents: 201
diff changeset
  1252
    self allClassesDo:[:aJavaClass |
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1253
	aJavaClass updateClassRefsFrom:oldClass to:newClass
203
67af98594672 *** empty log message ***
cg
parents: 201
diff changeset
  1254
    ].
167
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1255
77dcbc4b2201 *** empty log message ***
cg
parents: 162
diff changeset
  1256
    "Created: 26.3.1997 / 13:49:20 / cg"
214
76588d86cbfb checkin from browser
cg
parents: 212
diff changeset
  1257
    "Modified: 12.8.1997 / 03:04:44 / cg"
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1258
! !
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1259
135
098936234135 *** empty log message ***
cg
parents: 121
diff changeset
  1260
!Java class methodsFor:'source management'!
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1261
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1262
classSource:filename package:package in:dirOrZipFile
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1263
    |fn pn zar f |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1264
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1265
    fn := dirOrZipFile asFilename.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1266
    pn := dirOrZipFile asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1267
    fn isDirectory
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1268
	ifTrue:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1269
	    [ package notNil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1270
		ifTrue:[ (f:= fn / package / filename) exists ifTrue:[ ^ f contents asString ]. ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1271
	    (f := fn / filename) exists ifTrue:[ ^ f contents asString ]. ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1272
	ifFalse:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1273
	    [ ((pn last == $p and: [fn hasSuffix:'zip']) or:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1274
	      [(pn last == $r and: [fn hasSuffix:'jar'])])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1275
		ifTrue:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1276
		    [ zar := SourceArchiveCache
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1277
				at: dirOrZipFile
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1278
				ifAbsentPut:[ZipArchive oldFileNamed:fn pathName].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1279
		    zar notNil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1280
			ifTrue:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1281
			    [   package notNil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1282
				ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1283
				    OperatingSystem fileSeparator ~~ $/ ifTrue: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1284
					f := (package copyReplaceAll: OperatingSystem fileSeparator with: $/) , '/' , filename
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1285
				    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1286
					f := package , '/' , filename.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1287
				    ]]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1288
				ifFalse:[ f := filename].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1289
			    (zar findMember: f) ifNotNil:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1290
				[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1291
				    "Kludge because of broken ZipArchive"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1292
				    |  cache |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1293
				    cache := Java cacheDirectory / Release name / 'src'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1294
				    cache exists ifFalse:[cache recursiveMakeDirectory].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1295
				    (cache / f) exists ifTrue:[^(cache / f) contents asString].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1296
				    OperatingSystem
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1297
					executeCommand:('unzip "%1" "%2"' bindWith: fn asAbsoluteFilename asString
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1298
							    with: f asString)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1299
					inDirectory: cache asString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1300
				    (f := cache / f) exists ifTrue:[^f contents asString]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1301
				].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1302
			    zar closeFile.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1303
			    ]]].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1304
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1305
    ^ nil
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1306
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1307
    "
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1308
	Java classSource: 'Object.java' package:'java/lang' in:'/home/jv/Projects/JavaX/java-6-openjdk/src'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1309
	Java classSource: 'Object.java' package:'java/lang' in:'/usr/lib/jvm/java-6-openjdk/src.zip'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1310
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1311
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1312
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1313
    "Modified: / 29-03-1998 / 21:46:40 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1314
    "Created: / 30-11-2010 / 12:32:36 / 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: 2279
diff changeset
  1315
    "Modified: / 04-12-2012 / 00:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1316
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1317
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1318
classSourceOf:aClass
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1319
    |jpackage dirName binary sourceFileName sourceFile loader codeBaseURL protocol codeBaseURLIdx src|
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1320
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1321
    aClass isNil ifTrue:[
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1322
        ^ nil
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1323
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1324
    "/ look at the cache"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1325
    SourceCache at: aClass ifPresent: [:src|^src].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1326
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1327
    "/ first, look in the directory, where the binary
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1328
    "/ was loaded from.
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1329
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
  1330
    binary notNil ifTrue:[
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1331
        binary := binary asFilename.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1332
        aClass sourceFile notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1333
            sourceFileName := binary directory constructString:(aClass sourceFile).
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1334
            sourceFileName asFilename exists ifFalse:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1335
                sourceFileName := nil.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1336
            ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1337
        ].
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1338
        sourceFileName isNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1339
            sourceFileName := binary withSuffix:'java'.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1340
        ].
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1341
        sourceFile := sourceFileName asFilename.
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1342
    ] ifFalse:[
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1343
        "/ maybe it was loaded by a java classLoader ...
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1344
        (loader := aClass classLoader) notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1345
            codeBaseURLIdx := loader class instVarOffsetOf:'codeBaseURL'.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1346
            codeBaseURLIdx notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1347
                (codeBaseURL := loader instVarAt:codeBaseURLIdx) notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1348
                    (protocol := codeBaseURL instVarNamed:'protocol') notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1349
                        (Java as_ST_String:protocol) = 'file' ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1350
                            dirName := Java as_ST_String:(codeBaseURL instVarNamed:'file').
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1351
                            dirName := dirName asFilename.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1352
                            dirName exists ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1353
                                aClass sourceFile notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1354
                                    sourceFile := sourceFileName := dirName construct:aClass sourceFile.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1355
                                ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1356
                            ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1357
                        ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1358
                    ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1359
                ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1360
            ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1361
        ]
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
  1362
    ].
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
  1363
    sourceFile notNil ifTrue:[
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1364
        sourceFile exists ifFalse:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1365
            binary notNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1366
                sourceFileName := binary withSuffix:'jav'.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1367
                sourceFile := sourceFileName asFilename.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1368
                sourceFile exists ifFalse:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1369
                    sourceFileName := binary withSuffix:'JAV'.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1370
                    sourceFile := sourceFileName asFilename.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1371
                    sourceFile exists ifFalse:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1372
                        sourceFileName := binary withSuffix:'JAVA'.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1373
                        sourceFile := sourceFileName asFilename.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1374
                    ].
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1375
                ].
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1376
            ]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1377
        ].
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1378
    ].
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1379
176
16f64026e8ec *** empty log message ***
cg
parents: 168
diff changeset
  1380
    "/ special case: there were multiple classes in a single
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1381
    "/ source file.
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1382
601
7e45fca24adf checkin from browser
cg
parents: 592
diff changeset
  1383
    (binary notNil and:[aClass sourceFile notNil]) ifTrue:[
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1384
        binary withoutSuffix baseName ~= aClass sourceFile asFilename withoutSuffix baseName ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1385
            'JAVA: trouble extracting fileName: ' infoPrint.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1386
            binary withoutSuffix baseName print. ' vs. ' infoPrint.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1387
            aClass sourceFile asFilename withoutSuffix baseName infoPrintCR.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1388
        ].
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1389
    ].
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1390
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1391
    "/ if that fails, look in standard places
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1392
198
5543d1079a4a *** empty log message ***
cg
parents: 192
diff changeset
  1393
    (sourceFile isNil or:[sourceFile exists not]) ifTrue:[
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1394
        sourceFile := aClass sourceFile.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1395
        sourceFile isNil ifTrue:[
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1396
            "Hmm, hmm...just a guess"
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1397
            sourceFile := (aClass lastName upTo: $$) , '.java'.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1398
        ].
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1399
        jpackage := aClass javaPackageAsDirname.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1400
        self effectiveSourceDirectories do:[:dir|
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1401
            src := self classSource: sourceFile package: jpackage in: dir.
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1402
            src ifNotNil:[^src]
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1403
        ]
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1404
    ].
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1405
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1406
    sourceFile isFilename ifFalse:[^nil].
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1407
    ^ (sourceFile contentsOfEntireFile).
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1408
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1409
    "
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1410
        Java classSourceOf: JAVA::java::lang::Object
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1411
    "
571
b5ae2faeb568 allow for the sources to be stored in one big zip-archive
cg
parents: 567
diff changeset
  1412
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1413
    "Modified: / 27-01-1999 / 20:40:30 / cg"
2476
d24ce8174195 JavaClass can now keep it's classfile bytes.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2429
diff changeset
  1414
    "Modified: / 31-03-2013 / 19:17:17 / 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: 2279
diff changeset
  1415
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1416
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1417
sourceDirectories
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1418
    ^self sourcePath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1419
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1420
"/    ^ "for testing only"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1421
"/    "/Release classPath,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1422
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1423
"/    {(packagePath / 'java' / 'libjava-projects' / 'Conversion' / 'bin')
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1424
"/        pathName.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1425
"/    (packagePath / 'java' / 'libjava-support' / 'bin') pathName}
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1426
"/            , ((packagePath / 'java' / 'libs') directoryContentsAsFilenames
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1427
"/                    select:[:f | f suffix = 'jar']
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1428
"/                    thenCollect:[:f | f pathName])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1429
"/            , (ClassPath ? #()) , cp
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1430
"/
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1431
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1432
	Java classPath
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1433
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1434
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1435
    "Modified: / 16-01-2013 / 12:46:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
76
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1436
! !
9ff95e14dbfb *** empty log message ***
cg
parents: 71
diff changeset
  1437
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1438
!Java class methodsFor:'starting apps'!
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1439
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1440
javaProcessForMainOf:aJavaClass
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1441
    "ask for a commandLine, create a java process to invoke
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1442
     its main and return it. The process is not scheduled for
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1443
     execution."
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1444
508
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1445
    ^ self javaProcessForMainOf:aJavaClass argumentString:nil
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1446
508
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1447
    "Modified: / 30.12.1998 / 20:24:25 / cg"
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1448
!
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1449
508
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1450
javaProcessForMainOf:aJavaClass argumentString:argStringIn
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1451
    "create a java process, ready to invoke the classes main
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1452
     method. Returns the process - ready to run but not yet resumed"
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1453
2141
7d931f10c10c use collect:as:
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
  1454
    |p argStringArray argString stdInReplacement alreadyAskedForStdin|
508
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1455
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1456
    argString := argStringIn.
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1457
    argString isNil ifTrue:[
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1458
        argString := Dialog
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1459
                    request:'argument string:'
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1460
                    initialAnswer:LastArgumentString ? ''
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1461
                    onCancel:nil.
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1462
        argString isNil ifTrue:[^ nil].
508
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1463
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1464
        LastArgumentString := argString.
508
21d8af9a9b41 checkin from browser
cg
parents: 494
diff changeset
  1465
    ].
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1466
261
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1467
    JavaVM initializeVMIfNoEventThreadRunning.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1468
    (Java at:'java.lang.System') instVarNamed:'security' put:nil.
d95d5a3cc475 lots of new stuff
cg
parents: 255
diff changeset
  1469
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1470
    argString isEmpty ifTrue:[
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1471
        argStringArray := #()
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1472
    ] ifFalse:[
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1473
        argStringArray := (argString asCollectionOfWords collect:[:s | Java as_String:s]) asArray.
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1474
    ].
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1475
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1476
    p := JavaProcess
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1477
            for:[
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1478
                    "/ if the program reads from stdin, let user provide a file
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1479
                    "/ for it.
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1480
                    JavaVM stdinReplacementFileQuerySignal handle:[:ex |
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1481
                        |fn|
577
18407fb4087b provide Stdin replacement;
cg
parents: 571
diff changeset
  1482
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1483
                        alreadyAskedForStdin == true ifFalse:[
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1484
                            fn := Dialog
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1485
                                    requestFileName:'Program reads from Stdin - give inputFile or cancel for EOF'
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1486
                                    default:nil
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1487
                                    fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1488
                            fn notNil ifTrue:[
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1489
                                stdInReplacement := fn asFilename readStream.
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1490
                            ].
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1491
                            alreadyAskedForStdin := true.
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1492
                        ].
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1493
                        ex proceedWith:stdInReplacement
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1494
                    ] do:[
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1495
                        aJavaClass
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1496
                            performStatic:#'main([Ljava/lang/String;)V'
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1497
                            with:argStringArray.
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1498
                    ]
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1499
                ]
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1500
            priority:(Processor activePriority - 1).
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1501
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1502
    p name:(aJavaClass fullName , '::main()').
654
da8d060a3150 checkin from browser
cg
parents: 648
diff changeset
  1503
    p restartable:true.
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1504
    ^ p
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1505
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 248
diff changeset
  1506
    "Created: / 15.8.1997 / 04:41:20 / cg"
654
da8d060a3150 checkin from browser
cg
parents: 648
diff changeset
  1507
    "Modified: / 24.12.1999 / 01:50:21 / cg"
224
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1508
! !
164850a15533 moved main-startup into Java (useful for others too)
cg
parents: 215
diff changeset
  1509
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1510
!Java class methodsFor:'threads'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1511
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1512
addThread: jThread for: stProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1513
    ThreadsAccess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1514
	critical: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1515
	    self assert: (Threads includesKey: jThread) not.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1516
	    jThread == 0 ifTrue: [self breakPoint:#mh].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1517
	    Threads at: jThread put: stProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1518
	]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1519
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1520
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1521
    "Created: / 09-12-2011 / 12:47:10 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1522
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1523
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1524
initializeCurrentThread
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1525
    "adds current thread into known threads"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1526
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1527
    | thisProcess  jThread |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1528
    thisProcess := Processor activeProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1529
    jThread := JavaVM newThread: thisProcess name.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1530
    jThread instVarNamed: 'tid' put: thisProcess id.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1531
    Java addThread: jThread for: thisProcess.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1532
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1533
    "Created: / 09-12-2011 / 12:08:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1534
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1535
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1536
removeThread: jThread for: stProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1537
ThreadsAccess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1538
	critical: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1539
    self assert: (Threads includesKey: jThread).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1540
    Threads removeKey: jThread.]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1542
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1543
    "Created: / 09-12-2011 / 12:47:32 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1544
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1545
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1546
removeThread: jThread ifAbsent: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1547
    ThreadsAccess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1548
	critical: [
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1549
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1550
	    Threads removeKey: jThread ifAbsent: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1551
	]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1552
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1553
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1554
    "Created: / 09-12-2011 / 12:51:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1555
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1556
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1557
threadForStProcess: stProcess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1558
    ThreadsAccess critical: [ ^Threads keyAtValue: stProcess ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1559
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1560
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1561
    "Created: / 09-12-2011 / 12:50:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1562
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1563
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1564
threadForStProcess: stProcess ifAbsent: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1565
    ThreadsAccess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1566
	critical: [ |result| result := Threads keyAtValue: stProcess ifAbsent: block. result == 0 ifTrue: [self breakPoint:#mh]. ^ result ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1567
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1568
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1569
    "Created: / 09-12-2011 / 12:53:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1570
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1571
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1572
threads
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1573
    self breakPoint:#mh.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1574
    ^ Threads.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1575
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1576
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1577
    "Modified: / 09-12-2011 / 12:49:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1578
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1579
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1580
threadsAt: key
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1581
    ^Threads at: key.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1582
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1583
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1584
    "Created: / 09-12-2011 / 12:31:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1585
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1586
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1587
threadsAt: key ifAbsent: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1588
    ThreadsAccess critical: [ ^ Threads at: key ifAbsent: block ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1589
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1590
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1591
    "Created: / 09-12-2011 / 12:49:22 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1592
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1593
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1594
threadsDo: block
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1595
    ThreadsAccess
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1596
	    critical: [ Threads do: block]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1597
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1598
    "Created: / 26-08-1997 / 19:53:57 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1599
    "Created: / 09-12-2011 / 12:49:00 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1600
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1601
135
098936234135 *** empty log message ***
cg
parents: 121
diff changeset
  1602
!Java class methodsFor:'documentation'!
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1603
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1604
version
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1605
    ^ '$Header: /cvs/stx/stx/libjava/Java.st,v 1.141 2013-04-02 12:03:01 stefan Exp $'
2279
6f65ccfd7c81 fixed: #version_SVN ($ to §)
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1606
!
6f65ccfd7c81 fixed: #version_SVN ($ to §)
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1607
6f65ccfd7c81 fixed: #version_SVN ($ to §)
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1608
version_CVS
2474
b05ce3206cf3 Don't do collect:[] as:Array and select:[] as:Array
Stefan Vogel <sv@exept.de>
parents: 2461
diff changeset
  1609
    ^ '$Header: /cvs/stx/stx/libjava/Java.st,v 1.141 2013-04-02 12:03:01 stefan Exp $'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1610
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1611
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2141
diff changeset
  1612
version_SVN
2429
ebece4dcaab9 Merged 009a0df3afce and 3c9b3181ded (branch development - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2392 2396
diff changeset
  1613
    ^ 'Id'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1614
17
ea80d8a83063 intitial checkin
cg
parents:
diff changeset
  1615
! !
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 2105
diff changeset
  1616
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2279
diff changeset
  1617
2088
d654e34676d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 749
diff changeset
  1618
Java initialize!