src/JavaVM.st
author hlopkmar
Tue, 08 Nov 2011 15:48:44 +0000
branchjk_new_structure
changeset 1097 41def5679e28
parent 1096 c543f127c67a
child 1098 dd1e76f6f964
permissions -rw-r--r--
finally working monitors yeeaah
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     1
"
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
     3
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
     4
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
     5
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
     6
 Parts of the code written by Claus Gittinger are under following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
     7
 license:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     9
 This software is furnished under a license and may be used
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    10
 only in accordance with the terms of that license and with the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    12
 be provided or otherwise made available to, or used by, any
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    13
 other person.  No title to or ownership of the software is
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    14
 hereby transferred.
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    15
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    16
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    17
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    18
 Permission is hereby granted, free of charge, to any person
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    19
 obtaining a copy of this software and associated documentation
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    20
 files (the 'Software'), to deal in the Software without
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    21
 restriction, including without limitation the rights to use,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    22
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    23
 copies of the Software, and to permit persons to whom the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    24
 Software is furnished to do so, subject to the following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    25
 conditions:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    26
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    27
 The above copyright notice and this permission notice shall be
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    28
 included in all copies or substantial portions of the Software.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    29
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    30
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    31
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    32
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    33
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    34
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    35
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    36
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    37
 OTHER DEALINGS IN THE SOFTWARE.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    38
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    39
 [1] Code written at SWING Research Group contain a signature
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    40
     of one of the above copright owners.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    41
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    42
"{ Package: 'stx:libjava' }"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    43
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    44
Object subclass:#JavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    45
	instanceVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    46
	classVariableNames:'UnhandledJavaExceptionSignal JavaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    47
		UnimplementedInstructionSignal UnimplementedNativeMethodSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    48
		BadMessageSignal InternalErrorSignal CallHandlerSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    49
		FullExceptionTrace StackTrace TraceHistory LockTable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    50
		LockTableAccess LibPath SimulatedLibs LoadedLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    51
		SimulatedNativeLibs LoadedNativeLibs WaitTable WaitTableAccess
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    52
		JavaWindowGroup KnownWindows DrawOPTrace WindowOPTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    53
		WindowCreationTrace EventTrace ThreadTrace MonitorTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    54
		ExceptionTrace InsnCount InsnCounts FileOpenTrace FileAccessTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    55
		FileOpenConfirmation SocketConnectConfirmation FileIOTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    56
		OpenFileTable CachedNativeMethodTable ExceptionDebug ExitDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    57
		JavaConsoleStream StandardThreadGroup EnteredMonitorsPerProcess
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    58
		JavaMethods DUMMY_LONG_HIGHWORD DUMMY_DOUBLE_HIGHWORD NoAudio
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    59
		FirstWindowCreationSemaphore PermittedDirectories
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    60
		PermittedHostConnects SimulatedOS O_WGgraphics_originX
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    61
		O_WGgraphics_originY O_WGgraphics_pData O_FramePeer_pNativeWidget
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    62
		O_FramePeer_pData ImageStretchCache LastGraphics LastGC
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    63
		EnteredMonitorObject EnteredMonitorObjectCount
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    64
		EnteredMonitorProcess LeftMonitorObject JavaEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    65
		JavaScreenUpdaterThread JavaEventQueueThread SystemProperties
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    66
		ExceptionDebugPatterns NullPointerExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    67
		DivisionByZeroExceptionDebug IOExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    68
		StdinReplacementFileQuerySignal AssertionsEnabled
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    69
		SimulatedNativeMemory Reflection ZipCache ZipEntryCache
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
    70
		ZipLastModTimesCache ZipInflaters JavaPrivilegedAccessQuery
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
    71
		ClassRegistry SystemClassLoader ExtClassLoader StartupTime'
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
    72
	poolDictionaries:'JavaConstants'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    73
	category:'Languages-Java-Support'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    74
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    75
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    76
Object subclass:#Reflection
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    77
	instanceVariableNames:'vm constantPoolMapping javaClasses javaArrayClasses javaMethods
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    78
		returnNilIfMissing'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    79
	classVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    80
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    81
	privateIn:JavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    82
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    83
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    84
!JavaVM class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    85
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    86
copyright
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    87
"
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    88
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    89
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    90
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    91
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    92
 Parts of the code written by Claus Gittinger are under following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    93
 license:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    94
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    95
 This software is furnished under a license and may be used
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    96
 only in accordance with the terms of that license and with the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    97
 inclusion of the above copyright notice.   This software may not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    98
 be provided or otherwise made available to, or used by, any
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    99
 other person.  No title to or ownership of the software is
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   100
 hereby transferred.
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   101
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   102
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   103
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   104
 Permission is hereby granted, free of charge, to any person
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   105
 obtaining a copy of this software and associated documentation
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   106
 files (the 'Software'), to deal in the Software without
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   107
 restriction, including without limitation the rights to use,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   108
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   109
 copies of the Software, and to permit persons to whom the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   110
 Software is furnished to do so, subject to the following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   111
 conditions:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   112
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   113
 The above copyright notice and this permission notice shall be
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   114
 included in all copies or substantial portions of the Software.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   115
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   116
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   117
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   118
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   119
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   120
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   121
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   122
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   123
 OTHER DEALINGS IN THE SOFTWARE.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   124
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   125
 [1] Code written at SWING Research Group contain a signature
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   126
     of one of the above copright owners.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   127
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   128
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   129
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   131
documentation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   132
"Runtime support and environment for Java. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   133
You shouldn't communicate with JavaVM directly, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   134
use Java class instead. JavaVM is layer between
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   135
the native interpret and the rest of the system.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   136
JavaVM implements native java virtual machine 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   137
methods called by interpret, hides java primitive 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   138
types handling, and gives the ST world ways to 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   139
control class loading and reflection"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   140
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   141
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   142
nativeMethods
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   143
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   144
    all native methods:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   146
        JavaMethod allSubInstances select:[:m |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   147
            m isNative 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   148
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   149
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   150
    implemented methods:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   151
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   152
        JavaMethod allSubInstances select:[:m |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   153
            |sel|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   154
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   155
            m isNative ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   156
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   157
                JavaVM class implements:sel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   158
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   159
                false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   160
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   161
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   162
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   163
    unimplemented methods:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   165
        JavaMethod allSubInstances select:[:m |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   166
            |sel|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   167
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   168
            m isNative ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   169
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   170
                (JavaVM class implements:sel) not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   171
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   172
                false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   173
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   174
        ]    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   176
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   177
    list of all native methods as in jdk1.1.3:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   178
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   179
      X - implemented
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   180
      * - implemented to be validated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   181
      x - implemented with limited functionality
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   182
      o - implemented as dummy (no functionality)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   183
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   184
    X (Math::double sin (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   185
    X (Math::double cos (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   186
    X (Math::double tan (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   187
    X (Math::double asin (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   188
    X (Math::double acos (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   189
    X (Math::double atan (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   190
    X (Math::double exp (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   191
    X (Math::double log (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   192
    X (Math::double sqrt (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   193
      (Math::double IEEEremainder (double double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   194
    X (Math::double ceil (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   195
    X (Math::double floor (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   196
      (Math::double rint (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   197
      (Math::double atan2 (double double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   198
    X (Math::double pow (double double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   199
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   200
    X (Class::java.lang.Class forName (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   201
    X (Class::java.lang.Object newInstance ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   202
    * (Class::boolean isInstance (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   203
    X (Class::boolean isAssignableFrom (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   204
    X (Class::boolean isInterface ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   205
      (Class::boolean isArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   206
    X (Class::boolean isPrimitive ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   207
    X (Class::java.lang.String getName ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   208
    X (Class::java.lang.ClassLoader getClassLoader ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   209
    X (Class::java.lang.Class getSuperclass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   210
      (Class::java.lang.Class[] getInterfaces ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   211
      (Class::java.lang.Class getComponentType ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   212
      (Class::int getModifiers ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   213
      (Class::java.lang.Object[] getSigners ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   214
      (Class::void setSigners (java.lang.Object[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   215
    X (Class::java.lang.Class getPrimitiveClass (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   216
      (Class::java.lang.reflect.Field getField0 (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   217
      (Class::java.lang.reflect.Field[] getFields0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   218
    X (Class::java.lang.reflect.Method getMethod0 (java.lang.String java.lang.Class[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   219
    X (Class::java.lang.reflect.Method[] getMethods0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   220
      (Class::java.lang.reflect.Constructor[] getConstructors0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   221
      (Class::java.lang.reflect.Constructor getConstructor0 (java.lang.Class[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   222
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   223
    X (InetAddressImpl::java.lang.String getLocalHostName ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   224
    X (InetAddressImpl::void makeAnyLocalAddress (java.net.InetAddress))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   225
    X (InetAddressImpl::byte[][] lookupAllHostAddr (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   226
      (InetAddressImpl::java.lang.String getHostByAddr (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   227
    X (InetAddressImpl::int getInetFamily ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   228
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   229
    X (ResourceBundle::java.lang.Class[] getClassContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   230
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   231
    X (System::void setIn0 (java.io.InputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   232
    X (System::void setOut0 (java.io.PrintStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   233
    X (System::void setErr0 (java.io.PrintStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   234
    X (System::long currentTimeMillis ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   235
    X (System::void arraycopy (java.lang.Object int java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   236
    X (System::int identityHashCode (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   237
    X (System::java.util.Properties initProperties (java.util.Properties))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   239
    X (Thread::java.lang.Thread currentThread ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   240
    X (Thread::void yield ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   241
    X (Thread::void sleep (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   242
    X (Thread::void start ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   243
    X (Thread::boolean isInterrupted (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   244
    X (Thread::boolean isAlive ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   245
      (Thread::int countStackFrames ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   246
    X (Thread::void setPriority0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   247
    X (Thread::void stop0 (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   248
    X (Thread::void suspend0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   249
    X (Thread::void resume0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   250
    * (Thread::void interrupt0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   251
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   252
      (String::java.lang.String intern ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   253
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   254
    X (Float::int floatToIntBits (float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   255
    X (Float::float intBitsToFloat (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   256
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   257
      (ObjectStreamClass::int getClassAccess (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   258
      (ObjectStreamClass::java.lang.String[] getMethodSignatures (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   259
      (ObjectStreamClass::int getMethodAccess (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   260
      (ObjectStreamClass::java.lang.String[] getFieldSignatures (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   261
      (ObjectStreamClass::int getFieldAccess (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   262
      (ObjectStreamClass::java.io.ObjectStreamField[] getFields0 (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   263
      (ObjectStreamClass::long getSerialVersionUID (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   264
      (ObjectStreamClass::boolean hasWriteObject (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   265
      (ObjectInputStream::java.lang.Class loadClass0 (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   266
      (ObjectInputStream::void inputClassFields (java.lang.Object java.lang.Class int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   267
      (ObjectInputStream::java.lang.Object allocateNewObject (java.lang.Class java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   268
      (ObjectInputStream::java.lang.Object allocateNewArray (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   269
      (ObjectInputStream::boolean invokeObjectReader (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   270
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   271
      (SecurityManager::java.lang.Class[] getClassContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   272
    X (SecurityManager::java.lang.ClassLoader currentClassLoader ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   273
      (SecurityManager::int classDepth (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   274
    X (SecurityManager::int classLoaderDepth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   275
      (SecurityManager::java.lang.Class currentLoadedClass0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   276
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   277
    X (ClassLoader::void init ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   278
    X (ClassLoader::java.lang.Class defineClass0 (java.lang.String byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   279
    X (ClassLoader::void resolveClass0 (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   280
    X (ClassLoader::java.lang.Class findSystemClass0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   281
    X (ClassLoader::java.io.InputStream getSystemResourceAsStream0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   282
      (ClassLoader::java.lang.String getSystemResourceAsName0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   283
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   284
    X (FileDescriptor::boolean valid ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   285
      (FileDescriptor::void sync ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   286
    X (FileDescriptor::java.io.FileDescriptor initSystemFD (java.io.FileDescriptor int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   287
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   288
    X (Object::java.lang.Class getClass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   289
    X (Object::int hashCode ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   290
    X (Object::java.lang.Object clone ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   291
    X (Object::void notify ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   292
    X (Object::void notifyAll ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   293
    X (Object::void wait (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   294
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   295
    X (FileOutputStream::void open (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   296
    X (FileOutputStream::void openAppend (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   297
    X (FileOutputStream::void write (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   298
    X (FileOutputStream::void writeBytes (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   299
    X (FileOutputStream::void close ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   300
    X (FileInputStream::void open (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   301
    X (FileInputStream::int read ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   302
    X (FileInputStream::int readBytes (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   303
      (FileInputStream::long skip (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   304
    X (FileInputStream::int available ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   305
    X (FileInputStream::void close ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   306
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   307
      (VM::int getState ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   308
      (VM::boolean threadsSuspended ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   309
      (VM::void unsuspendThreads ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   310
      (VM::void unsuspendSomeThreads ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   311
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   312
    X (File::boolean exists0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   313
    X (File::boolean canWrite0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   314
    X (File::boolean canRead0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   315
    X (File::boolean isFile0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   316
    X (File::boolean isDirectory0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   317
    X (File::long lastModified0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   318
    X (File::long length0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   319
    X (File::boolean mkdir0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   320
    X (File::boolean renameTo0 (java.io.File))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   321
    X (File::boolean delete0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   322
      (File::boolean rmdir0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   323
    X (File::java.lang.String[] list0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   324
      (File::java.lang.String canonPath (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   325
    X (File::boolean isAbsolute ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   326
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   327
      (ObjectOutputStream::void outputClassFields (java.lang.Object java.lang.Class int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   328
      (ObjectOutputStream::boolean invokeObjectWriter (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   329
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   330
    X (Throwable::void printStackTrace0 (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   331
    X (Throwable::java.lang.Throwable fillInStackTrace ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   332
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   333
    X (Double::long doubleToLongBits (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   334
    X (Double::double longBitsToDouble (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   335
    X (Double::double valueOf0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   337
    X (Runtime::void exitInternal (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   338
    o (Runtime::void runFinalizersOnExit0 (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   339
    o (Runtime::java.lang.Process execInternal (java.lang.String[] java.lang.String[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   340
    X (Runtime::long freeMemory ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   341
    X (Runtime::long totalMemory ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   342
    X (Runtime::void gc ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   343
      (Runtime::void runFinalization ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   344
      (Runtime::void traceInstructions (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   345
      (Runtime::void traceMethodCalls (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   346
    X (Runtime::java.lang.String initializeLinkerInternal ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   347
    X (Runtime::java.lang.String buildLibName (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   348
    X (Runtime::int loadFileInternal (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   349
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   350
      (WDrawingSurfaceInfo::int lock ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   351
      (WDrawingSurfaceInfo::void unlock ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   352
      (WDrawingSurfaceInfo::int getHWnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   353
      (WDrawingSurfaceInfo::int getHBitmap ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   354
      (WDrawingSurfaceInfo::int getPBits ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   355
      (WDrawingSurfaceInfo::int getHDC ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   356
      (WDrawingSurfaceInfo::int getDepth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   357
      (WDrawingSurfaceInfo::int getHPalette ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   358
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   359
    X (WDefaultFontCharset::boolean canConvert (char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   361
      (ColorModel::void deletepData ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   362
    X (WToolkit::void init (java.lang.Thread))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   363
    X (WToolkit::void eventLoop ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   364
      (WToolkit::java.awt.image.ColorModel makeColorModel ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   365
    X (WToolkit::int getScreenResolution ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   366
    X (WToolkit::int getScreenWidth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   367
    X (WToolkit::int getScreenHeight ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   368
      (WToolkit::void sync ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   369
    * (WToolkit::void beep ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   370
    X (WToolkit::void loadSystemColors (int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   371
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   372
      (WPrintJob::void end ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   373
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   374
    X (WDialogPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   375
    X (WDialogPeer::void _show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   376
    X (WDialogPeer::void _hide ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   378
    X (WWindowPeer::void toFront ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   379
    X (WWindowPeer::void toBack ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   380
    X (WWindowPeer::void _setTitle (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   381
    X (WWindowPeer::void _setResizable (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   382
    X (WWindowPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   383
    o (WWindowPeer::void updateInsets (java.awt.Insets))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   384
      (WWindowPeer::java.awt.Component getContainerElement (java.awt.Container int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   385
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   386
    X (WCanvasPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   387
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   388
    X (WTextAreaPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   389
    X (WTextAreaPeer::void insertText (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   390
      (WTextAreaPeer::void replaceText (java.lang.String int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   391
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   392
    X (WTextComponentPeer::java.lang.String getText ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   393
    X (WTextComponentPeer::void setText (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   394
    X (WTextComponentPeer::int getSelectionStart ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   395
    X (WTextComponentPeer::int getSelectionEnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   396
    X (WTextComponentPeer::void select (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   397
    X (WTextComponentPeer::void enableEditing (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   398
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   399
    X (WComponentPeer::void show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   400
    X (WComponentPeer::void hide ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   401
    X (WComponentPeer::void enable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   402
    X (WComponentPeer::void disable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   403
    X (WComponentPeer::java.awt.Point getLocationOnScreen ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   404
    X (WComponentPeer::void reshape (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   405
    o (WComponentPeer::void handleEvent (java.awt.AWTEvent))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   406
    o (WComponentPeer::void _dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   407
    X (WComponentPeer::void _setForeground (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   408
    X (WComponentPeer::void _setBackground (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   409
    o (WComponentPeer::void setFont (java.awt.Font))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   410
    o (WComponentPeer::void requestFocus ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   411
    o (WComponentPeer::void setCursor (java.awt.Cursor))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   412
    o (WComponentPeer::void start ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   413
      (WComponentPeer::void _beginValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   414
      (WComponentPeer::void endValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   415
    o (WComponentPeer::void setZOrderPosition (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   416
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   417
    X (WFramePeer::void setMenuBar0 (sun.awt.windows.WMenuBarPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   418
    X (WFramePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   419
    X (WFramePeer::void _setIconImage (sun.awt.image.ImageRepresentation))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   421
    o (WFontMetrics::boolean needsConversion (java.awt.Font sun.awt.FontDescriptor))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   422
    o (WFontMetrics::int getMFCharSegmentWidth (java.awt.Font sun.awt.FontDescriptor boolean char[] int int byte[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   423
      (WFontMetrics::int bytesWidth (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   424
      (WFontMetrics::void init ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   425
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   426
    o (WChoicePeer::void select (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   427
    o (WChoicePeer::void remove (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   428
    o (WChoicePeer::void addItem (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   429
    X (WChoicePeer::void reshape (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   430
    X (WChoicePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   432
    X (WLabelPeer::void setText (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   433
    o (WLabelPeer::void setAlignment (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   434
    X (WLabelPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   435
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   436
    X (WMenuItemPeer::void _setLabel (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   437
    X (WMenuItemPeer::void create (sun.awt.windows.WMenuPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   438
    X (WMenuItemPeer::void enable (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   439
    o (WMenuItemPeer::void _dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   440
      (WMenuPeer::void addSeparator ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   441
      (WMenuPeer::void delItem (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   442
    X (WMenuPeer::void createMenu (sun.awt.windows.WMenuBarPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   443
      (WMenuPeer::void createSubMenu (sun.awt.windows.WMenuPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   444
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   445
      (WPopupMenuPeer::void createMenu (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   446
      (WPopupMenuPeer::void _show (java.awt.Event))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   447
      (WMenuBarPeer::void addMenu (java.awt.Menu))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   448
      (WMenuBarPeer::void delMenu (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   449
    X (WMenuBarPeer::void create (sun.awt.windows.WFramePeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   450
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   451
      (WCheckboxMenuItemPeer::void setState (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   452
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   453
    X (WFileDialogPeer::void show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   454
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   455
    X (WCheckboxPeer::void setState (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   456
    X (WCheckboxPeer::void setCheckboxGroup (java.awt.CheckboxGroup))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   457
      (WCheckboxPeer::void setLabel (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   458
    X (WCheckboxPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   459
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   460
    X (WClipboard::void init ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   461
      (WClipboard::void setClipboardText (java.awt.datatransfer.StringSelection))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   462
      (WClipboard::java.lang.String getClipboardText ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   463
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   464
    X (WListPeer::void addItem (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   465
    X (WListPeer::void delItems (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   466
    X (WListPeer::void select (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   467
      (WListPeer::void deselect (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   468
      (WListPeer::void makeVisible (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   469
    X (WListPeer::void setMultipleSelections (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   470
    X (WListPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   471
    X (WListPeer::boolean isSelected (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   472
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   473
    x (WScrollbarPeer::void _setValues (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   474
    x (WScrollbarPeer::void setLineIncrement (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   475
    x (WScrollbarPeer::void setPageIncrement (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   476
    x (WScrollbarPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   477
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   478
    x (ImageRepresentation::void offscreenInit (java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   479
    x (ImageRepresentation::boolean setBytePixels (int int int int java.awt.image.ColorModel byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   480
    x (ImageRepresentation::boolean setIntPixels (int int int int java.awt.image.ColorModel int[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   481
    x (ImageRepresentation::boolean finish (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   482
    X (ImageRepresentation::void imageDraw (java.awt.Graphics int int java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   483
    x (ImageRepresentation::void imageStretch (java.awt.Graphics int int int int int int int int java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   484
    x (ImageRepresentation::void disposeImage ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   485
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   486
    X (WTextFieldPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   487
    X (WTextFieldPeer::void setEchoCharacter (char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   488
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   489
    X (WScrollPanePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   490
    o (WScrollPanePeer::int getOffset (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   491
      (WScrollPanePeer::void setInsets ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   492
      (WScrollPanePeer::void setScrollPosition (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   493
    x (WScrollPanePeer::int _getHScrollbarHeight ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   494
    x (WScrollPanePeer::int _getVScrollbarWidth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   495
    o (WScrollPanePeer::void setSpans (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   496
      (WScrollPanePeer::java.awt.Component getScrollChild ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   497
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   498
      (WEmbeddedFramePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   499
    X (WButtonPeer::void setLabel (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   500
    X (WButtonPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   502
    x (WColor::java.awt.Color getDefaultColor (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   503
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   504
    x (GifImageDecoder::boolean parseImage (int int int int boolean int byte[] byte[] java.awt.image.IndexColorModel))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   505
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   506
    x (WGraphics::void createFromComponent (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   507
    x (WGraphics::void createFromGraphics (sun.awt.windows.WGraphics))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   508
      (WGraphics::void createFromPrintJob (sun.awt.windows.WPrintJob))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   509
      (WGraphics::void createFromHDC (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   510
    x (WGraphics::void imageCreate (sun.awt.image.ImageRepresentation))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   511
    x (WGraphics::void pSetFont (java.awt.Font))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   512
    X (WGraphics::void pSetForeground (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   513
      (WGraphics::void _dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   514
    x (WGraphics::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   515
    x (WGraphics::void setPaintMode ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   516
    x (WGraphics::void setXORMode (java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   517
    o (WGraphics::java.awt.Rectangle getClipBounds ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   518
    o (WGraphics::void changeClip (int int int int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   519
      (WGraphics::void removeClip ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   520
    X (WGraphics::void clearRect (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   521
    X (WGraphics::void fillRect (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   522
    X (WGraphics::void drawRect (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   523
      (WGraphics::void drawSFChars (char[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   524
    x (WGraphics::int drawMFCharsSegment (java.awt.Font sun.awt.FontDescriptor char[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   525
      (WGraphics::int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   526
      (WGraphics::void drawBytes (byte[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   527
    X (WGraphics::void drawLine (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   528
    X (WGraphics::void copyArea (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   529
    o (WGraphics::void drawRoundRect (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   530
    o (WGraphics::void fillRoundRect (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   531
    X (WGraphics::void drawPolygon (int[] int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   532
      (WGraphics::void drawPolyline (int[] int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   533
    X (WGraphics::void fillPolygon (int[] int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   534
    x (WGraphics::void drawOval (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   535
    x (WGraphics::void fillOval (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   536
    x (WGraphics::void drawArc (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   537
    x (WGraphics::void fillArc (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   538
      (WGraphics::void print (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   539
      (WGraphics::void close (sun.awt.windows.WPrintJob))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   540
      (JPEGImageDecoder::void readImage (java.io.InputStream byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   541
    o (OffScreenImageSource::void sendPixels ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   542
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   543
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   544
    additional native methods added by microsoft (sigh):
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   545
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   546
    X (java.lang.String::boolean equals (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   547
    X (java.lang.String::int length (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   548
    o (java.lang.Runtime::void setInputStreamLocalised (java.io.DataInputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   549
    o (java.lang.Runtime::void setOutputStreamLocalised (java.io.DataOutputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   551
      (java.lang.String::int compareTo (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   552
      (java.lang.String::boolean equalsIgnoreCase (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   553
      (java.lang.String::int indexOf (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   554
      (java.lang.String::boolean startsWith (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   555
      (java.lang.String::boolean regionMatches (int java.lang.String int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   556
      (java.lang.String::boolean regionMatches (boolean int java.lang.String int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   557
      (java.lang.String::int lastIndexOf (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   558
      (java.lang.ClassLoader::void resolveClass (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   559
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   560
      (java.lang.ClassLoader::java.lang.Class createArrayClass (java.lang.String java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   561
      (java.io.PrintStream::boolean isOutputStreamLocalised (java.io.DataOutputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   562
      (java.lang.Runtime::boolean isOutputStreamLocalised (java.io.DataOutputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   563
      (java.lang.Runtime::boolean isInputStreamLocalised (java.io.DataInputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   564
      (java.lang.ThreadGroup::void initMainThreadGroup0 (java.lang.ThreadGroup))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   565
      (java.lang.System::void validateSecurityManager (java.lang.SecurityManager))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   566
      (java.lang.Class::java.lang.reflect.Method getMethod2 (int java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   567
      (java.io.ObjectOutputStream::void invokeDefaultWriteObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   568
      (java.io.ObjectOutputStream::void invokeWriteObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   569
      (java.io.ObjectInputStream::void invokeDefaultReadObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   570
      (java.io.ObjectInputStream::void invokeReadObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   571
      (java.util.TimeZone::java.util.TimeZone getWin32TimeZone ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   572
      (java.net.InetAddress::java.lang.Object[] lookupHostByName (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   573
      (java.net.InetAddress::java.lang.Object[] lookupHostByAddr (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   574
      (java.io.ObjectStreamClass::void doMismatchedRead (java.io.ObjectInputStream java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   575
      (java.io.ObjectStreamClass::long getClassDefinedUID (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   576
      (java.io.ObjectStreamClass::boolean findObjectMethod0 (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   577
      (java.lang.reflect.Method::java.lang.String getDescriptor ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   578
      (java.lang.reflect.Array::void setShort (java.lang.Object int unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   579
      (java.lang.reflect.Array::char getChar (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   580
      (java.lang.reflect.Array::void setChar (java.lang.Object int char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   581
      (java.lang.reflect.Array::void setDouble (java.lang.Object int double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   582
      (java.lang.reflect.Array::java.lang.Object get (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   583
      (java.lang.reflect.Array::void set (java.lang.Object int java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   584
      (java.lang.reflect.Array::int getInt (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   585
      (java.lang.reflect.Array::void setInt (java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   586
      (java.lang.reflect.Array::java.lang.Object multiNewArray (java.lang.Class int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   587
      (java.lang.reflect.Array::boolean getBoolean (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   588
      (java.lang.reflect.Array::byte getByte (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   589
      (java.lang.reflect.Array::float getFloat (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   590
      (java.lang.reflect.Array::void setBoolean (java.lang.Object int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   591
      (java.lang.reflect.Array::long getLong (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   592
      (java.lang.reflect.Array::void setByte (java.lang.Object int byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   593
      (java.lang.reflect.Array::void setLong (java.lang.Object int long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   594
      (java.lang.reflect.Array::void setFloat (java.lang.Object int float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   595
      (java.lang.reflect.Array::java.lang.Object newArray (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   596
      (java.lang.reflect.Array::int getLength (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   597
      (java.lang.reflect.Array::unsigned short getShort (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   598
      (java.lang.reflect.Array::double getDouble (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   599
      (java.lang.reflect.Field::void setShort (java.lang.Object unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   600
      (java.lang.reflect.Field::char getChar (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   601
      (java.lang.reflect.Field::void setChar (java.lang.Object char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   602
      (java.lang.reflect.Field::void setDouble (java.lang.Object double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   603
      (java.lang.reflect.Field::java.lang.Object get (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   604
      (java.lang.reflect.Field::void set (java.lang.Object java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   605
      (java.lang.reflect.Field::int getInt (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   606
      (java.lang.reflect.Field::void setInt (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   607
      (java.lang.reflect.Field::boolean getBoolean (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   608
      (java.lang.reflect.Field::byte getByte (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   609
      (java.lang.reflect.Field::float getFloat (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   610
      (java.lang.reflect.Field::long getLong (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   611
      (java.lang.reflect.Field::void setBoolean (java.lang.Object boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   612
      (java.lang.reflect.Field::void setByte (java.lang.Object byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   613
      (java.lang.reflect.Field::void setLong (java.lang.Object long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   614
      (java.lang.reflect.Field::void setFloat (java.lang.Object float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   615
      (java.lang.reflect.Field::int getModifiers ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   616
      (java.lang.reflect.Field::unsigned short getShort (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   617
      (java.lang.reflect.Field::double getDouble (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   618
      (java.lang.reflect.Constructor::java.lang.Object newInstance (java.lang.Object[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   619
      (java.lang.reflect.Constructor::int getModifiers ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   620
      (java.util.zip.Inflater::void setDictionary0 (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   621
      (java.util.zip.Inflater::int getTotalIn0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   622
      (java.util.zip.Inflater::void reset0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   623
      (java.util.zip.Inflater::void end0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   624
      (java.util.zip.Inflater::int inflate0 (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   625
      (java.util.zip.Inflater::int getTotalOut0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   626
      (java.util.zip.Inflater::int getAdler0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   627
      (java.util.zip.CRC32::void update1 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   628
      (java.util.zip.CRC32::void update (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   629
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   630
      (com.ms.security.PolicyEngine::boolean isSystemClass (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   631
      (com.ms.security.PolicyEngine::void denyPermission (com.ms.security.PermissionID))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   632
      (com.ms.security.PolicyEngine::void revertPermission (com.ms.security.PermissionID))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   633
      (com.ms.security.PolicyEngine::void initPolicyEngine ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   634
      (com.ms.security.PolicyEngine::java.lang.Class _getClassOfCaller (java.lang.Class[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   635
      (com.ms.security.PolicyEngine::void internalCheckClass (java.lang.Class com.ms.security.PermissionID java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   636
      (com.ms.security.PolicyEngine::com.ms.security.PermissionDataSet getPermissionsOfClass (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   637
      (com.ms.security.PolicyEngine::void assertPermission (com.ms.security.PermissionID))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   638
      (com.ms.security.PolicyEngine::void deepCheck (com.ms.security.PermissionID java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   639
      (com.ms.security.PolicyEngine::void shallowCheck (com.ms.security.PermissionID java.lang.Object java.lang.Class[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   640
      (com.ms.security.PolicyEngine::java.security.Principal getPrincipalOfClass (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   641
      (com.ms.security.permissions.ThreadPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   642
      (com.ms.security.permissions.ThreadPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   643
      (com.ms.security.permissions.RegistryPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   644
      (com.ms.security.permissions.RegistryPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   645
      (com.ms.security.management.ZonePermissions::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   646
      (com.ms.security.management.ZonePermissions::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   647
      (com.ms.security.permissions.UIPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   648
      (com.ms.security.permissions.UIPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   649
      (com.ms.security.permissions.NetIOPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   650
      (com.ms.security.permissions.NetIOPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   651
      (com.ms.security.permissions.ReflectionPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   652
      (com.ms.security.permissions.ReflectionPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   653
      (com.ms.vm.WeakReference::void storeRef (int java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   654
      (com.ms.vm.WeakReference::int allocRef (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   655
      (com.ms.vm.WeakReference::void freeRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   656
      (com.ms.vm.WeakReference::java.lang.Object fetchRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   657
      (com.ms.dll.DllLib::void CoTaskMemFree (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   658
      (com.ms.dll.DllLib::void CopyWithDstOffset (int float[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   659
      (com.ms.dll.DllLib::void CopyWithDstOffset (int double[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   660
      (com.ms.dll.DllLib::int numParamBytes0 (java.lang.reflect.Method))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   661
      (com.ms.dll.DllLib::void CopyWithDstOffset (int java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   662
      (com.ms.dll.DllLib::void write2 (java.lang.Object int unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   663
      (com.ms.dll.DllLib::void write2 (int int unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   664
      (com.ms.dll.DllLib::void write2 (java.lang.Object int char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   665
      (com.ms.dll.DllLib::void write2 (int int char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   666
      (com.ms.dll.DllLib::int GlobalAlloc (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   667
      (com.ms.dll.DllLib::void resize (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   668
      (com.ms.dll.DllLib::long read8 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   669
      (com.ms.dll.DllLib::long read8 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   670
      (com.ms.dll.DllLib::int lstrcpy (java.lang.StringBuffer int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   671
      (com.ms.dll.DllLib::int lstrlenA (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   672
      (com.ms.dll.DllLib::int read4 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   673
      (com.ms.dll.DllLib::int CoTaskMemAlloc (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   674
      (com.ms.dll.DllLib::void write8 (java.lang.Object int long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   675
      (com.ms.dll.DllLib::int sizeOf0 (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   676
      (com.ms.dll.DllLib::int getSystemDefaultCharSize ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   677
      (com.ms.dll.DllLib::void write8 (int int long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   678
      (com.ms.dll.DllLib::int read4 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   679
      (com.ms.dll.DllLib::byte read1 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   680
      (com.ms.dll.DllLib::byte read1 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   681
      (com.ms.dll.DllLib::int lstrlen (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   682
      (com.ms.dll.DllLib::void CopyMemoryAnsi (int java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   683
      (com.ms.dll.DllLib::void CopyMemoryAnsi (java.lang.StringBuffer int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   684
      (com.ms.dll.DllLib::boolean isStruct (java.lang.reflect.Field))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   685
      (com.ms.dll.DllLib::boolean GlobalFree (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   686
      (com.ms.dll.DllLib::void internalAttemptCopyPtrToStruct (int java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   687
      (com.ms.dll.DllLib::int getLastError ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   688
      (com.ms.dll.DllLib::void write4 (java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   689
      (com.ms.dll.DllLib::void write4 (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   690
      (com.ms.dll.DllLib::unsigned short read2 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   691
      (com.ms.dll.DllLib::unsigned short read2 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   692
      (com.ms.dll.DllLib::void release (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   693
      (com.ms.dll.DllLib::void write1 (java.lang.Object int byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   694
      (com.ms.dll.DllLib::void write1 (int int byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   695
      (com.ms.dll.DllLib::boolean isStructCls (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   696
      (com.ms.dll.DllLib::void prelink (java.lang.reflect.Method))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   697
      (com.ms.dll.DllLib::void CopyMemoryUni (int java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   698
      (com.ms.dll.DllLib::void CopyMemoryUni (java.lang.StringBuffer int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   699
      (com.ms.dll.DllLib::void internalAttemptCopyStructToPtr (java.lang.Object int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   700
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   701
      (com.ms.dll.DllLib::void CopyWithSrcOffset (byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   702
      (com.ms.dll.DllLib::void CopyWithSrcOffset (char[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   703
      (com.ms.dll.DllLib::void CopyWithSrcOffset (unsigned short[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   704
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   705
      (com.ms.dll.DllLib::void CopyWithSrcOffset (long[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   706
      (com.ms.dll.DllLib::void CopyWithSrcOffset (float[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   707
      (com.ms.dll.DllLib::void CopyWithSrcOffset (double[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   708
      (com.ms.dll.DllLib::void CopyWithSrcOffset (java.lang.Object int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   709
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   710
      (com.ms.dll.DllLib::int lstrlenW (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   711
      (com.ms.dll.DllLib::void CopyWithDstOffset (int byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   712
      (com.ms.dll.DllLib::void CopyWithDstOffset (int char[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   713
      (com.ms.dll.DllLib::void CopyWithDstOffset (int unsigned short[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   714
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   715
      (com.ms.dll.DllLib::void CopyWithDstOffset (int long[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   716
      (com.ms.dll.DllLib::int internalGetStructAddr (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   717
      (com.ms.dll.DllLib::int offsetOf (java.lang.reflect.Field))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   718
      (com.ms.dll.DllLib::int lstrcpy (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   719
      (com.ms.dll.DllLib::int sizeOf (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   720
      (com.ms.lang.RegKey::com.ms.lang.RegKeyEnumValue pRegEnumValue (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   721
      (com.ms.lang.RegKey::java.lang.String pRegQueryStringValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   722
      (com.ms.lang.RegKey::byte[] pRegQueryBinaryValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   723
      (com.ms.lang.RegKey::int pRegQueryIntValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   724
      (com.ms.lang.RegKey::void pRegSetStringValue (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   725
      (com.ms.lang.RegKey::void pRegSetIntValue (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   726
      (com.ms.lang.RegKey::void pRegSetBinaryValue (java.lang.String byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   727
      (com.ms.lang.RegKey::void pRegDeleteValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   728
      (com.ms.lang.RegKey::void pRegFlushKey ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   729
      (com.ms.lang.RegKey::void pRegDeleteKey (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   730
      (com.ms.lang.RegKey::void pRegOpenBaseKey (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   731
      (com.ms.lang.RegKey::void pRegOpenKey (com.ms.lang.RegKey java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   732
      (com.ms.lang.RegKey::int pRegQueryInfoKey (com.ms.lang.RegQueryInfo))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   733
      (com.ms.lang.RegKey::void pRegUnLoadKey (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   734
      (com.ms.lang.RegKey::void pRegCreateKey (com.ms.lang.RegKey java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   735
      (com.ms.lang.RegKey::void pRegRestoreKey (java.lang.String boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   736
      (com.ms.lang.RegKey::void pRegLoadKey (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   737
      (com.ms.lang.RegKey::void pRegCloseKey ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   738
      (com.ms.lang.RegKey::java.lang.String pRegEnumKey (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   739
      (com.ms.lang.RegKey::void pRegReplaceKey (java.lang.String java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   740
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayouts (int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   741
      (com.ms.awt.peer.NativeServices::void jpegReadByte (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader byte[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   742
      (com.ms.awt.peer.NativeServices::int getColourDataDepth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   743
      (com.ms.awt.peer.NativeServices::java.lang.String pGetFontEnumeratedFamily (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   744
      (com.ms.awt.peer.NativeServices::int pNewFontEnumeration ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   745
      (com.ms.awt.peer.NativeServices::int getScreenClipRgn (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   746
      (com.ms.awt.peer.NativeServices::int pSetKeyboardLayout (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   747
      (com.ms.awt.peer.NativeServices::void ClipboardInit (com.ms.awt.peer.IToolkit))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   748
      (com.ms.awt.peer.NativeServices::void getDeviceCaps (int int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   749
      (com.ms.awt.peer.NativeServices::void getAfcMetrics (int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   750
      (com.ms.awt.peer.NativeServices::void setUserLocale (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   751
      (com.ms.awt.peer.NativeServices::void getDCDI (com.ms.awt.peer.DirectColourDataInfo))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   752
      (com.ms.awt.peer.NativeServices::int pGetNumKeyboardLayouts ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   753
      (com.ms.awt.peer.NativeServices::void getIndexedColours (byte[] byte[] byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   754
      (com.ms.awt.peer.NativeServices::int getNativeFont (java.lang.String int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   755
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayout ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   756
      (com.ms.awt.peer.NativeServices::int getSystemLCID ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   757
      (com.ms.awt.peer.NativeServices::void caretSetPos (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   758
      (com.ms.awt.peer.NativeServices::java.lang.String getLogFontFromIUnknown (com.ms.com.IUnknown com.ms.awt.peer.LogFontX))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   759
      (com.ms.awt.peer.NativeServices::java.lang.String ClipboardGetText ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   760
      (com.ms.awt.peer.NativeServices::int systemMetric (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   761
      (com.ms.awt.peer.NativeServices::void jpegInit (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   762
      (com.ms.awt.peer.NativeServices::void caretHide (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   763
      (com.ms.awt.peer.NativeServices::int chooseColor (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   764
      (com.ms.awt.peer.NativeServices::java.lang.String pGetKeyboardLayoutName (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   765
      (com.ms.awt.peer.NativeServices::int matchFontAndLanguage (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   766
      (com.ms.awt.peer.NativeServices::java.lang.String chooseFont (com.ms.awt.peer.LogFontX java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   767
      (com.ms.awt.peer.NativeServices::java.lang.String getSystemFont (int com.ms.awt.peer.LogFontX))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   768
      (com.ms.awt.peer.NativeServices::com.ms.com.IUnknown getIUnknownFromLogFont (java.lang.String com.ms.awt.peer.LogFontX))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   769
      (com.ms.awt.peer.NativeServices::void caretDispose (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   770
      (com.ms.awt.peer.NativeServices::void caretShow (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   771
      (com.ms.awt.peer.NativeServices::void deleteObject (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   772
      (com.ms.awt.peer.NativeServices::void setDebugOutput (com.ms.awt.peer.COMPrintCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   773
      (com.ms.awt.peer.NativeServices::void jpegReadInt (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   774
      (com.ms.awt.peer.NativeServices::int getSystemColourValue (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   775
      (com.ms.awt.peer.NativeServices::void caretCreate (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   776
      (com.ms.awt.peer.NativeServices::void ClipboardSetText (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   777
      (com.ms.awt.peer.NativeServices::void println (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   778
      (com.ms.security.SecurityClassLoader::boolean getSecureState ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   779
      (com.ms.security.SecurityClassLoader::void setSecureState (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   780
      (com.ms.security.SecurityClassLoader::java.lang.Class internalDefineClass (java.lang.String byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   781
      (com.ms.security.SecurityClassLoader::void markClass (java.lang.Class com.ms.security.PermissionSet java.security.Principal))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   782
      (com.ms.security.SecurityClassLoader::java.util.Hashtable getHashTable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   783
      (com.ms.security.auditing.SecurityAuditor::boolean isThreadAuditingEnabled ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   784
      (com.ms.security.auditing.SecurityAuditor::void disableThreadAuditing ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   785
      (com.ms.security.auditing.SecurityAuditor::void enableThreadAuditing ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   786
      (com.ms.security.auditing.SecurityAuditor::void initSecurityAuditor ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   787
      (com.ms.security.PermissionDataSet::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   788
      (com.ms.security.PermissionDataSet::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   789
      (com.ms.lang.SystemX::int pAnsiToUnicode (byte[] char[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   790
      (com.ms.lang.SystemX::int pQueryUnicodeToAnsi (char[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   791
      (com.ms.lang.SystemX::void gc ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   792
      (com.ms.lang.SystemX::boolean arrayCompare (java.lang.Object[] int java.lang.Object[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   793
      (com.ms.lang.SystemX::int pUnicodeToAnsi (char[] byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   794
      (com.ms.lang.SystemX::boolean isLocalCharDBCSLeadByte (byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   795
      (com.ms.lang.SystemX::int pQueryAnsiToUnicode (byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   796
      (com.ms.lang.SystemX::boolean isBaseDBCS ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   797
      (com.ms.lang.SystemX::java.lang.reflect.Method getMethod2 (java.lang.Class int java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   798
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetSigner (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   799
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetCapabilities (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   800
      (com.ms.com._Guid::void IIDFromString (java.lang.String com.ms.com._Guid))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   801
      (com.ms.com._Guid::java.lang.String StringFromIID (com.ms.com._Guid))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   802
      (com.ms.security.auditing.PrintStreamAuditor::int GetModuleHandle (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   803
      (com.ms.security.auditing.PrintStreamAuditor::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   804
      (com.ms.security.permissions.CustomPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   805
      (com.ms.security.permissions.CustomPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   806
      (com.ms.security.permissions.X509Signer::boolean pLoad (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   807
      (com.ms.packagemanager.PackageManager::java.lang.Class nativeFindClassInNamespace (java.lang.String java.lang.String java.lang.ClassLoader))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   808
      (com.ms.packagemanager.PackageManager::java.lang.Object nativeGetPackage (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   809
      (com.ms.packagemanager.PackageManager::java.lang.String[] nativeGetBeansList ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   810
      (com.ms.packagemanager.PackageManager::com.ms.com.IStream nativeGetFileIStream (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   811
      (com.ms.packagemanager.PackageManager::java.lang.Class nativeFindClass (java.lang.String java.lang.String java.lang.ClassLoader))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   812
      (com.ms.security.permissions.UserFileIOPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   813
      (com.ms.security.permissions.UserFileIOPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   814
      (com.ms.security.permissions.PropertyPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   815
      (com.ms.security.permissions.PropertyPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   816
      (com.ms.security.permissions.ClientStoragePermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   817
      (com.ms.security.permissions.ClientStoragePermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   818
      (com.ms.security.permissions.ExecutionPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   819
      (com.ms.security.permissions.ExecutionPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   820
      (com.ms.util.EventLog::boolean DeregisterEventSource (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   821
      (com.ms.util.EventLog::void reportEvent0 (unsigned short unsigned short int java.lang.String[] byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   822
      (com.ms.util.EventLog::int RegisterEventSource (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   823
      (com.ms.applet.BrowserAppletFrame::void signalViewChange (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   824
      (com.ms.applet.BrowserAppletFrame::java.lang.Object newInstance (int java.lang.Class boolean com.ms.security.PermissionSet))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   825
      (com.ms.applet.BrowserAppletFrame::void showSystemStatus (int int boolean java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   826
      (com.ms.applet.BrowserAppletFrame::com.ms.security.management.SecurityPolicy getSecurityPolicy0 (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   827
      (com.ms.applet.BrowserAppletFrame::void setDownloadState (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   828
      (com.ms.applet.BrowserAppletFrame::int GetSystemDefaultLCID ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   829
      (com.ms.applet.BrowserAppletFrame::void requestResize (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   830
      (com.ms.applet.BrowserAppletFrame::void signalObjectLoadDone (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   831
      (com.ms.applet.BrowserAppletFrame::com.ms.applet.BrowserAppletFrame findOfflineContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   832
      (com.ms.applet.BrowserAppletFrame::void showStatus0 (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   833
      (com.ms.applet.BrowserAppletFrame::boolean checkGlobalOfflineMode0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   834
      (com.ms.applet.BrowserAppletFrame::void showDocument0 (int java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   835
      (com.ms.security.permissions.SystemStreamsPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   836
      (com.ms.security.permissions.SystemStreamsPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   837
      (com.ms.security.permissions.FileIOPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   838
      (com.ms.security.permissions.FileIOPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   839
      (com.ms.com.ComLib::int newGCHandle (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   840
      (com.ms.com.ComLib::java.lang.Object derefGCHandle (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   841
      (com.ms.com.ComLib::void dprinthelper (char[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   842
      (com.ms.com.ComLib::void release (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   843
      (com.ms.com.ComLib::int jcdwClassSizeOf (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   844
      (com.ms.com.ComLib::int jcdwOffsetOf (java.lang.Object java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   845
      (com.ms.com.ComLib::int jcdwClassOffsetOf (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   846
      (com.ms.com.ComLib::boolean isJavaOwned (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   847
      (com.ms.com.ComLib::void brk (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   848
      (com.ms.com.ComLib::void setDataWrapperSize (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   849
      (com.ms.com.ComLib::void brk (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   850
      (com.ms.com.ComLib::void setJCDWHomeThread (java.lang.Object java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   851
      (com.ms.com.ComLib::void propagateOwnership (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   852
      (com.ms.com.ComLib::void threadStartMTA (java.lang.Thread))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   853
      (com.ms.com.ComLib::void IENVNextMarshalerJ2C (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   854
      (com.ms.com.ComLib::boolean supportsInterface (java.lang.Object com.ms.com._Guid))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   855
      (com.ms.com.ComLib::java.lang.Object ptrToStruct (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   856
      (com.ms.com.ComLib::int jcdwSizeOf (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   857
      (com.ms.com.ComLib::void declareMessagePumpThread ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   858
      (com.ms.com.ComLib::void IENVNextMarshalerC2J (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   859
      (com.ms.com.ComLib::void freeGCHandle (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   860
      (com.ms.com.ComLib::boolean isEqualUnknown (java.lang.Object java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   861
      (com.ms.com.Dispatch::boolean NIsArray (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   862
      (com.ms.com.Dispatch::java.lang.String NInvokeReal (java.lang.Object com.ms.com._Guid java.lang.String int int int int com.ms.com.Variant[] com.ms.com.Variant[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   863
      (com.ms.com.Dispatch::void NGetIDsOfNamesReal (java.lang.Object com.ms.com._Guid int java.lang.String[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   864
      (com.ms.com.ComException::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   865
      (com.ms.com.Variant::int toInt ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   866
      (com.ms.com.Variant::double toDate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   867
      (com.ms.com.Variant::boolean toBoolean ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   868
      (com.ms.com.Variant::double toDouble ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   869
      (com.ms.com.Variant::long toCurrency ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   870
      (com.ms.com.Variant::void putVariantArray (com.ms.com.Variant[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   871
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   872
      (com.ms.com.Variant::void putByteArray (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   873
      (com.ms.com.Variant::void putShortRef (unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   874
      (com.ms.com.Variant::void putIntRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   875
      (com.ms.com.Variant::void putDoubleRef (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   876
      (com.ms.com.Variant::void putDateRef (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   877
      (com.ms.com.Variant::void putStringRef (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   878
      (com.ms.com.Variant::unsigned short getShortRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   879
      (com.ms.com.Variant::int getIntRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   880
      (com.ms.com.Variant::double getDoubleRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   881
      (com.ms.com.Variant::double getDateRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   882
      (com.ms.com.Variant::java.lang.String getStringRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   883
      (com.ms.com.Variant::java.lang.String internalToString ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   884
      (com.ms.com.Variant::void initSafeArrayByRef (com.ms.com.SafeArray int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   885
      (com.ms.com.Variant::java.lang.Object toCharArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   886
      (com.ms.com.Variant::java.lang.Object toDispatch ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   887
      (com.ms.com.Variant::byte toByte ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   888
      (com.ms.com.Variant::java.lang.Object getDispatch ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   889
      (com.ms.com.Variant::void putDispatch (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   890
      (com.ms.com.Variant::boolean getBoolean ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   891
      (com.ms.com.Variant::int toError ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   892
      (com.ms.com.Variant::java.lang.Object toObject ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   893
      (com.ms.com.Variant::void initSafeArrayByVal (com.ms.com.SafeArray int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   894
      (com.ms.com.Variant::java.lang.Object getObject ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   895
      (com.ms.com.Variant::void putObject (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   896
      (com.ms.com.Variant::com.ms.com.SafeArray toSafeArrayHelper (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   897
      (com.ms.com.Variant::void putFloatRef (float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   898
      (com.ms.com.Variant::void putCurrencyRef (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   899
      (com.ms.com.Variant::void putErrorRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   900
      (com.ms.com.Variant::void putBooleanRef (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   901
      (com.ms.com.Variant::void putObjectRef (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   902
      (com.ms.com.Variant::void putByteRef (byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   903
      (com.ms.com.Variant::java.lang.String getString ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   904
      (com.ms.com.Variant::void putString (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   905
      (com.ms.com.Variant::float getFloatRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   906
      (com.ms.com.Variant::long getCurrencyRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   907
      (com.ms.com.Variant::int getErrorRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   908
      (com.ms.com.Variant::boolean getBooleanRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   909
      (com.ms.com.Variant::java.lang.Object getObjectRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   910
      (com.ms.com.Variant::byte getByteRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   911
      (com.ms.com.Variant::float toFloat ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   912
      (com.ms.com.Variant::void putCharArray (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   913
      (com.ms.com.Variant::void putDispatchRef (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   914
      (com.ms.com.Variant::java.lang.Object getDispatchRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   915
      (com.ms.com.Variant::void putVariantArrayRef (com.ms.com.Variant[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   916
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArrayRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   917
      (com.ms.com.Variant::void changeType (unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   918
      (com.ms.com.Variant::void ncloneIndirect (com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   919
      (com.ms.com.Variant::void nFinalize (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   920
      (com.ms.com.Variant::void nclone (com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   921
      (com.ms.com.Variant::unsigned short toShort ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   922
      (com.ms.com.Variant::void putSafeArrayRefHelper (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   923
      (com.ms.com.Variant::com.ms.com.Variant[] toVariantArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   924
      (com.ms.com.Variant::java.lang.Object toByteArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   925
      (com.ms.com.Variant::void TrueVariantClear ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   926
      (com.ms.awt.WToolkit::boolean MessageBeep (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   927
      (com.ms.applet.AppletPanel::boolean StartCodeDownload (int java.lang.String java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   928
      (com.ms.applet.AppletPanel::void securedCall0 (int java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   929
      (com.ms.applet.AppletPanel::com.ms.security.PermissionSet getDefaultPermissionsFromLoader (com.ms.vm.loader.URLClassLoader))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   930
      (com.ms.dll.Win32Exception::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   931
      (com.ms.awt.WGuiCallback::boolean SetEvent (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   932
      (com.ms.awt.WGuiCallback::int CreateSemaphore (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   933
      (com.ms.awt.WGuiCallback::int ReleaseSemaphore (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   934
      (com.ms.awt.WGuiCallback::void userYield (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   935
      (com.ms.awt.WGuiCallback::int MsgWaitForMultipleObjects (int int[] boolean int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   936
      (com.ms.awt.WGuiCallback::int CreateEvent (int boolean boolean int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   937
      (com.ms.activeX.ActiveXToolkit::int GetSysColor (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   938
      (com.ms.awt.peer.NativeGraphics::void setPageDimension (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   939
      (com.ms.awt.peer.NativeGraphics::void setBkColour (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   940
      (com.ms.awt.peer.NativeGraphics::void getClipBounds (com.ms.awt.peer.NativeRect int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   941
      (com.ms.awt.peer.NativeGraphics::void pGetCharOutline (int byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   942
      (com.ms.awt.peer.NativeGraphics::void drawLine (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   943
      (com.ms.awt.peer.NativeGraphics::void setXORMode (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   944
      (com.ms.awt.peer.NativeGraphics::int drawString (java.lang.String int int int int int int int int[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   945
      (com.ms.awt.peer.NativeGraphics::int getCoClass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   946
      (com.ms.awt.peer.NativeGraphics::void drawArc (int int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   947
      (com.ms.awt.peer.NativeGraphics::void getInitialPageDimension (com.ms.awt.peer.NativeRect))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   948
      (com.ms.awt.peer.NativeGraphics::void setVisRgn (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   949
      (com.ms.awt.peer.NativeGraphics::void pSetForeground (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   950
      (com.ms.awt.peer.NativeGraphics::int pGetDC ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   951
      (com.ms.awt.peer.NativeGraphics::void drawPixels (int[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   952
      (com.ms.awt.peer.NativeGraphics::void drawPolygon (int[] int[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   953
      (com.ms.awt.peer.NativeGraphics::void createFromImage (com.ms.awt.peer.INativeImage))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   954
      (com.ms.awt.peer.NativeGraphics::void endPage ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   955
      (com.ms.awt.peer.NativeGraphics::int pGetCharOutlineSize (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   956
      (com.ms.awt.peer.NativeGraphics::void pDrawBezier (int int int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   957
      (com.ms.awt.peer.NativeGraphics::int drawBytes (byte[] int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   958
      (com.ms.awt.peer.NativeGraphics::void changeClip (int int int int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   959
      (com.ms.awt.peer.NativeGraphics::int drawChars (char[] int int int int int int int int int int[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   960
      (com.ms.awt.peer.NativeGraphics::void drawT2Curve (float float float float float float int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   961
      (com.ms.awt.peer.NativeGraphics::void createFromPrintJob (java.lang.String com.ms.awt.peer.SPJData))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   962
      (com.ms.awt.peer.NativeGraphics::void endPrintJob ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   963
      (com.ms.awt.peer.NativeGraphics::void pSetOrigin (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   964
      (com.ms.awt.peer.NativeGraphics::void createFromHDC (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   965
      (com.ms.awt.peer.NativeGraphics::void drawOval (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   966
      (com.ms.awt.peer.NativeGraphics::int pSetFont (java.lang.String int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   967
      (com.ms.awt.peer.NativeGraphics::void setPaintMode (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   968
      (com.ms.awt.peer.NativeGraphics::void startPage ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   969
      (com.ms.awt.peer.NativeGraphics::void clearClip ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   970
      (com.ms.awt.peer.NativeGraphics::void createFromCopy (com.ms.awt.peer.INativeGraphics))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   971
      (com.ms.awt.peer.NativeGraphics::void scanLines (int int[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   972
      (com.ms.awt.peer.NativeGraphics::void drawRoundRect (int int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   973
      (com.ms.awt.peer.NativeGraphics::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   974
      (com.ms.awt.peer.NativeGraphics::void clearRect (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   975
      (com.ms.awt.peer.NativeGraphics::void copyArea (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   976
      (com.ms.awt.peer.NativeGraphics::void createFromWindow (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   977
      (com.ms.awt.peer.NativeGraphics::void drawPolyline (int[] int[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   978
      (com.ms.awt.peer.NativeGraphics::void drawRect (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   979
      (com.ms.awt.peer.CToolkit::void callbackEventLoop (com.ms.awt.peer.IToolkitCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   980
      (com.ms.awt.peer.CToolkit::int getToolkitHwnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   981
      (com.ms.awt.peer.CToolkit::int createCompHwnd (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   982
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionFont (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   983
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionPos (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   984
      (com.ms.awt.peer.CNativeSystemIME::void setOpenStatus (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   985
      (com.ms.awt.peer.CNativeSystemIME::int getOpenStatus (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   986
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   987
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionResultString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   988
      (com.ms.net.wininet.WininetStreamHandlerFactory::int initNative (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   989
      (com.ms.com.SafeArray::void rawGetVariantAs (int com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   990
      (com.ms.com.SafeArray::void NSafeArrayInit (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   991
      (com.ms.com.SafeArray::float rawGetDouble (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   992
      (com.ms.com.SafeArray::void NRawBoolCopyToJavaArray (int int boolean[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   993
      (com.ms.com.SafeArray::void validateArray (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   994
      (com.ms.com.SafeArray::void NSafeArrayCreateFromString (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   995
      (com.ms.com.SafeArray::void rawSetString (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   996
      (com.ms.com.SafeArray::int getInt (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   997
      (com.ms.com.SafeArray::void setInt (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   998
      (com.ms.com.SafeArray::boolean getBoolean (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   999
      (com.ms.com.SafeArray::void setBoolean (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1000
      (com.ms.com.SafeArray::int computeOffset (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1001
      (com.ms.com.SafeArray::void NSafeArrayNullInit ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1002
      (com.ms.com.SafeArray::void rawSetVariant (int com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1003
      (com.ms.com.SafeArray::float rawGetFloat (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1004
      (com.ms.com.SafeArray::float getFloat (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1005
      (com.ms.com.SafeArray::void setFloat (int float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1006
      (com.ms.com.SafeArray::int computeOffset2 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1007
      (com.ms.com.SafeArray::void rawSetDouble (int double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1008
      (com.ms.com.SafeArray::java.lang.String asString ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1009
      (com.ms.com.SafeArray::void NRawCopyToJavaArray (int int java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1010
      (com.ms.com.SafeArray::void NSafeArrayCreate (int int int[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1011
      (com.ms.com.SafeArray::void NRawBoolCopyFromJavaArray (boolean[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1012
      (com.ms.com.SafeArray::void NSafeArrayDestroy (boolean boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1013
      (com.ms.com.SafeArray::int NSafeArrayCopy ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1014
      (com.ms.com.SafeArray::int rawGetInt (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1015
      (com.ms.com.SafeArray::boolean rawGetBoolean (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1016
      (com.ms.com.SafeArray::void rawSetFloat (int float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1017
      (com.ms.com.SafeArray::java.lang.String rawGetString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1018
      (com.ms.com.SafeArray::int NTotalNumElems ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1019
      (com.ms.com.SafeArray::double getDouble (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1020
      (com.ms.com.SafeArray::void setDouble (int double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1021
      (com.ms.com.SafeArray::void Nreinit (com.ms.com.SafeArray))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1022
      (com.ms.com.SafeArray::int getPhysicalSafeArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1023
      (com.ms.com.SafeArray::int NgetdwordAt (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1024
      (com.ms.com.SafeArray::void NRawCopyFromJavaArray (java.lang.Object int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1025
      (com.ms.com.SafeArray::void rawSetBoolean (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1026
      (com.ms.com.SafeArray::void rawSetInt (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1027
      (com.ms.awt.peer.CNativeComponent::void invalidate (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1028
      (com.ms.awt.peer.CNativeComponent::void hideModal ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1029
      (com.ms.awt.peer.CNativeComponent::void hide ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1030
      (com.ms.awt.peer.CNativeComponent::void setOnTop (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1031
      (com.ms.awt.peer.CNativeComponent::void registerDragDrop ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1032
      (com.ms.awt.peer.CNativeComponent::void endValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1033
      (com.ms.awt.peer.CNativeComponent::void enable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1034
      (com.ms.awt.peer.CNativeComponent::void disable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1035
      (com.ms.awt.peer.CNativeComponent::void setTitle (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1036
      (com.ms.awt.peer.CNativeComponent::void getBounds (com.ms.awt.peer.NativeRect))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1037
      (com.ms.awt.peer.CNativeComponent::int gethwnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1038
      (com.ms.awt.peer.CNativeComponent::void showModal ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1039
      (com.ms.awt.peer.CNativeComponent::void setCursor (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1040
      (com.ms.awt.peer.CNativeComponent::void reshape (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1041
      (com.ms.awt.peer.CNativeComponent::void requestFocus ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1042
      (com.ms.awt.peer.CNativeComponent::void callDefWindowProc (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1043
      (com.ms.awt.peer.CNativeComponent::void registerCustomDropTarget (com.ms.com.IUnknown))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1044
      (com.ms.awt.peer.CNativeComponent::void setNoActivate (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1045
      (com.ms.awt.peer.CNativeComponent::void getPlaceOnScreen (com.ms.awt.peer.NativeRect))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1046
      (com.ms.awt.peer.CNativeComponent::void beginValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1047
      (com.ms.awt.peer.CNativeComponent::void clippedReshape (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1048
      (com.ms.awt.peer.CNativeComponent::void setResizable (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1049
      (com.ms.awt.peer.CNativeComponent::void setIcon (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1050
      (com.ms.awt.peer.CNativeComponent::void toBack ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1051
      (com.ms.awt.peer.CNativeComponent::void setFrameHost (com.ms.awt.peer.IBrowserAppletFrameCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1052
      (com.ms.awt.peer.CNativeComponent::void toFront ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1053
      (com.ms.awt.peer.CNativeComponent::void show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1054
      (com.ms.awt.peer.CNativeComponent::void updateInsets (com.ms.awt.peer.NativeInsets))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1055
      (com.ms.awt.peer.CNativeComponent::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1056
      (com.ms.awt.peer.CNativeComponent::void initFromJavaWindow (int com.ms.awt.peer.IComponentCallback com.ms.awt.peer.INativeComponent com.ms.awt.peer.IToolkit int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1057
      (com.ms.awt.peer.CNativeComponent::void init (int com.ms.awt.peer.IComponentCallback com.ms.awt.peer.INativeComponent com.ms.awt.peer.IToolkit))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1058
      (com.ms.awt.peer.CNativeComponent::void beginDrag (com.ms.awt.peer.INativeDragCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1059
      (com.ms.fx.RegionConverter::int computeNativeRegion (int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1060
      (com.ms.fx.RegionConverter::int[] computeJavaRegion (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1061
      (com.ms.net.wininet.URLUtils::java.lang.String canonicalizeURL (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1062
      (com.ms.net.wininet.URLUtils::java.lang.String combineURL (java.lang.String java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1063
      (com.ms.awt.peer.NativeFontMetrics::int bytesWidth (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1064
      (com.ms.awt.peer.NativeFontMetrics::int stringWidth (java.lang.String int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1065
      (com.ms.awt.peer.NativeFontMetrics::int charsWidth (char[] int int int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1066
      (com.ms.awt.peer.NativeFontMetrics::java.lang.String init (com.ms.awt.peer.INativeGraphics int[] java.lang.String int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1067
      (com.ms.io.console.Console::int MessageBox (int java.lang.String java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1068
      (com.ms.awt.peer.NativeFileDialog::void show (com.ms.awt.peer.IFileDialogCallback java.lang.String java.lang.String java.lang.String int com.ms.awt.peer.INativeComponent int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1069
      (com.ms.security.management.SecurityZone::byte[] pLoadCustomPermissions (int int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1070
      (com.ms.awt.peer.NativeImage::int setBytePixelsDirected (int int int int com.ms.awt.peer.DirectColourModelData byte[] int int com.ms.awt.peer.INativeImageBufferDone))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1071
      (com.ms.awt.peer.NativeImage::void create (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1072
      (com.ms.awt.peer.NativeImage::int setIntPixelsIndexed (int int int int int[] int int[] int int com.ms.awt.peer.INativeImageBufferDone))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1073
      (com.ms.awt.peer.NativeImage::int getCoClass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1074
      (com.ms.awt.peer.NativeImage::int getIcon (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1075
      (com.ms.awt.peer.NativeImage::int setBytePixelsIndexed (int int int int int[] int byte[] int int com.ms.awt.peer.INativeImageBufferDone))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1076
      (com.ms.awt.peer.NativeImage::void sendPixels (com.ms.awt.peer.SPData))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1077
      (com.ms.awt.peer.NativeImage::void fillPixels (com.ms.awt.peer.SPData byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1078
      (com.ms.awt.peer.NativeImage::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1079
      (com.ms.awt.peer.NativeImage::void init (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1080
      (com.ms.awt.peer.NativeImage::int setIntPixelsDirected (int int int int com.ms.awt.peer.DirectColourModelData int[] int int com.ms.awt.peer.INativeImageBufferDone))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1081
      (com.ms.awt.peer.NativeImage::void imageDrawStretched (com.ms.awt.peer.INativeGraphics int int int int int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1082
      (com.ms.awt.peer.NativeImage::int finish (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1083
      (com.ms.awt.peer.NativeImage::void imageDraw (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1084
      (com.ms.awt.peer.NativeResource::java.lang.String loadString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1085
      (com.ms.awt.peer.NativeResource::int openDialogFromID (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1086
      (com.ms.awt.peer.NativeResource::boolean attach (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1087
      (com.ms.awt.peer.NativeResource::void loadBytes (int int java.lang.String byte[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1088
      (com.ms.awt.peer.NativeResource::int getSize (int int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1089
      (com.ms.awt.peer.NativeResource::void detach ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1090
      (com.ms.awt.peer.NativeResource::int openDialogFromName (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1091
      (com.ms.net.wininet.WininetURLConnection::com.ms.applet.BrowserAppletFrame findOfflineContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1092
      (com.ms.com.DispatchProxy::void finalize ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1093
      (com.ms.com.DispatchProxy::void init (com.ms.com._Guid java.lang.reflect.Method[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1094
      (com.ms.net.wininet.WininetInputStream::void close ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1095
      (com.ms.net.wininet.WininetInputStream::int read (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1096
      (com.ms.net.wininet.WininetInputStream::int available ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1097
      (com.ms.net.wininet.WininetInputStream::long skip (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1098
      (com.ms.net.wininet.WininetInputStream::void connect (java.lang.String boolean boolean java.lang.SecurityManager))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1099
      (com.ms.vm.loader.CabSignatureInfo::com.ms.vm.loader.CabSignatureInfo extractFromFile0 (java.lang.String com.ms.security.management.SecurityPolicy))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1100
      (com.ms.net.wininet.http.HttpInputStream::byte[] getResponseHeaders ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1101
      (com.ms.net.wininet.http.HttpInputStream::void close0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1102
      (com.ms.net.wininet.http.HttpInputStream::void connect (java.lang.String int java.lang.String boolean boolean boolean boolean byte[] byte[] java.lang.SecurityManager))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1103
      (com.ms.vm.loader.CabCracker::int GetTempFileName (java.lang.StringBuffer java.lang.String int java.lang.StringBuffer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1104
      (com.ms.vm.loader.CabCracker::void getBytes0 (int int byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1105
      (com.ms.vm.loader.CabCracker::void cleanup ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1106
      (com.ms.vm.loader.CabCracker::int GetTempPath (int java.lang.StringBuffer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1107
      (com.ms.vm.loader.CabCracker::void load0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1109
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1110
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1111
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1113
performance
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1114
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1115
     JAVA::BenchMark new loopmark        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1116
     JAVA::BenchMark new logicmark  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1117
     JAVA::BenchMark new sievemark       
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1118
     JAVA::BenchMark new methodmark      
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1119
     JAVA::BenchMark new stringmark  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1120
     JAVA::BenchMark new newstringmark                
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1121
     JAVA::BenchMark new neweststringmark               
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1122
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1124
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1125
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1126
		    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1127
 linux:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1128
   P6/233 No JIT                 84         87        90          40          22                                       17              10
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1129
		      103       133        142       137          28          73       109    167     18    140
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1131
   P6/233 JIT                   479       2459       393         649          28                                       21              12
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1132
   P6/233 JIT         473      1805       3046       439         986          28                                       21              12
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1133
		      533      1808       3382       613        1003          25       105    143      1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1134
		      668      3330       3644       740
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1135
		      793      4116       3731      1243        1365         120       103     79      2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1136
		      914      4480       4061                  2290          68       106    158     19     34
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1137
		      941      4607       4149      1238        2434          75       101    152     18     32
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1138
									     591              164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1139
		     1087                           1836                     800       110                   35
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1140
		     1102      4592       4270      1844        2381         841       109    169     21     35
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1141
		     1177      4608       4309      1810        2432         895       532    182     20     35
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1143
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1144
 w95
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1145
   P5/200 JIT          90        95         90        95         686          18        60     54      7
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1146
		      428      1657       2385       684         957          21        61     62      9
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1147
		      541      2886       2589       823         976          18        62     55      7
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1148
		      583      3062       2635       842         861         223        65     57      8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1149
		      616      3075       2438      1081        1324         218        64     54      8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1150
		      718      3138       2755      1085        1200         816        63     48      9      7
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1151
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1152
		    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1153
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1154
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1155
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1156
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1157
performance2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1158
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1159
     symantec benchmarks
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1160
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1161
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1162
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1163
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1164
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1165
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1166
   ST/X+J Linux         
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1167
   233Mhz P6
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1168
   No JIT          352767         354597         69585    43048  101638  28961 108839  48815
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1169
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1170
   ST/X+J Linux                  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1171
   233Mhz P6
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1172
   JIT             128724         116810         20259    39733   83160  27613  52093  33166  43996  545554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1173
		   124744         101428         17239    10052    8264  14004  38821  23252  33709  374660
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1174
   +IINC           120324                                  7265
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1175
   +IADD op2       100173          90737         18128     6996    7423  17093  48559  44209  57056  390374
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1176
   +ISUB op2                       90460         17547             5921                       57056  390461
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1177
   +ICMPEQ/NE       99785          90147                           5792                43482  56486  388255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1178
   +ICMP            87398          78214         15784     7574    5628  12812  38481  24654  32252  302797
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1179
   +IFICMPLE        84198          74928         13814     5650          11674         23241         293118
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1180
   +IFICMPxx        76867          69738         12208                          37505  21973  32104  273569
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1181
   +IFICMPEQ/NE                                                    5580  11202         21723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1182
   const IFICMPxx                                11856             5463  11032  37372                272726
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1183
   +lea for add/sub
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1184
   +BALOAD                                       11700     4600    5015   9431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1185
   +BASTORE                                                3279
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1186
   +CALOAD/CASTORE                                                        8907
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1187
   regSave change   66119          60365          9997             4917  15386  37851  38202  50027  286497
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1188
		    64858          58360          9476             4889  15001  37211  36288  48313  278478
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1189
		    63146          55949          9302                   14899
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1190
		    62970          56085          9352     3226    4837   8779  37573  22815  33899  241297
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1191
   -O               43662          40292          7181     2530    4696   8170  34555  22116  32337  195539
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1192
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1193
   +IALOAD          39162          36347
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1194
   +IASTORE         32461          30663          4299             3667                19556  30563  166868
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1195
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1196
   -IALOAD/IASTORE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1197
										34167  19347
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1198
										       19232  29726  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1199
										       18821
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1200
   +AALOAD/BALOAD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1201
		    41490          39527          6776     3315    4077   8443  33895  19152  28018  184693
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1202
		    41291          37034          6593                          32682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1203
   +ATHROW                                                                6449                       180079
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1204
   +IASTORE         38848          35601          6219             3796   6122         17869  30085  175106
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1205
   IINC delayed code
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1206
   +ANEWARRAY                                              3263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1207
   +LADD/LSUB const 38719          35256                                  6062  27071                172859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1208
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1209
							   2837                 22835
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1210
   +ISTORE into arg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1211
									  3080
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1212
   quick L2I for ints                                                     2774  21184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1213
   +*ASTORE / *ALOAD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1214
    again                                                  1621    3654   1525
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1215
   +CHECKCAST                                                      3574                       25810
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1216
                                                                
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1217
------------------------------------------------------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1218
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1219
   ST/X+J Win95         
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1220
   200Mhz P5
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1221
   JIT              78490          77060         15220     4840    6370   9180  73160  36080         351700
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1222
				   76900         13560             5500   9010         35200         348600
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1223
										66080         69920  370750
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1224
   +IADD non consts 76620          73210         13180     3790                 63550         58880  356900
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1225
											      51740
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1226
		    77390          72450         12520     3900    6040   8950  62450  34330  57780  335810    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1227
		    77220          71950                           5270   8840                       338650
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1228
		    72390          70690                                                      48010  327370
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1229
		    74910          66740         11420                    8620  61730  33340  47350  313940
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1230
   +xALOAD/JMP_ZERO
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1231
		    71740                                  2800             
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1232
		    71460          65250         11540     2750                 62180  33840  50750  311660
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1233
   +LCMP                                                                        59100
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1234
   better abs(I)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1235
   +xALOAD/IF_ICMPx 66130          61520         12080     3300    5280   8190  56510  33830  50310  297150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1236
   elim dummy static                                               5210                       48270
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1237
   methods                                                                                    44160
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1238
		   119020         112440         19330     3070    4560   2640  56960  37730  52790  408540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1239
------------------------------------------------------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1240
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1241
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1242
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1243
   Sun JDK         274625         244461         52676    50653   65183  26668  78133  28572  61608  882583
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1244
   (90Mhz P5)   
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1245
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1246
   Microsoft J++     9684           8452          2874     1733    3535   3665   3836   4746  25717   64242
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1247
   (90Mhz P5)   
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1248
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1249
   Symantec Cafe    14541          12198          3686     1922    4527   3325   3425  12969  26829   83422
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1250
   JIT 1.02
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1251
   (90Mhz P5)   
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1253
   Symantec Cafe     8292           6970          2714     1613    3345   3235   2013   4516  13180   45878
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1254
   JIT 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1255
   (90Mhz P5)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1256
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1258
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1259
   |b|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1260
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1261
   b := JAVA::BubbleSortAlgorithm new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1262
   b perform:#'setData(JJ)V' with:10000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1263
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1264
       b performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1265
   ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1266
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1267
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1268
   |b|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1269
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1270
   b := JAVA::QSortAlgorithm new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1271
   b perform:#'setData(JJ)V' with:500000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1272
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1273
       b performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1274
   ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1275
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1276
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1277
   |t|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1278
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1279
   t := JAVA::Tree new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1280
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1281
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1282
       t performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1283
   ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1284
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1285
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1286
   |t|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1287
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1288
   t := JAVA::Array new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1289
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1290
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1291
       t performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1292
   ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1293
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1294
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1295
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1297
!JavaVM class methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1298
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1299
compile:source selector:smalltalkSelector asJavaMethod:javaSelector fakedSource:fakedSource in:aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1300
    "install additional java protocol in smalltalk classes, req'd for java programs"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1301
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1302
    |cloneCode|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1304
    (aClass implements:javaSelector) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1305
        Class packageQuerySignal answer:'__temporary__'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1306
        do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1307
            aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1308
                compile:source
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1309
                classified:'java support'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1310
                logged:false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1311
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1312
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1313
        cloneCode := aClass compiledMethodAt:smalltalkSelector.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1314
        cloneCode source:fakedSource.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1315
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1316
        Class withoutUpdatingChangesDo:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1317
            aClass removeSelector:smalltalkSelector.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1318
            aClass addSelector:javaSelector withMethod:cloneCode.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1319
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1320
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1321
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1322
    "Created: / 5.11.1998 / 19:30:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1323
    "Modified: / 5.11.1998 / 19:37:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1324
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1325
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1326
deinitialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1327
    StandardThreadGroup := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1328
    self releaseAllMonitors.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1329
    KnownWindows notNil ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1330
        KnownWindows do: [:v | v isTopView ifTrue: [ v destroy ] ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1331
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1332
    JavaWindowGroup := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1333
    KnownWindows := nil.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1334
    OpenFileTable := nil.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1335
    JavaMethods := nil.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1336
    SystemClassLoader := nil.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1337
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1338
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1339
     JavaVM deinitialize"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1340
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1341
    "Created: / 03-01-1998 / 21:28:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1342
    "Modified: / 03-12-1998 / 20:33:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1343
    "Modified: / 28-01-2011 / 14:11:35 / Marcel Hlopko <hlopik@gmail.com>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1344
    "Modified: / 02-11-2011 / 22:07:37 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1345
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1346
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1347
deinitializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1348
    "deinstall additional java protocol in smalltalk classes, req'd for java programs"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1349
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1350
    #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1351
        #'clone()Ljava/lang/Object;'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1352
        #'equals(Ljava/lang/Object;)Z'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1353
        #'toString()Ljava/lang/String;'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1354
        #'getClass()Ljava/lang/Class;'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1355
     ) do:[:sel |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1356
        (Object implements:sel) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1357
            Class withoutUpdatingChangesDo:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1358
                Object removeSelector:sel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1359
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1360
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1361
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1362
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1363
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1364
     self deinitializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1365
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1366
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1367
    "Created: / 4.2.1998 / 21:37:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1368
    "Modified: / 5.12.1998 / 15:27:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1369
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1370
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1371
flushClasses
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1372
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1373
    ClassRegistry notNil ifTrue:[
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1374
        ClassRegistry flush
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1375
    ].
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1376
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1377
    "Created: / 30-10-2011 / 16:09:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1378
!
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  1379
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1380
initialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1381
    DUMMY_LONG_HIGHWORD := 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1382
    DUMMY_DOUBLE_HIGHWORD := 2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1383
    StandardThreadGroup := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1384
    NoAudio := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1385
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1386
    "/ NoAudio := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1387
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1388
    JavaConsoleStream := Transcript.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1389
    FullExceptionTrace := StackTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1390
    WindowOPTrace := DrawOPTrace := EventTrace := ThreadTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1391
    MonitorTrace := ExceptionTrace := FileOpenTrace := FileIOTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1392
    ExceptionDebug := ExitDebug := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1393
    ExceptionDebugPatterns := Set new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1394
    WindowCreationTrace := false.
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  1395
    FileOpenConfirmation := false."/true.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  1396
    SocketConnectConfirmation := false."/true.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1397
    WindowOPTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1398
    MonitorTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1399
    ThreadTrace := false.
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1400
    UnhandledJavaExceptionSignal := (Signal new) mayProceed:true.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1401
    UnhandledJavaExceptionSignal nameClass:self
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1402
        message:#unhandledJavaExceptionSignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1403
    UnhandledJavaExceptionSignal notifierString:'unhandled java exception'.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1404
    JavaExceptionSignal := (Signal new) mayProceed:false.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1405
    JavaExceptionSignal nameClass:self message:#javaExceptionSignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1406
    JavaExceptionSignal notifierString:'java exception'.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1407
    UnimplementedInstructionSignal := (Signal new) mayProceed:false.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1408
    UnimplementedInstructionSignal nameClass:self
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1409
        message:#unimplementedInstructionSignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1410
    UnimplementedInstructionSignal notifierString:'unimplemented instruction'.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1411
    UnimplementedNativeMethodSignal := (Signal new) mayProceed:false.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1412
    UnimplementedNativeMethodSignal nameClass:self
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1413
        message:#unimplementedNativeMethodSignal.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1414
    UnimplementedNativeMethodSignal 
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1415
        notifierString:'unimplemented native method'.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1416
    BadMessageSignal := (Signal new) mayProceed:false.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1417
    BadMessageSignal nameClass:self message:#badMessageSignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1418
    BadMessageSignal notifierString:'invalid message to JAVA object'.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1419
    InternalErrorSignal := (Signal new) mayProceed:false.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1420
    InternalErrorSignal nameClass:self message:#internalErrorSignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1421
    InternalErrorSignal notifierString:'internal error'.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1422
    CallHandlerSignal := (Signal new) mayProceed:false.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1423
    CallHandlerSignal nameClass:self message:#callHandlerSignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1424
    CallHandlerSignal notifierString:'internal signal'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1425
    StdinReplacementFileQuerySignal := QuerySignal new.
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1426
    StdinReplacementFileQuerySignal nameClass:self
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1427
        message:#stdinReplacementFileQuerySignal.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1428
    StdinReplacementFileQuerySignal notifierString:'asking for stdin stream'.
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  1429
    JavaPrivilegedAccessQuery := QuerySignal new.
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  1430
    JavaPrivilegedAccessQuery defaultAnswer:false.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1431
    AssertionsEnabled := true.
1069
d5d204ceb991 JavaVM: Added ClassRegistry initialization into JavaVM>>initialize
vranyj1
parents: 1063
diff changeset
  1432
    ClassRegistry := JavaClassRegistry new.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1433
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1434
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1435
     JavaVM initialize"
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  1436
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1437
    "Created: / 02-01-1998 / 18:02:34 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1438
    "Modified: / 02-12-1998 / 23:02:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1439
    "Modified: / 01-04-2011 / 12:33:37 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  1440
    "Modified: / 09-10-2011 / 20:29:10 / Marcel Hlopko <hlopik@gmail.com>"
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  1441
    "Modified: / 07-11-2011 / 23:37:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1442
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1443
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1444
initializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1445
    "install additional java protocol in smalltalk classes, req'd for java programs"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1446
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1447
    "/ since we use smalltalk Arrays for JavaArray, some
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1448
    "/ additional (java-) protocol is required.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1449
    "/ This is also useful, when Smalltalk objects are passed to
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1450
    "/ java ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1451
    "/ We should implement all of the java.lang.Object protocol in
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1452
    "/ Object, to be on the bright side of life; more of this later ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1453
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1454
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1455
        compile:'__clone
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1456
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1457
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1458
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1459
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1460
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1461
    ^ self shallowCopy'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1462
        selector:#'__clone' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1463
        asJavaMethod:#'clone()Ljava/lang/Object;' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1464
        fakedSource:'#''clone()Ljava/lang/Object;''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1465
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1466
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1467
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1468
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1469
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1470
    ^ self shallowCopy'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1471
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1472
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1473
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1474
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1475
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1476
        compile:'__equals:arg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1477
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1478
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1479
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1480
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1481
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1482
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1483
        selector:#'__equals:' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1484
        asJavaMethod:#'equals(Ljava/lang/Object;)Z' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1485
        fakedSource:'#''equals(Ljava/lang/Object;)Z''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1486
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1487
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1488
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1489
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1490
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1491
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1492
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1493
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1494
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1495
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1496
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1497
        compile:'__toString
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1498
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1499
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1500
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1501
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1502
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1503
    ^ Java as_String:(self displayString)'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1504
        selector:#'__toString' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1505
        asJavaMethod:#'toString()Ljava/lang/String;' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1506
        fakedSource:'#''toString()Ljava/lang/String;''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1507
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1508
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1509
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1510
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1511
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1512
    ^ Java as_String:(self displayString)'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1513
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1514
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1515
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1516
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1517
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1518
        compile:'__getClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1519
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1520
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1521
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1522
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1523
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1524
    ^ JavaVM javaClassObjectForClass:self class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1525
        selector:#'__getClass' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1526
        asJavaMethod:#'getClass()Ljava/lang/Class;' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1527
        fakedSource:'#''getClass()Ljava/lang/Class;''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1528
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1529
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1530
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1531
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1532
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1533
    ^ JavaVM javaClassObjectForClass:self class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1534
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1535
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1536
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1537
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1538
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1539
        compile:'__hashCode
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1540
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1541
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1542
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1543
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1544
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1545
    ^ self identityHash'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1546
        selector:#'__hashCode' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1547
        asJavaMethod:#'hashCode()I' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1548
        fakedSource:'#''hashCode()I''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1549
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1550
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1551
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1552
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1553
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1554
    ^ self identityHash'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1555
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1556
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1557
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1558
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1559
     self initializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1560
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1561
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1562
    "Modified: / 28-01-1997 / 19:38:58 / stefan"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1563
    "Modified: / 22-01-1998 / 21:23:40 / av"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1564
    "Created: / 04-02-1998 / 21:35:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1565
    "Modified: / 30-12-1998 / 21:07:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1566
    "Modified: / 25-10-2010 / 16:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1567
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1568
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1569
initializeBaseClasses
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1570
    "load req'd base classes"
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1571
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1572
    #( 'java.lang.Object'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1573
     'java.lang.Class'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1574
     'java.lang.String'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1575
     'java.lang.System' ) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1576
            do: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1577
                :cName | 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1578
                (self classForName: cName) isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1579
                    self 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1580
                        warn: ('JavaVM: could not find required class: ' , cName asText allBold 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1581
                                , '\\Please check the Java settings (javaHome)') withCRs.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1582
                    AbortSignal raise.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1583
                    ^ self
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1584
                ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1585
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1586
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1587
    "
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1588
     self initializeBaseClasses"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1589
    "Created: / 3.1.1998 / 21:13:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1590
    "Modified: / 23.12.1999 / 19:27:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1591
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1592
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1593
initializeOpenFileTable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1594
    OpenFileTable := OrderedCollection 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1595
			with:Stdin 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1596
			with:(JavaConsoleStream ? Stdout)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1597
			with:(JavaConsoleStream ? Stderr).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1598
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1599
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1600
     JavaVM initializeOpenFileTable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1601
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1602
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1603
    "Modified: / 6.8.1997 / 00:40:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1604
    "Created: / 2.1.1998 / 18:04:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1605
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1606
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1607
initializePrimitiveClasses
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1608
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1609
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1610
    "/    #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1611
    "/        (#byte    'B' 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1612
    "/        (#short   'S' 2)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1613
    "/        (#int     'I' 4)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1614
    "/        (#long    'J' 8)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1615
    "/        (#boolean 'Z' 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1616
    "/        (#char    'C' 2)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1617
    "/        (#float   'F' 4)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1618
    "/        (#double  'D' 8)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1619
    "/        (#void    'V' 0)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1620
    "/    ) triplesDo:[:nm :sig :len |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1621
    "/        |jClass classInst|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1622
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1623
    "/        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1624
    "/        "/ create a javaClass for it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1625
    "/        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1626
    "/        jClass := Java at:'java.lang.Class'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1627
    "/        jClass notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1628
    "/            classInst := jClass new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1629
    "/            JavaClasses at:nm put:classInst.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1630
    "/            JavaClasses at:classInst put:nm.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1631
    "/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1632
    "/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1633
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1634
     self initializePrimitiveClasses"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1635
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1636
    "Modified: / 22-10-1998 / 01:56:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1637
    "Modified: / 20-12-2010 / 23:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1638
    "Modified: / 28-01-2011 / 14:57:38 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1639
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1640
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1641
initializeReflection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1643
    Reflection := JavaVM::Reflection for: self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1644
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1645
    "Created: / 21-12-2010 / 19:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1646
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1647
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1648
initializeSimulatedLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1649
    "return a collection of native libs which are considered 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1650
     being already loaded. (used with jdk < 1.2)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1651
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1652
    LibPath := #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1653
                        '__builtIn__' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1654
                        '/usr/local/lib' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1655
                        '/usr/local/lib/java'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1656
                ).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1657
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1658
    SimulatedLibs := #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1659
                        '__builtIn__/net' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1660
                        '__builtIn__/awt' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1661
                        '__builtIn__/tawt' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1662
                        '__builtIn__/winawt' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1663
                        '__builtIn__/jpeg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1664
                        '__builtIn__/mmedia'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1665
                        '__builtIn__/zip'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1666
                        '__builtIn__/math'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1667
                        '__builtIn__/sysresource'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1668
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1669
                        "/ KAVA ... 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1670
                        '__builtIn__/agent'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1671
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1672
                        "/ MS-java ... 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1673
                        '__builtIn__/msawt'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1674
                        '__builtIn__/javart'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1675
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1676
                        "/ 1.1.8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1677
                        '__builtIn__/jpeg_sun' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1678
                      ).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1679
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1680
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1681
     self initializeSimulatedLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1682
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1683
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1684
    "Created: / 4.1.1998 / 19:05:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1685
    "Modified: / 17.11.1998 / 23:53:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1686
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1687
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1688
initializeSimulatedNativeLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1689
    "return a collection of native libs which are considered 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1690
     being already loaded (used with jdk >= 1.2)"
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1691
    
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1692
    OperatingSystem isUNIXlike ifTrue: [
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  1693
        SimulatedNativeLibs := #( 'libawt.so' 'libnet.so' 'libcmm.so' 'libzip.so' 'libmanagement.so'  'libjpeg.so' ).
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1694
        ^ self.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1695
    ].
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1696
    OperatingSystem isMSWINDOWSlike ifTrue: [
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  1697
        SimulatedNativeLibs := #( 'awt.dll' 'net.dll' 'cmm.dll' 'zip.dll' ).
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1698
        ^ self.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1699
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1700
    SimulatedNativeLibs := #().
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1701
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1702
    "
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  1703
     self initializeSimulatedNativeLibs"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1705
    "Modified: / 27-01-1998 / 18:43:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1706
    "Modified: / 01-04-2011 / 23:02:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  1707
    "Modified: / 03-11-2011 / 19:00:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1708
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1709
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1710
initializeSimulatedNativeMemory
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1712
    SimulatedNativeMemory := JavaNativeMemory new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1713
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1714
    "Created: / 07-12-2010 / 21:07:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1715
    "Modified: / 07-12-2010 / 23:45:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1716
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1717
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1718
initializeSystemClassLoader
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1719
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1720
    | java_lang_ClassLoader |
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1721
    
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1722
    java_lang_ClassLoader := JavaVM classForName: 'java.lang.ClassLoader'.
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1723
    (SystemClassLoader := java_lang_ClassLoader instVarNamed:#scl) isNil ifTrue:[
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1724
        SystemClassLoader := java_lang_ClassLoader perform: #'getSystemClassLoader()Ljava/lang/ClassLoader;'
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1725
    ].
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1726
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1727
    "Created: / 30-10-2011 / 12:04:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1728
!
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1729
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1730
initializeSystemPropertiesInto: props 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1731
    | cpu  os  jHome |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1732
    "/ use JAVA compatible cpu-name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1733
    cpu := OperatingSystem getCPUType.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1734
    cpu = 'i386' ifTrue: [ cpu := 'ix86' ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1735
    SimulatedOS notNil ifTrue: [ os := SimulatedOS ] ifFalse: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1736
        os := OperatingSystem getOSType.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1737
        os := os asUppercaseFirst.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1738
    ].
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1739
    props at: 'java.version' put: '1'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1740
    props at: 'java.vendor' put: 'eXept Software AG & SWING Reseach Group'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1741
    props at: 'java.vendor.url'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1742
        put: 'http://www.exept.de & http://swing.fit.cvut.cz'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1743
    props at: 'java.vm.name' put: 'Smalltalk/X'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1744
    (jHome := self defaultJAVAHome) notNil ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1745
        props at: 'java.home' put: (jHome asFilename pathName).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1746
    ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1747
    props at: 'java.class.version' put: '1'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1748
    props at: 'java.class.path' put: (self defaultCLASSPATH).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1749
    props at: 'java.ext.dirs' put: (self defaultExtDirs).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1750
    props at: 'os.name' put: os.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1751
    props at: 'os.arch' put: cpu.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1752
    props at: 'os.version' put: '1'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1753
    props at: 'file.separator' put: (Filename separator asString).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1754
    props at: 'path.separator' put: OperatingSystem pathSeparator asString.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1755
    props at: 'line.separator' put: (Character cr asString).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1756
    props at: 'user.name' put: (OperatingSystem getLoginName).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1757
    props at: 'user.home'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1758
        put: (OperatingSystem getHomeDirectory ? Filename currentDirectory name).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1759
    props at: 'user.dir'
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  1760
        put: (UserPreferences current javaTestsDirectory asFilename 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  1761
                / 'libjava' asFilename) pathName.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1762
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1763
    "/ props at:'user.dir'           put:(Filename currentDirectory pathName).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1764
    "/props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1765
    
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1766
    props at: 'user.country' put: 'US'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1767
    props at: 'hotjava.home' put: (self defaultHotJavaHome).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1768
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1769
    "/ new with jdk 1.1.8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1770
    "/ undocumented ?
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1771
    
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1772
    props at: 'file.encoding.pkg' put: 'sun.io'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1773
    props at: 'file.encoding' put: 'UTF-8'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1774
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1775
    "/ suppress copyright view in appletViewer ...
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1776
    
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1777
    props at: 'appletviewer.version' put: '1.1'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1778
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1779
    "/ new with jdk 1.2
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1780
    
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1781
    props at: 'java.awt.graphicsenv' put: 'sun.awt.X11GraphicsEnvironment'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1782
    props at: 'java.awt.fonts' put: '/usr/lib/X11/fonts'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1783
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1784
    "/ jws
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1785
    "/props at:'jws.home'             put:(self defaultJWSHome).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1786
    "/ new with jws 2.0 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1787
    "/props at:'jws.startcmd'         put:'jws.showwin.mainide'.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1788
    
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1789
    props at: 'java.library.path' put: self defaultJavaLibraryPath.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1790
    props at: 'sun.boot.library.path' put: self defaultSunBootLibraryPath.
1078
614cf5325969 tomcat junit test is running (not passing:)
hlopkmar
parents: 1075
diff changeset
  1791
    props at: 'stx.libjava.tomcat.dir'
614cf5325969 tomcat junit test is running (not passing:)
hlopkmar
parents: 1075
diff changeset
  1792
        put: (JavaLibraries directory / 'tomcat6') pathName.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1793
    
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  1794
"/    props at: 'sun.misc.URLClassPath.debug' put: 'true'. 
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1795
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1796
    ^ props
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1797
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1798
    "
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  1799
     self initializeSystemPropertiesInto:(Dictionary new)"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1800
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1801
    "Created: / 03-01-1998 / 14:26:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1802
    "Modified: / 27-01-2000 / 02:20:18 / cg"
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  1803
    "Modified: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1078
614cf5325969 tomcat junit test is running (not passing:)
hlopkmar
parents: 1075
diff changeset
  1804
    "Modified (format): / 03-11-2011 / 12:40:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1805
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1806
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1807
initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1808
    "Force off JIT compiler for Java code - it hasn't been
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1809
     updated to reflect changes in jinterpret.c.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1810
     Following >>make it working, make it fast<< rule"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1811
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1812
    ObjectMemory
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1813
        javaJustInTimeCompilation: false;
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1814
        javaNativeCodeOptimization: false.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1815
     "Java requires a huge stack. Change default to 5 MB"
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1816
    Process defaultMaximumStackSize: 1024 * 1024 * 4.
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1817
    ClassRegistry := JavaClassRegistry for: self.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  1818
    ClassLoaderQuerySignal := Query new.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1819
    JavaObject autoload.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1820
    JavaContext autoload.
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1821
    MonitorTrace ifNil: [ self initialize ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1822
    self initializeAdditionalJavaProtocol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1823
    self releaseAllJavaResources.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1824
    JavaConsoleStream := Transcript.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1825
    Java initAllStaticFields.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1826
    Java markAllClassesUninitialized.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  1827
    ZipCache := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  1828
    ZipEntryCache := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  1829
    ZipInflaters := OrderedCollection new.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1830
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1831
    "/ force re-resolving;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1832
    "/ otherwise, class-inits would not be called
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1833
    "/ by resolver ... (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1834
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1835
    JavaNativeMethod flushAllCachedNativeMethods.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  1836
    JavaMethod 
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1837
        allSubInstancesDo: [
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1838
            :m | 
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1839
            m checked: false.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1840
            m code: nil.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1841
        ].
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1842
    ObjectMemory flushCaches.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1843
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1844
    "/ sigh - must flush inline caches.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1845
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1846
    JavaClass startRememberingOrderOfClassInits.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1847
    self initializeSimulatedLibs.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1848
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1849
    "/ < jdk 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1850
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1851
    self initializeSimulatedNativeLibs.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1852
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1853
    "/ >= jdk 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1854
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1855
    self initializeSimulatedNativeMemory.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1856
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1857
    "/>  jdk 6
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1858
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1859
    self initializeOpenFileTable.
907
9ab15562799b JavaVM: Initialization fix
vranyj1
parents: 906
diff changeset
  1860
    self initializeReflection.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1861
    self initializeBaseClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1862
    self initializePrimitiveClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1863
    Java initSystemClass.
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1864
    self initializeSystemClassLoader.
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1865
    ObjectMemory addDependent: self.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1866
    StartupTime := OperatingSystem getOSTime.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1867
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1868
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1869
     JavaVM initialize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1870
     JavaVM initializeVM."
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  1871
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1872
    "Created: / 03-01-1998 / 21:29:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1873
    "Modified: / 14-12-1999 / 18:58:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1874
    "Modified: / 15-10-2010 / 15:27:45 / Jan Kurs <kurs.jan@post.cz>"
1070
vranyj1
parents: 1069
diff changeset
  1875
    "Modified: / 01-11-2011 / 22:16:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  1876
    "Modified: / 03-11-2011 / 19:17:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1877
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1878
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1879
initializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1880
    |uClass updater p|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1881
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1882
    uClass := JAVA::sun::awt::ScreenUpdater.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1883
    uClass notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1884
        updater := uClass instVarNamed:'updater'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1885
        updater notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1886
            p := self stProcessForJavaThread:updater
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1887
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1888
        (updater isNil or:[p isNil or:[p isDead]]) isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1889
            self initializeVM.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1890
            ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1891
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1892
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1893
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1894
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1895
        self initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1896
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1897
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1898
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1899
     JavaVM initializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1900
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1901
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1902
    "Created: / 15.1.1998 / 17:32:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1903
    "Modified: / 24.12.1999 / 02:18:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1904
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1905
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1906
reinitializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1907
    |classesToInit|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1908
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1909
    self releaseAllJavaResources.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1910
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1911
    JavaConsoleStream := Transcript.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1912
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1913
    Java initAllStaticFields.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1914
    Java markAllClassesUninitialized.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1915
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1916
    self initializeOpenFileTable.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1917
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1918
    classesToInit := JavaClass orderOfClassInits.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1919
    JavaClass startRememberingOrderOfClassInits.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1920
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1921
    self initializePrimitiveClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1922
"/    Java initSystemClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1923
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1924
    classesToInit do:[:jClass |
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1925
        jClass classInit
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1926
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1927
    Java initSystemClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1928
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1929
    "Created: / 12-11-1998 / 15:37:52 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1930
    "Modified: / 17-11-1998 / 16:10:11 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1931
    "Modified: / 14-09-2011 / 22:06:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1932
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1933
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1934
reinitializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1935
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1936
        ^ self reinitializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1937
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1938
    (JavaEventQueueThread isNil or:[JavaEventQueueThread isDead]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1939
        ^ self reinitializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1940
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1942
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1943
     JavaVM reinitializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1944
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1945
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1946
    "Created: / 24.11.1998 / 15:45:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1947
    "Modified: / 24.12.1999 / 02:36:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1948
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1949
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1950
releaseAllJavaResources
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1951
    self deinitialize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1952
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1953
    FirstWindowCreationSemaphore := Semaphore new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1954
    JavaScreenUpdaterThread := JavaEventQueueThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1955
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1956
    LoadedLibs := nil.             "/ gc will reclaim them ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1957
    LoadedNativeLibs := nil.       "/ gc will reclaim them ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1958
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1959
    ImageStretchCache := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1960
    LastGraphics := LastGC := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1961
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1962
    SimulatedNativeMemory := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1963
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1964
    self initializePrimitiveClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1965
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1966
    self terminateAllThreads.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1967
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1968
    self releaseAllWindows.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1969
    self releaseAllStreams.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1970
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1971
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1972
     JavaVM releaseAllJavaResources
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1973
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1974
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1975
    "Created: / 07-01-1998 / 22:49:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1976
    "Modified: / 24-12-1999 / 02:33:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1977
    "Modified: / 17-12-2010 / 17:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1978
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1979
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1980
releaseAllMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1981
    LockTable := WeakIdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1982
    LockTableAccess := Semaphore"RecursionLock" forMutualExclusion.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1983
    LockTableAccess name: 'JavaVM lock table access mutex'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1984
    WaitTable := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1985
    WaitTableAccess := Semaphore"RecursionLock" forMutualExclusion.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1986
    WaitTableAccess name: 'JavaVM wait table access mutex'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1987
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1988
    EnteredMonitorsPerProcess := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1989
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1990
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1991
     JavaVM releaseAllMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1992
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1993
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1994
    "Created: / 02-01-1998 / 18:04:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1995
    "Modified: / 07-01-1998 / 22:58:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1996
    "Modified: / 25-10-2010 / 19:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1997
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1998
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1999
releaseAllStreams
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2000
    OpenFileTable notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2001
	OpenFileTable do:[:aStream |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2002
	    aStream notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2003
		aStream ~~ Stdin ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2004
		    aStream ~~ Stdout ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2005
			aStream ~~ Stderr ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2006
			    aStream ~~ JavaConsoleStream ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2007
				aStream isExternalStream ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2008
				    aStream shutDown
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2009
				]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2010
			    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2011
			]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2012
		    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2013
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2014
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2015
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2016
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2017
    self initializeOpenFileTable.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2018
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2019
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2020
     JavaVM releaseAllStreams
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2021
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2022
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2023
    "Created: / 7.1.1998 / 22:57:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2024
    "Modified: / 4.2.1998 / 19:53:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2025
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2026
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2027
releaseAllWindows
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2028
    KnownWindows notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2029
	KnownWindows do:[:aView |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2030
	    aView destroy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2031
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2032
	KnownWindows := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2033
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2034
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2035
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2036
     self releaseAllWindows
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2037
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2038
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2039
    "Created: / 7.1.1998 / 22:58:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2040
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2041
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2042
releaseLeftOverMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2043
    "release monitors held by dead processes"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2044
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2045
    |deadProcesses|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2046
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2047
    deadProcesses := IdentitySet new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2048
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2049
    EnteredMonitorsPerProcess keysAndValuesDo:[:p :monitors |
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2050
        p isDead ifTrue:[
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2051
            monitors do:[:mon |
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2052
                Logger log: 'release leftover monitor ...' severity: #info facility: 'JVM'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2053
                mon release
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2054
            ].
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2055
            deadProcesses add:p.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2056
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2057
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2058
    deadProcesses do:[:p |
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2059
        EnteredMonitorsPerProcess removeKey:p
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2060
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2061
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2062
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2063
     JavaVM releaseLeftOverMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2064
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2065
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2066
    "Created: / 08-01-1998 / 17:29:26 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2067
    "Modified: / 14-09-2011 / 22:06:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2068
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2069
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2070
systemProperties
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2071
    |props|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2072
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2073
    props := Dictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2074
    self initializeSystemPropertiesInto:props.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2075
    ^ props
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2076
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2077
    "Created: / 3.1.1998 / 14:25:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2078
    "Modified: / 3.1.1998 / 14:32:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2079
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2080
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2081
terminateAllThreads
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2082
    Java terminateAllThreads.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2083
    JavaEventThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2084
    JavaScreenUpdaterThread := JavaEventQueueThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2085
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2086
    "Created: / 8.1.1998 / 17:43:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2087
    "Modified: / 24.12.1999 / 02:33:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2088
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2089
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2090
update:something with:aParameter from:changedObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2091
    something == #returnFromSnapshot ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2092
"/         self initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2093
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2094
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2095
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2096
     JavaVM initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2097
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2098
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2099
    "Created: / 9.1.1998 / 10:30:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2100
    "Modified: / 6.11.1998 / 00:40:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2101
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2102
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2103
!JavaVM class methodsFor:'Signal constants'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2105
badMessageSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2106
    ^ BadMessageSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2107
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2108
    "Created: / 2.1.1998 / 18:06:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2109
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2110
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2111
callHandlerSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2112
    ^ CallHandlerSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2113
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2114
    "Created: / 2.1.1998 / 18:07:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2115
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2116
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2117
classLoaderQuerySignal
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2118
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2119
    <resource: #obsolete>
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2120
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2121
    self breakPoint: #jv.
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2122
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2123
    ^JavaClassReader classLoaderQuerySignal
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2124
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2125
    "Modified: / 28-10-2011 / 22:11:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2126
!
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2127
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2128
internalErrorSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2129
    ^ InternalErrorSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2131
    "Created: / 2.1.1998 / 18:07:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2132
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2134
javaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2135
    "^ JavaExceptionSignal"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2136
    ^JavaError
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2137
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2138
    "Created: / 02-01-1998 / 18:05:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2139
    "Modified: / 01-03-2011 / 21:50:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2140
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2141
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2142
privilegedAccessQuery
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2143
    ^ JavaPrivilegedAccessQuery.
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2144
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2145
    "Created: / 09-10-2011 / 20:24:49 / Marcel Hlopko <hlopik@gmail.com>"
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2146
!
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2147
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2148
stdinReplacementFileQuerySignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2149
    ^ StdinReplacementFileQuerySignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2151
    "Created: / 2.1.1998 / 18:06:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2152
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2153
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2154
unhandledJavaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2155
    ^ UnhandledJavaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2156
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2157
    "Created: / 2.1.1998 / 18:05:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2158
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2159
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2160
unimplementedInstructionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2161
    ^ UnimplementedInstructionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2162
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2163
    "Created: / 2.1.1998 / 18:06:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2164
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2165
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2166
unimplementedNativeMethodSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2167
    ^ UnimplementedNativeMethodSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2168
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2169
    "Created: / 2.1.1998 / 18:06:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2170
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2171
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2172
!JavaVM class methodsFor:'accessing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2173
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2174
addClass:aJavaClass definedBy:aJavaClassLoader 
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2175
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2176
    self assert: aJavaClass classLoader == aJavaClassLoader.
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2177
    ^ ClassRegistry registerClass:aJavaClass
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2178
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2179
    "Modified: / 23-10-2011 / 11:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2180
!
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2181
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2182
addSelector:newSelector withMethod:newMethod 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2183
    super addSelector:newSelector withMethod:newMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2184
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2185
    "/JavaNativeMethod may not be loaded..."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2186
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2187
    (Smalltalk at:#JavaNativeMethod) 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2188
        ifNotNil:[JavaNativeMethod flushAllCachedNativeMethods].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2189
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2190
    "Created: / 24-12-1999 / 03:12:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2191
    "Modified: / 02-02-2011 / 04:38:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2192
    "Modified: / 02-02-2011 / 23:38:08 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2193
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2194
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2195
assertionsEnabled: aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2196
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2197
    AssertionsEnabled := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2198
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2199
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2200
        JavaVM assertionsEnabled: true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2201
        JavaVM assertionsEnabled: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2202
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2203
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2204
    "Created: / 24-11-2010 / 09:02:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2205
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2206
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2207
classRegistry
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2208
    ^ ClassRegistry.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2209
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2210
    "Created: / 21-10-2011 / 11:12:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2211
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2212
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2213
extClassLoader
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2214
    ^ self systemClassLoader instVarNamed:#'parent'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2215
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2216
    "Created: / 30-10-2011 / 12:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2217
    "Created: / 02-11-2011 / 13:20:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2218
!
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2219
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2220
javaEventQueueThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2221
     ^ JavaEventQueueThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2222
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2223
    "Created: / 24.12.1999 / 02:34:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2224
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2226
javaEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2227
     ^ JavaEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2228
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2229
    "Created: / 8.1.1999 / 17:05:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2230
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2231
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2232
javaScreenUpdaterThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2233
     ^ JavaScreenUpdaterThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2234
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2235
    "Created: / 8.1.1999 / 17:06:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2236
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2237
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2238
reflection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2239
    ^ Reflection.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2240
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2241
    "Created: / 28-01-2011 / 15:09:19 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2242
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2243
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2244
registry
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2245
    ^ ClassRegistry.
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2246
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1034
diff changeset
  2247
    "Modified (format): / 21-10-2011 / 11:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2248
!
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2249
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2250
systemClassLoader
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2251
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2252
    ^SystemClassLoader
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2253
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2254
    "Created: / 30-10-2011 / 12:08:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2255
!
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2256
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2257
useSmalltalkInterpreter
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2258
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2259
    JavaMethod makeMetaMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2260
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2261
    "Created: / 23-02-2011 / 12:59:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2262
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2264
useVMInterpreter
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2265
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2266
    JavaMethod makeJavaMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2267
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2268
    "Created: / 23-02-2011 / 12:59:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2269
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2270
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2271
!JavaVM class methodsFor:'class access'!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2272
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2273
at: aString 
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2274
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2275
    ^ ClassRegistry classNamed: aString asInternalJavaClassName.
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2276
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2277
    "Modified (comment): / 21-10-2011 / 12:14:29 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2278
    "Modified: / 23-10-2011 / 12:25:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2279
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2280
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2281
at: aString put: aJavaClass 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2282
    self breakPoint: #mh.
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2283
    self breakPoint: #jv.
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2284
    "dont use me anymore"
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2285
    ^ ClassRegistry registerClass: aJavaClass
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2286
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2287
    "Modified (comment): / 21-10-2011 / 12:14:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2288
    "Modified: / 23-10-2011 / 11:58:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2289
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2290
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2291
classForName: className 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2292
    "load class from registry - load using classLoader from query or JavaClassReader if absent"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2293
    
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2294
    
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2295
    ^ self classForName: className asSlashedJavaClassName
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2296
        definedBy: (JavaClassReader classLoaderQuerySignal query) "? SystemClassLoader".
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2297
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  2298
    "Modified: / 30-10-2011 / 17:46:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2299
    "Modified: / 02-11-2011 / 16:33:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2300
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2301
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2302
classForName: className definedBy: classLoader 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2303
    "load class from registry - load using given classLoader if not nil"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2304
    
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2305
    | result |
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2306
    result := self 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2307
                classForName: className asSlashedJavaClassName
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2308
                definedBy: classLoader
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2309
                ifAbsentPut: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2310
                    | class  classLoaderEnsured |
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2311
                    self assert: (className includes: $.) not.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2312
                    self booted ifFalse: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2313
                        "class loaders allowed after vm boot, until then, only primordial"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2314
                        class := self usePrimordialCLToLoadClassNamed: className.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2315
                        self assert: (class notNil)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2316
                            description: 'Couldnt load class ' , className , ' while booting Java VM'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2317
                        class.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2318
                    ] ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2319
                        self assert: (self booted)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2320
                            description: 'Java VM is not booted and we are not using primordial class loader to load: ' 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2321
                                    , className.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2322
                        (Java release bootClassPathIncludesClassNamed: className) ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2323
                            "we will use primordial class loader for classes in rt.jar etc"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2324
                            class := self usePrimordialCLToLoadClassNamed: className.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2325
                            self assert: (class notNil)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2326
                                description: 'Class ' , className 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2327
                                        , ' is supposed to be in boot classpath, but we couldnt load it'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2328
                            class.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2329
                        ] ifFalse: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2330
                            (Java release extDirsIncludesClassNamed: className) ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2331
                                class := self useExtCLToLoadClassNamed: className.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2332
                                self assert: (class notNil)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2333
                                    description: 'Class ' , className 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2334
                                            , ' is supposed to be in java.ext,dirs, but we couldnt load it'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2335
                                class.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2336
                            ] ifFalse: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2337
                                "at this point, nil classLoader means use system class loader,
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2338
                                 in other words, at this point, we shouldnt use primordial cl at all"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2339
                                classLoader isNil ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2340
                                    self assert: (self systemClassLoader notNil)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2341
                                        description: 'We needed system class loader, but its not loaded yet'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2342
                                    classLoaderEnsured := self systemClassLoader
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2343
                                ] ifFalse: [ classLoaderEnsured := classLoader ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2344
                                class := self useUserDefinedCL: classLoaderEnsured
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2345
                                            toLoadClassNamed: className.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2346
                                class isNil ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2347
                                    Logger 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2348
                                        log: 'Even ' , classLoader printString , ' was not able to load class ' 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2349
                                                , className
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2350
                                        severity: #warn
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2351
                                        facility: 'JVM'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2352
                                    nil
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2353
                                ] ifFalse: [ class ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2354
                            ]
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2355
                        ]
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2356
                    ]
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2357
                ].
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2358
    result isNil ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2359
        Logger 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2360
            log: 'Class ' , className , ' couldnt be loaded'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2361
            severity: #warn
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2362
            facility: 'JVM'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2363
    ] ifFalse: [ result := self makeArrayOf: result asDescribedBy: className. ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2364
    ^ result.
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2365
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2366
    "Created: / 21-10-2011 / 12:01:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2367
    "Modified: / 30-10-2011 / 13:54:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2368
    "Modified: / 02-11-2011 / 16:49:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2369
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2370
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2371
classForName: className definedBy: classLoader ifAbsentPut: aBlock 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2372
    "load class from registry - if absent evaluate given block to get loaded class"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2373
    
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2374
    | result |
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2375
    className asJavaComponentClassName isJavaPrimitiveTypeDescriptor ifTrue: [
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2376
        ^ (JavaDescriptor fromString: className) javaClass.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2377
    ].
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2378
    result := ClassRegistry 
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2379
                classForName: className asSlashedJavaClassName
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2380
                loader: classLoader
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2381
                ifAbsentPut: aBlock.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2382
    result notNil ifTrue: [
1041
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2383
        result := self makeArrayOf: result asDescribedBy: className.
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2384
    ].
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2385
    ^ result.
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2386
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2387
    "Created: / 21-10-2011 / 12:13:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2388
    "Modified: / 30-10-2011 / 22:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2389
    "Modified (format): / 02-11-2011 / 16:09:48 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2390
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2391
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2392
classNamed: className 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2393
    "Return class with given name loaded by current classloader or nil if class is not yet loaded"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2394
    
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2395
    ^ self classNamed: className definedBy: JavaClassReader classLoaderQuerySignal query.
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2396
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2397
    "Modified: / 21-10-2011 / 12:09:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2398
    "Modified (comment): / 21-10-2011 / 13:34:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  2399
    "Modified: / 28-10-2011 / 22:12:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2400
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2401
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2402
classNamed: className definedBy: classLoader 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2403
    "Return class with given name loaded by given classloader or nil if class is not yet loaded"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2404
    
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2405
    | result |
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2406
    className asJavaComponentClassName isJavaPrimitiveTypeDescriptor ifTrue: [
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2407
        ^ (JavaDescriptor fromString: className) javaClass.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2408
    ].
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2409
    result := ClassRegistry 
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2410
                classForName: className asSlashedJavaClassName
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2411
                loader: classLoader
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2412
                ifAbsent: [ ^ nil ].
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2413
    ^ self makeArrayOf: result asDescribedBy: className.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2414
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2415
    "Created: / 21-10-2011 / 11:58:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1037
3dc5755c5fe4 JavaClassRegistry refactored
vranyj1
parents: 1036
diff changeset
  2416
    "Modified: / 23-10-2011 / 12:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2417
    "Modified: / 01-11-2011 / 15:36:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2418
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2419
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2420
loadClassesIn: directory 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2421
"load all classes (.class files, strictly speaking) found in given directory.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2422
The argument is string containing the name of the directory.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2423
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2424
Returns a set of loaded classes."
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2425
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2426
^ self loadClassesIn: directory matching: '*'.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2427
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2428
    "Modified: / 11-06-2011 / 13:35:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2429
    "Created: / 21-10-2011 / 12:40:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2430
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2431
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2432
loadClassesIn: directory matching: pattern 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2433
    "load all classes (.class files, strictly speaking) found in given directory.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2434
     The arguments are a string containing the name of the directory
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2435
     and a class name pattern. Only classes matching the pattern are loaded.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2436
     class names are matched using String>>matches:.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2437
     ALL CLASSES ARE INSTALLED!!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2438
     Returns a set of loaded classes."
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2439
    
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2440
    | dir  dirString  className  loadedClasses |
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2441
    dir := directory asFilename asAbsoluteFilename.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2442
    loadedClasses := Set new.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2443
    Java addToClassPath: dir pathName.
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2444
    JavaClassReader classLoaderQuerySignal answer: SystemClassLoader do:[
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2445
    
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2446
    dir 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2447
        recursiveDirectoryContentsAsFilenamesDo: [
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2448
            :filename | 
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2449
            (filename isRegularFile and: [ filename suffix = #class ]) ifTrue: [
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2450
                dirString := dir pathName.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2451
                className := filename withoutSuffix pathName.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2452
                className := className subString: dirString size + 2 to: className size.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2453
                className := className copyReplaceAll: (Filename separator) with: $..
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2454
                (className matches: pattern) ifTrue: [
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2455
                    (self classNamed: className) isNil ifTrue:[
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2456
                        loadedClasses add: (self classForName:className).
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2457
                    ].
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2458
                ]
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2459
            ]
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2460
        ].
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2461
    ].
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2462
    ^ loadedClasses.
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2463
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2464
    "Modified: / 21-10-2011 / 12:52:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  2465
    "Modified: / 30-10-2011 / 14:02:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2466
! !
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2467
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2468
!JavaVM class methodsFor:'class loading'!
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2469
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2470
useExtCLToLoadClassNamed: className 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2471
    | ecl  class |
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2472
    ecl := self extClassLoader.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2473
    self assert: (ecl notNil)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2474
        description: 'we want to use ExtClassLoader, but its not loaded yet'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2475
    class := ecl 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2476
                perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2477
                with: (Java as_String: (className asDottedJavaClassName)).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2478
    self assert: (class notNil)
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2479
        description: 'we tried to load class ' , className 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2480
                , ' using ExtClassLoader and we failed:)'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2481
                class := JavaVM classForJavaClassObject: class.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2482
                class classLoader: ecl.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2483
    ^ class.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2484
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2485
    "Created: / 02-11-2011 / 13:48:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2486
!
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2487
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2488
usePrimordialCLToLoadClassNamed: className 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2489
    | class |
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2490
    JavaClassReader classLoaderQuerySignal answer: nil
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2491
        do: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2492
            class := JavaClassReader readClass: className.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2493
        ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2494
    ^ class
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2495
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2496
    "Modified: / 02-11-2011 / 17:28:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2497
!
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2498
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2499
useUserDefinedCL: classLoader toLoadClassNamed: className 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2500
    | classObject  class |
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2501
    classObject := classLoader 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2502
                perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2503
                with: (Java as_String: (className asDottedJavaClassName)).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2504
    class := self classForJavaClassObject: classObject.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2505
    class classLoader ifNil: [self breakPoint:#mh].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2506
    ^ class.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2507
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2508
    "Created: / 02-11-2011 / 16:20:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2509
! !
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  2510
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2511
!JavaVM class methodsFor:'debugging support'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2512
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2513
exceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2514
    ^ ExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2515
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2516
    "Created: / 27.1.1999 / 20:14:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2517
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2518
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2519
exceptionDebug:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2520
    ExceptionDebug := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2521
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2522
    "Created: / 27.1.1999 / 20:15:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2523
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2524
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2525
exceptionDebugPatterns
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2526
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2527
    ^ ExceptionDebugPatterns
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  2528
    "
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2529
    ExceptionDebug must be set in order to ExceptionDebugPatterns work
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2530
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2531
    ExceptionDebug := true.
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  2532
    ExceptionDebugPatterns add: 'java/lang/SecurityException*'
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  2533
    ExceptionDebugPatterns add: 'java/net/ConnectException*'
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  2534
    ExceptionDebugPatterns add: 'java/lang/IllegalArgumentException'
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  2535
    "
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2536
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2537
    "Created: / 25-02-2011 / 08:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2538
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2539
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2540
!JavaVM class methodsFor:'defaults'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2541
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2542
audioEnabled
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2543
    ^ NoAudio not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2544
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2545
    "Created: / 18.7.1998 / 22:31:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2546
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2547
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2548
audioEnabled:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2549
    NoAudio := aBoolean not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2551
    "Created: / 18.7.1998 / 22:31:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2552
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2553
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2554
defaultCLASSPATH
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2555
    |s|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2556
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2557
    s := '' writeStream.
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2558
    Java classPath 
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2559
        do:[:p | s nextPutAll:p ]
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2560
        separatedBy: [s nextPut: OperatingSystem pathSeparator].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2561
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2562
    ^ s contents
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2563
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2564
    "
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2565
     self defaultCLASSPATH      
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2566
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2567
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2568
    "Created: / 03-01-1998 / 14:27:21 / cg"
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  2569
    "Modified: / 30-10-2011 / 21:21:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2570
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2571
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2572
defaultExtDirs
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2573
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2574
    ^String streamContents:[:s|
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2575
        Java javaExtDirs do:[:dir|
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2576
            s nextPutAll: dir pathName.
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2577
        ] separatedBy:[
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2578
            s nextPut: OperatingSystem pathSeparator.
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2579
        ]
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2580
    ]
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2581
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2582
    "
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2583
    JavaVM defaultExtDirs
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2584
    "
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2585
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2586
    "Created: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2587
!
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2588
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2589
defaultHotJavaHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2590
    ^ '/usr/local/java/hotjava'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2591
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2592
    "Modified: / 5.8.1997 / 04:13:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2593
    "Created: / 3.1.1998 / 14:27:34 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2594
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2595
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2596
defaultJAVAHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2597
    ^ Java javaHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2598
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2599
    "Modified: / 6.8.1997 / 00:54:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2600
    "Created: / 3.1.1998 / 14:27:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2601
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2602
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2603
defaultJWSHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2604
    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2605
	^ '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2606
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2607
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2608
    ^ '/usr/local/java/JWS'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2609
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2610
    "Created: / 3.1.1998 / 14:27:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2611
    "Modified: / 3.12.1998 / 14:54:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2612
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2613
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2614
defaultJavaLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2615
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2616
    | dirs |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2617
    dirs := OrderedCollection new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2618
            add: Java release javaHome asFilename / 'lib';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2619
            add: Java release javaHome asFilename / 'lib' / 'amd64';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2620
            add: Java release javaHome asFilename / 'lib' / 'i386';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2621
            add: Java release javaHome asFilename / 'jre' / 'lib' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2622
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'amd64'  ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2623
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'i386' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2624
            add: Java release javaHome asFilename / 'jre' / 'bin' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2625
            yourself.
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2626
    OperatingSystem isMSWINDOWSlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2627
        dirs
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2628
            add: Java release javaHome asFilename / 'bin'.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2629
    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2630
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2631
    ^String streamContents:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2632
        [:path|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2633
        (dirs select:[:d|d exists])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2634
            do:[:d|path nextPutAll:d pathName]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2635
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2636
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2637
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2638
        JavaVM defaultJavaLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2639
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2640
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2641
    "Created: / 10-12-2010 / 14:09:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2642
    "Modified: / 01-04-2011 / 18:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2643
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2644
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2645
defaultSunBootLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2646
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2647
    | dirs |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2648
    dirs := OrderedCollection new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2649
            add: Java release javaHome asFilename / 'lib';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2650
            add: Java release javaHome asFilename / 'lib' / 'amd64';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2651
            add: Java release javaHome asFilename / 'lib' / 'i386';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2652
            add: Java release javaHome asFilename / 'jre' / 'lib' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2653
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'amd64'  ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2654
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'i386' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2655
            yourself.
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2656
    OperatingSystem isMSWINDOWSlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2657
        dirs
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2658
            add: Java release javaHome asFilename / 'bin'.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2659
    ].
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2660
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2661
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2662
    ^String streamContents:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2663
        [:path|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2664
        (dirs select:[:d|d exists])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2665
            do:[:d|path nextPutAll:d pathName]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2666
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2667
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2668
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2669
        JavaVM defaultJavaLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2670
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2671
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2672
    "Created: / 10-12-2010 / 14:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2673
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2674
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2675
defaultWindowingToolKit
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2676
    "/ prefer the windows toolkit ...
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2677
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2678
    (self classForName: 'sun.awt.windows.WToolkit') notNil ifTrue: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2679
        ^ 'sun.awt.windows.WToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2680
    ].
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2681
    (Java classForName: 'sun.awt.motif.MToolkit') notNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2682
        self halt: 'MotifToolKit: this is untested code'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2683
        ^ 'sun.awt.motif.MToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2684
    ].
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2685
    self halt: 'TinyToolKit: this is untested code'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2686
    ^ 'sun.awt.tiny.TinyToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2687
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2688
    "/    ^ 'sun.awt.win32.MToolkit'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2689
    "/    ^ 'sun.awt.motif.MToolkit'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2690
    "
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2691
     self defaultWindowingToolKit"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2692
    "Created: / 3.1.1998 / 14:27:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2693
    "Modified: / 27.1.1998 / 21:52:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2694
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2695
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2696
fileAccessTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2697
    ^ FileAccessTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2698
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2699
    "Created: / 27.1.1999 / 18:55:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2700
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2701
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2702
fileAccessTrace:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2703
    FileAccessTrace := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2705
    "Created: / 19.10.1998 / 16:01:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2706
    "Modified: / 27.1.1999 / 18:55:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2707
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2708
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2709
fileOpenConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2710
    ^ FileOpenConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2712
    "Created: / 19.10.1998 / 16:01:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2713
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2714
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2715
fileOpenConfirmation:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2716
    FileOpenConfirmation := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2717
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2718
    "Created: / 19.10.1998 / 16:01:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2719
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2720
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2721
javaConsole:aStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2722
    JavaConsoleStream := aStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2724
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2725
     JavaVM javaConsole:Transcript
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2726
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2727
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2728
    "Modified: / 6.8.1997 / 00:34:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2729
    "Created: / 3.1.1998 / 14:27:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2730
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2731
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2732
javaConsoleStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2733
    ^ JavaConsoleStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2734
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2735
    "Created: / 3.1.1998 / 14:32:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2736
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2737
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2738
nullPointerExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2739
    ^ NullPointerExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2740
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2741
    "Created: / 27.1.1999 / 20:14:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2742
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2743
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2744
nullPointerExceptionDebug:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2745
    NullPointerExceptionDebug := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2746
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2747
    "Created: / 27.1.1999 / 20:15:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2748
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2749
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2750
socketConnectConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2751
    ^ SocketConnectConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2753
    "Created: / 19.10.1998 / 16:02:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2754
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2755
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2756
socketConnectConfirmation:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2757
    SocketConnectConfirmation := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2758
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2759
    "Created: / 19.10.1998 / 16:02:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2760
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2761
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2762
!JavaVM class methodsFor:'fileIO'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2764
addOpenFile:aStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2765
    OpenFileTable add:aStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2766
    ^ OpenFileTable size - 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2767
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2768
    "Created: / 2.1.1998 / 18:32:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2769
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2771
getOpenFileAt:idx
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2772
    ^ OpenFileTable at:idx+1 ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2773
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2774
    "Created: / 2.1.1998 / 18:28:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2775
    "Modified: / 2.1.1998 / 18:33:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2776
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2777
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2778
setOpenFile:aStream at:idx
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2779
    OpenFileTable size < (idx+1) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2780
	OpenFileTable grow:idx+1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2781
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2782
    OpenFileTable at:idx+1 put:aStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2783
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2784
    "Modified: / 2.1.1998 / 18:33:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2785
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2786
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2787
!JavaVM class methodsFor:'helpers'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2788
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2789
canCast: s to: t 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2790
    "Helper for _CHECKCAST:_:"
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2791
    
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2792
    | sc  tc |
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2793
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2794
    "Not specified in JVM spec, sigh"
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2795
    s isJavaPrimitiveType ifTrue: [
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2796
        "FIXME"
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2797
        ^ s == t
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2798
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2799
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2800
     Java VM Spec, 3rd edition, p 280:
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2801
     
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2802
     The following rules are used to determine whether an objectref that is not
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2803
     null can be cast to the resolved type: if S is the class of the object
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2804
     referred to by objectref and T is the resolved class, array, or interface type,
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2805
     checkcast determines whether objectref can be cast to type T as follows:
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2806
     
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2807
     - If S is an ordinary (nonarray) class, then:
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2808
     - If T is a class type, then S must be the same class as T, or a subclass
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2809
     of T.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2810
     - If T is an interface type, then S must implement interface T.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2811
    "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2812
    (s isJavaArrayClass not and: [ s isInterface not ]) ifTrue: [
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2813
        ^ (s includesBehavior: t).
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2814
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2815
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2816
     - If S is an interface type, then:
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2817
     - If T is a class type, then T must be Object.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2818
     - If T is an interface type, then T must be the same interface as S or a
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2819
     superinterface of S.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2820
    "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2821
    s isInterface ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2822
        ^ t isInterface not 
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2823
            ifTrue: [ t == (self classForName: 'java.lang.Object') ]
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2824
            ifFalse: [ s includesBehavior: t ]
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2825
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2826
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2827
     - If S is a class representing the array type SC[], that is, an array of com-
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2828
     ponents of type SC , then:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2829
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2830
    self assert: s isJavaArrayClass description: 'S should be array type'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2831
    sc := s javaComponentClass.
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2832
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2833
     - If T is a class type, then T must be Object.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2834
    "
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2835
    t isJavaClassType ifTrue: [ ^ (sc == t) or: [t == (self classForName: 'java.lang.Object') ]].
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2836
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2837
     - If T is an array type TC[], that is, an array of components of type TC ,
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2838
     then one of the following must be true:
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2839
     - TC and SC are the same primitive type.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2840
     - TC and SC are reference types, and type SC can be cast to TC by
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2841
     recursive application of these rules.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2842
    "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2843
    t isJavaArrayClass ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2844
        tc := t javaComponentClass.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2845
        ^ tc isJavaPrimitiveType 
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2846
            ifTrue: [ tc == sc ]
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2847
            ifFalse: [ self canCast: sc to: tc ]
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2848
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2849
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2850
     - If T is an interface type, T must be one of the interfaces implemented
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2851
     by arrays (JLS3 4.10.3).
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2852
    "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2853
    ((t name == #'java/lang/Cloneable') 
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2854
        or: [ t name == #'java/lang/Serializable' ]) ifTrue: [ ^ true ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  2855
    ^ false
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2857
    "Modified: / 09-01-1999 / 00:45:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2858
    "Created: / 11-02-2011 / 08:21:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
915
vranyj1
parents: 914
diff changeset
  2859
    "Modified: / 14-08-2011 / 23:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2860
    "Modified: / 21-10-2011 / 13:50:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2861
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2862
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2863
javaArrayClassFor:aClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2864
    ^ self reflection javaArrayClassObjectForClass:aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2865
        ifAbsentPut:[JavaArray javaArrayClassFor:aClass]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2866
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2867
    "Created: / 17-12-2010 / 13:46:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2868
    "Modified: / 28-01-2011 / 14:59:16 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2869
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2870
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2871
javaStringObjectForString:string 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2872
    self breakPoint:#mh info:'refactor my sender to use reflection directly'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2873
    ^ self reflection javaStringObjectForString:string interned:false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2874
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2875
    "Created: / 22-11-2010 / 16:31:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2876
    "Modified: / 09-02-2011 / 00:47:49 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2877
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2878
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2879
javaStringObjectForString:string interned:intern 
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  2880
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2881
    ^self reflection javaStringObjectForString:string interned:intern.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2882
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2883
    "Created: / 22-11-2010 / 16:28:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2884
    "Modified: / 22-11-2010 / 17:57:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2885
    "Modified: / 09-02-2011 / 01:04:21 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2886
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2887
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2888
javaThreadForSTProcess:stProcess
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2889
    |t|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2890
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2891
    t := Java threads keyAtValue:stProcess ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2892
    t == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2893
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2894
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2895
    ^ t
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2897
    "Modified: / 26.8.1997 / 19:56:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2898
    "Created: / 3.1.1998 / 01:53:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2899
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2900
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2901
makeArrayOf: loadedJavaClass asDescribedBy: className 
1041
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2902
    | arrayClass  dimensions |
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2903
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2904
    arrayClass := loadedJavaClass.
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2905
    dimensions := className occurrencesOf: $[.
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2906
        arrayClass isJavaArrayClass ifTrue: [
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2907
        "is already array (primitive arrays case, like ByteArray etc)"
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2908
        dimensions := dimensions - 1.
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2909
    ].
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2910
    dimensions timesRepeat: [ arrayClass := arrayClass javaArrayClass. ].
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2911
        ^ arrayClass.
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2912
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2913
    "Created: / 21-10-2011 / 12:18:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1041
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  2914
    "Modified (format): / 23-10-2011 / 22:30:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2915
!
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  2916
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2917
newThread: name 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2918
    | thread  threadClass  i |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2919
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2920
    threadClass := JavaVM classForName: 'java.lang.Thread'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2921
    thread := threadClass basicNew.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2922
    thread instVarNamed: 'name' put: (Java as_String: name).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2923
    thread instVarNamed: 'priority'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2924
        put: (threadClass instVarNamed: 'NORM_PRIORITY').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2925
    thread instVarNamed: 'single_step' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2926
    thread instVarNamed: 'daemon' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2927
    thread instVarNamed: 'stillborn' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2928
    thread instVarNamed: 'target' put: nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2929
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2930
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2931
    "/ that on was only temporarily present in JDK1.1.3 (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2932
    "/
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2933
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2934
    (i := thread class instVarOffsetOf: 'initial_stack_memory') notNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2935
        thread instVarAt: i put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2936
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2937
    thread instVarNamed: 'group' put: (self standardThreadGroup).
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2938
    ^ thread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2939
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2940
    "Created: / 3.1.1998 / 01:47:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2941
    "Modified: / 27.1.1998 / 00:54:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2942
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2943
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2944
stProcessForJavaThread:jThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2945
    |p|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2946
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2947
    p := Java threads at:jThread ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2948
    p == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2949
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2950
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2951
    ^ p
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2952
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2953
    "Created: / 2.1.1998 / 21:48:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2954
    "Modified: / 3.1.1998 / 01:53:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2955
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2956
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2957
standardThreadGroup
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2958
    | standardGroup  threadClass |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2959
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2960
    StandardThreadGroup isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2961
        threadClass := JavaVM classForName: 'java.lang.Thread'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2962
        standardGroup := (self classForName: 'java.lang.ThreadGroup') new.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2963
        standardGroup instVarNamed: 'parent' put: nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2964
        standardGroup instVarNamed: 'name' put: (Java as_String: 'main').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2965
        standardGroup instVarNamed: 'maxPriority'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2966
            put: (threadClass instVarNamed: 'MAX_PRIORITY').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2967
        standardGroup instVarNamed: 'destroyed' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2968
        standardGroup instVarNamed: 'daemon' put: nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2969
        (standardGroup class instVarOffsetOf: 'vmAllowSuspension') notNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2970
            standardGroup instVarNamed: 'vmAllowSuspension' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2971
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2972
        standardGroup instVarNamed: 'nthreads' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2973
        standardGroup instVarNamed: 'ngroups' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  2974
        standardGroup instVarNamed: 'groups' put: nil.
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2975
        StandardThreadGroup := standardGroup.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2976
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2977
    ^ StandardThreadGroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2978
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2979
    "Created: / 03-01-1998 / 01:41:54 / cg"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2980
    "Modified: / 17-11-1998 / 22:55:30 / cg"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2981
    "Modified: / 25-04-2011 / 20:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2982
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2983
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2984
threadStart:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2985
    "start the thread"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2986
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2987
    |jThread jName name stProcess helper |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2988
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2989
    jThread := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2990
    (jThread instVarNamed:'priority') < 1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2991
        self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2992
        jThread instVarNamed:'priority' put:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2993
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2994
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2995
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2996
    stProcess := JavaProcess 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2997
                    for: (helper := JavaProcess newHelper)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2998
                    priority:(Processor activePriority).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2999
    helper javaThreadObject: jThread.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3000
    helper javaProcess: stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3001
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3002
    jName := jThread instVarNamed:'name'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3003
    jName isString ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3004
        name := Java as_ST_String:jName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3005
    ] ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3006
        name := jName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3007
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3008
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3009
    "/ kludge - remember the ScreenUpdater ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3010
    name = 'Screen Updater' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3011
        JavaScreenUpdaterThread := stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3012
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3013
        name = 'AWT-Windows' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3014
            JavaEventThread := stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3015
        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3016
            (name startsWith:'AWT-EventQueue') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3017
                JavaEventQueueThread := stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3018
            ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3019
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3020
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3021
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3022
"/name = 'UserDialogShowThread' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3023
"/self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3024
"/].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3025
    "/ when that process terminates, wakup any waiters
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3026
    "/stProcess addExitAction:[self wakeup:jThread].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3027
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3028
    stProcess name:'JAVA-' , name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3029
    stProcess restartable:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3030
    stProcess resume.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3031
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3032
    Java threads at:jThread put:stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3034
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3035
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3036
    "Modified: / 24-12-1999 / 03:14:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3037
    "Created: / 14-12-2010 / 21:31:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3038
    "Modified: / 15-12-2010 / 11:19:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3039
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3040
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3041
wakeup:anObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3042
    JavaVM releaseAndSignalSemaphoreFor:anObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3043
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3044
    "Created: / 3.1.1998 / 02:29:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3045
    "Modified: / 3.1.1998 / 03:08:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3046
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3047
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3048
wakeupAll:anObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3049
    JavaVM releaseAndSignalForAllSemaphoreFor:anObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3050
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3051
    "Created: / 3.1.1998 / 03:07:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3052
    "Modified: / 3.1.1998 / 03:08:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3053
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3054
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3055
!JavaVM class methodsFor:'helpers - awt'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3056
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3057
commonReshapeComponent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3058
    |view x y width height ext menu|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3059
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3060
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3061
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3062
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3063
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3064
    width := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3065
    height := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3066
    ext := width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3067
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3068
"/    'pReshape ' print. view print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3069
"/    ' ' print. x print. '/' print. y print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3070
"/    ' extent: ' print. ext printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3071
    view isPopUpView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3072
	view origin:x@y extent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3073
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3074
	(view isTopView 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3075
	or:[view isMemberOf:JavaEmbeddedFrameView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3076
	    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3077
	    "/ dont allow setting the origin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3078
	    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3079
	    menu := self topViewsMenu:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3080
	    menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3081
		"/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3082
		height := height + menu height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3083
		ext := width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3084
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3085
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3086
	    "/ to prevent a view from not being visible/closable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3087
	    "/ in case Java goes mad ..
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3088
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3089
	    (width < 30
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3090
	    or:[height < 10]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3091
		"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3092
		width := 30.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3093
		height := 20.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3094
		ext := width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3095
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3096
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3097
	    view extent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3098
	    (view isKindOf:ModalBox) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3099
		view preferredExtent:ext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3100
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3101
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3102
	    "/ adjust non-resizable views min/max
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3103
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3104
	    view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3105
		view minExtent notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3106
		    view minExtent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3107
		    view maxExtent:ext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3108
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3109
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3110
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3111
	    (view superView notNil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3112
	    and:[view superView isTopView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3113
		menu := self topViewsMenu:view superView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3114
		menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3115
		    "/ must add menus height to yPos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3116
		    y := y + menu height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3117
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3118
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3119
		"/ post a configuration event
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3120
		EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3121
		    'JAVA: configure: need event' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3122
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3123
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3124
	    (x isNil or:[y isNil]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3125
		Transcript showCR:'bad args to reshape'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3126
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3127
		view origin:x@y extent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3128
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3129
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3130
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3131
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3132
    view isJavaView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3133
	view invalidate.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3134
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3135
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3136
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3137
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3138
    "Created: / 4.1.1998 / 18:00:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3139
    "Modified: / 5.12.1998 / 13:34:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3140
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3141
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3142
createdWindowsView:aView for:aJavaPeer
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3143
    "this is only sent with the sun.awt.windows toolkit"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3144
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3145
    aJavaPeer instVarNamed:'pData' put:aView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3146
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3147
    JavaWindowGroup isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3148
	JavaWindowGroup := WindowGroup new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3149
	JavaWindowGroup isForModalSubview:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3150
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3151
    aView windowGroup:JavaWindowGroup.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3152
    JavaWindowGroup addView:aView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3153
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3154
    KnownWindows isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3155
	KnownWindows := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3156
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3157
    KnownWindows at:aJavaPeer put:aView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3158
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3159
    FirstWindowCreationSemaphore signalIf.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3160
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3161
"/'*** ' print. aJavaPeer print. ' -> ' print. aView printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3162
"/(aView isKindOf:ModalBox) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3163
"/    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3164
"/].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3165
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3166
    "Created: / 4.1.1998 / 17:57:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3167
    "Modified: / 28.1.1998 / 22:40:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3168
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3169
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3170
gcForWGraphics:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3171
    |jGraphics gc orgX orgY trans tX tY|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3172
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3173
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3174
    O_WGgraphics_pData isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3175
	O_WGgraphics_pData := (jGraphics class instVarOffsetOf:'pData').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3176
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3177
    O_WGgraphics_originX isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3178
	O_WGgraphics_originX := (jGraphics class instVarOffsetOf:'originX').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3179
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3180
    O_WGgraphics_originY isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3181
	O_WGgraphics_originY := (jGraphics class instVarOffsetOf:'originY').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3182
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3183
    gc := jGraphics instVarAt:O_WGgraphics_pData.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3185
    trans := gc translation.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3186
    tX := trans x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3187
    tY := trans y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3188
"/    tX := gc translationX.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3189
"/    tY := gc translationY.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3190
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3191
    orgX := jGraphics instVarAt:O_WGgraphics_originX.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3192
    orgY := jGraphics instVarAt:O_WGgraphics_originY.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3193
    ((orgX ~~ tX) or:[orgY ~~ tY]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3194
	gc translation:orgX@orgY
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3195
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3196
    ^ gc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3197
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3198
    "Created: / 8.1.1998 / 00:16:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3199
    "Modified: / 23.12.1998 / 20:27:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3200
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3201
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3202
jPeerForView:aView
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3203
    ^ KnownWindows keyAtValue:aView ifAbsent:nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3204
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3205
    "Created: / 15.1.1998 / 13:48:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3206
    "Modified: / 15.1.1998 / 13:48:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3207
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3208
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3209
pReshape:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3210
    |jFramePeer view x y width height menu|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3211
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3212
    jFramePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3213
    view := jFramePeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3214
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3215
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3216
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3217
    width := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3218
    height := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3219
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3220
"/    'pReshape ' print. view print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3221
"/    ' ' print. x print. '/' print. y print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3222
"/    ' extent: ' print. width print. '/' print. height printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3224
    view isPopUpView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3225
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3226
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3227
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3228
    (view isTopView 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3229
    or:[view isMemberOf:JavaEmbeddedFrameView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3230
	"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3231
	"/ dont allow setting the origin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3232
	"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3233
	menu := self topViewsMenu:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3234
	menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3235
	    "/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3236
	    height := height + menu height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3237
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3238
	view extent:width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3239
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3240
	(view superView notNil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3241
	and:[view superView isTopView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3242
	    menu := self topViewsMenu:view superView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3243
	    menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3244
		"/ must add menus height to yPos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3245
		y := y + menu height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3246
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3247
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3248
	view origin:x@y extent:width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3249
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3250
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3251
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3253
    "Created: / 7.1.1998 / 21:47:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3254
    "Modified: / 5.12.1998 / 13:47:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3255
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3256
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3257
replacementFontFor:name style:styleNr size:size
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3258
    |font family style|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3259
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3260
    style := 'roman'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3261
    styleNr = 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3262
        style := 'roman'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3263
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3264
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3265
    font := Font family:name style:style size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3266
    font notNil ifTrue:[^ font].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3267
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3268
    name = 'Dialog' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3269
        family := 'helvetica'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3270
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3271
        family := 'courier'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3272
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3273
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3274
    ^ Font family:name style:style size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3275
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3276
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3277
topViewsMenu:view
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3278
    |idx|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3279
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3280
    view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3281
	view subViews size > 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3282
	    (idx := view subViews findFirst:[:v | v isMemberOf:MenuPanel]) ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3283
		"/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3284
		^ view subViews at:idx
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3285
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3286
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3287
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3288
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3289
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3290
    "Modified: / 4.8.1997 / 01:23:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3291
    "Created: / 4.1.1998 / 18:01:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3292
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3293
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3294
viewForWPeer:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3295
    |jPeer|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3297
    jPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3298
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3299
    "/ sigh; pData was renamed to pNativeWidget in jdk1.2 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3300
    O_FramePeer_pNativeWidget isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3301
	O_FramePeer_pNativeWidget := (jPeer class instVarOffsetOf:'pNativeWidget').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3302
	O_FramePeer_pNativeWidget isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3303
	    O_FramePeer_pNativeWidget := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3304
	    O_FramePeer_pData isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3305
		O_FramePeer_pData := (jPeer class instVarOffsetOf:'pData').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3306
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3307
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3308
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3309
    O_FramePeer_pNativeWidget > 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3310
	"/ ok, we are < 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3311
	^ jPeer instVarAt:O_FramePeer_pNativeWidget.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3312
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3313
    ^ jPeer instVarAt:O_FramePeer_pData.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3314
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3315
    "Modified: / 19.11.1998 / 01:43:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3316
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3317
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3318
!JavaVM class methodsFor:'helpers - exceptions'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3319
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3320
throwAbstractMethodError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3321
    ^ self throwExceptionClassName: 'java.lang.AbstractMethodError'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3322
        withMessage: 'resolving a method ref failed'.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3323
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3324
    "Created: / 11-04-2011 / 20:32:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3325
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3326
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3327
throwArrayIndexOutOfBoundsException: badIndex 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3328
    | exClass  ex |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3329
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3330
    exClass := self classForName: 'java.lang.ArrayIndexOutOfBoundsException'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3331
    ex := exClass newWith_int: badIndex.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3332
    ^ self throwException: ex
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3333
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3334
    "Created: / 14.1.1998 / 21:36:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3335
    "Modified: / 20.11.1998 / 13:27:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3336
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3337
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3338
throwArrayIndexOutOfBoundsException: theArray _: badIndex 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3339
    | exClass  ex |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3340
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3341
    exClass := self classForName: 'java.lang.ArrayIndexOutOfBoundsException'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3342
    ex := exClass newWith_int: badIndex.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3343
    ^ self throwException: ex
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3344
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3345
    "Modified: / 20.11.1998 / 13:27:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3346
    "Created: / 8.1.1999 / 15:03:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3347
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3349
throwArrayStoreException:badArray
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3350
    ^ self
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3351
        throwExceptionClassName:'java.lang.ArrayStoreException'
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3352
         withMessage:('bad array store: ' , badArray class printString)
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3353
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3354
    "Modified: / 23-06-2011 / 09:19:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3355
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3356
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3357
throwClassCastException
1041
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  3358
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  3359
    self breakPoint: #mh.    
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  3360
    ^ self throwExceptionClassName: 'java.lang.ClassCastException'
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  3361
        withMessage: 'cast failed'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3362
1041
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  3363
    "Modified: / 07-01-1998 / 15:25:35 / cg"
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  3364
    "Created: / 08-01-1999 / 18:55:31 / cg"
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  3365
    "Modified (format): / 23-10-2011 / 22:33:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3366
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3367
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3368
throwClassFormatError
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3369
    ^ self throwClassFormatError: 'Invalid class format'
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3370
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3371
    "Created: / 04-01-1998 / 22:26:09 / cg"
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3372
    "Modified: / 10-11-1998 / 13:20:31 / cg"
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3373
    "Created: / 08-08-2011 / 17:57:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3374
!
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3375
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3376
throwClassFormatError: message
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3377
    ^ self 
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3378
        throwExceptionClassName:'java.lang.ClassFormatError' 
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3379
        withMessage: message
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3380
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3381
    "Created: / 04-01-1998 / 22:26:09 / cg"
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3382
    "Modified: / 10-11-1998 / 13:20:31 / cg"
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3383
    "Created: / 27-10-2011 / 16:20:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3384
!
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  3385
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3386
throwClassNotFoundException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3387
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3388
	throwExceptionClassName:'java.lang.ClassNotFoundException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3389
	withMessage:'no such class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3390
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3391
    "Created: / 4.1.1998 / 22:25:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3392
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3393
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3394
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3395
throwClassNotFoundException: className 
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3396
    ^ self throwExceptionClassName: 'java.lang.ClassNotFoundException'
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3397
        withMessage: 'no such class: ' , className
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3398
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3399
    "Created: / 4.1.1998 / 22:26:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3400
    "Modified: / 10.11.1998 / 13:20:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3401
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3402
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3403
throwDivisionByZeroException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3404
    DivisionByZeroExceptionDebug == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3405
	self halt:'division by zero'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3406
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3407
    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3408
	throwExceptionClassName:'java.lang.ArithmeticException'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3409
	withMessage:'division by zero'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3410
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3411
    "Created: / 8.1.1999 / 14:28:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3412
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3413
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3414
throwException: aJavaException 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3415
    <resource: #skipInDebuggersWalkBack>
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3416
    | con  jMsg  msg  exClass  srchCon  handlerContext  handlerPC  method  pc  hPC  monitorObject |
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3417
    ExceptionTrace ifTrue: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3418
        | tmpMessage |
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3419
        tmpMessage := aJavaException instVarNamed: 'detailMessage'.
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3420
        tmpMessage isNil ifTrue: [ tmpMessage := '' ] ifFalse: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3421
            tmpMessage := Java as_ST_String: tmpMessage
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3422
        ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3423
        Logger 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3424
            log: 'JAVA: exception: ' , aJavaException class fullName , ' (' 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3425
                    , tmpMessage , ')'
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3426
            severity: #debug
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3427
            facility: 'JVM'
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3428
    ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3429
    ExceptionDebug ifTrue: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3430
        "/        self internalError:('JAVA: exception: ' , aJavaException class fullName).        
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3431
        (ExceptionDebugPatterns isNilOrEmptyCollection 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3432
            or: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3433
                ExceptionDebugPatterns 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3434
                    anySatisfy: [:pattern | pattern match: aJavaException class fullName ]
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3435
            ]) 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3436
                ifTrue: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3437
                    self halt: ('JAVA: exceptionDebug: ' , aJavaException class fullName)
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3438
                ]
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3439
    ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3440
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3441
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3442
    "/ search stack for a javaContext which handles that exception
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3443
    "/
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3444
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3445
    srchCon := thisContext sender.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3446
    [ handlerContext isNil and: [ srchCon notNil ] ] whileTrue: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3447
        (srchCon isJavaContext) ifTrue: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3448
            method := srchCon method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3449
            pc := srchCon pc.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3450
            (hPC := method handlerFor: aJavaException at: pc) notNil ifTrue: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3451
                "JV@2011-02-25: Another crap in JVM and Java VM Spec?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3452
                 Or theri proxu generator? Assume that if athrow's pc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3453
                 is same as the handler's pc it means rethrow to
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3454
                 handling context - so DO NOT HANDLE IT!!"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3455
                "Hack disabled for now"
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3456
                "pc ~~ hPC"
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3457
                true ifTrue: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3458
                    handlerPC := hPC.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3459
                    handlerContext := srchCon
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3460
                ].
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3461
            ] ifFalse: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3462
                "/ on the fly, release any monitor
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3463
                method isSynchronized ifTrue: [
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3464
                    method isStatic ifTrue: [
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3465
                        self assert: srchCon receiver == method javaClass.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3466
                        monitorObject := method javaClass.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3467
                    ] ifFalse: [ monitorObject := srchCon receiver ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3468
                    self _MONITOREXIT: monitorObject
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3469
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3470
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3471
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3472
        srchCon := srchCon sender.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3473
    ].
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3474
    handlerContext isNil ifTrue: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3475
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3476
        "/ no JavaHandler ... let smalltalk handle it
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3477
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3478
        exClass := aJavaException class.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3479
        msg := 'Java ' , exClass name.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3480
        jMsg := aJavaException instVarNamed: 'detailMessage'.
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3481
        jMsg notNil ifTrue: [ msg := msg , ': ' , (Java as_ST_String: jMsg). ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3482
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3483
        "/ for our convenience: skip ST contexts 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3484
        "/ (i.e. the handler or debugger will see the javaContext first )
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3485
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3486
        con := thisContext sender.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3487
        [ con isNil or: [ con isJavaContext ] ] whileFalse: [ con := con sender ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3488
        con isNil ifTrue: [ con := thisContext sender ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3489
        JavaUnhandledExceptionError 
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3490
            raiseWith: aJavaException
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3491
            errorString: msg
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3492
            in: con.
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3493
    ] ifFalse: [
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3494
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3495
        "/ found a java exceptionHandler
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3496
        "/
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3497
        handlerContext setPC: handlerPC.
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3498
        handlerContext exceptionArg: aJavaException pc: handlerPC.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3499
        handlerContext markForException.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3500
        handlerContext unwindAndRestart.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3501
        self halt: 'should not be reached'.
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3502
    ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3503
    Processor activeProcess == JavaScreenUpdaterThread ifTrue: [ self halt ].
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3504
    Processor activeProcess == JavaEventQueueThread ifTrue: [ self halt ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3505
    Processor activeProcess terminate.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3506
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3507
    "
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3508
     ExceptionTrace := true"
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3509
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3510
    "Created: / 07-01-1998 / 15:28:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3511
    "Modified: / 24-12-1999 / 02:33:25 / cg"
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3512
    "Modified: / 10-08-2011 / 20:23:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  3513
    "Modified: / 03-11-2011 / 10:28:33 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3514
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3515
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3516
throwExceptionClassName: aJavaExceptionClassName withMessage: someMessage 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3517
    | exClass  ex |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3518
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3519
    exClass := self classForName: aJavaExceptionClassName asSlashedJavaClassName definedBy: nil.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3520
    ex := exClass newWith_String: someMessage.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  3521
    ^ self throwException: ex
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3522
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  3523
    "Created: / 07-01-1998 / 15:25:09 / cg"
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  3524
    "Modified: / 14-01-1998 / 23:38:30 / cg"
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  3525
    "Modified: / 30-10-2011 / 17:44:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3526
    "Modified: / 02-11-2011 / 16:54:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3527
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3528
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3529
throwExceptionInInitializerError:className
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3530
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3531
        throwExceptionClassName:'java.lang.ExceptionInInitializerError' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3532
        withMessage:'error when initializing class: ' , className
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3533
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3534
    "Created: / 24-11-2010 / 09:23:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3535
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3536
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3537
throwFileNotFoundException: message
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3538
    ^ self 
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3539
        throwExceptionClassName:'java.io.FileNotFoundException' 
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3540
        withMessage: message
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3541
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3542
    "Created: / 04-01-1998 / 22:26:09 / cg"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3543
    "Modified: / 10-11-1998 / 13:20:31 / cg"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3544
    "Created: / 10-08-2011 / 14:19:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3545
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3546
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3547
throwIOExceptionWithMessage:message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3548
    IOExceptionDebug == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3549
	self halt:'IO Exception'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3550
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3551
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3552
	throwExceptionClassName:'java.io.IOException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3553
	withMessage:message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3555
    "Created: / 7.1.1998 / 10:34:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3556
    "Modified: / 7.1.1998 / 15:26:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3557
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3558
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3559
throwIllegalAccessError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3560
    ^ self throwExceptionClassName: 'java.lang.IllegalAccessError'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3561
        withMessage: 'illegal access'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3562
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3563
    "Created: / 13-04-2011 / 23:07:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3564
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3565
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3566
throwIllegalAccessException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3567
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3568
	throwExceptionClassName:'java.lang.IllegalAccessException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3569
	withMessage:'illegal access'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3570
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3571
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3572
    "Created: / 14.1.1998 / 23:13:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3573
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3574
985
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3575
throwIllegalArgumentException: message
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3576
    ^ self 
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3577
        throwExceptionClassName:'java.lang.IllegalArgumentException' 
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3578
        withMessage:'illegal access'
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3579
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3580
    "Modified: / 07-01-1998 / 15:25:35 / cg"
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3581
    "Created: / 14-01-1998 / 23:13:44 / cg"
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3582
    "Created: / 07-09-2011 / 14:18:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3583
!
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3584
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3585
throwIncompatibleClassChangeError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3586
        ^ self throwExceptionClassName: 'java.lang.IncompatibleClassChangeError'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3587
                withMessage: 'illegal change'.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3588
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3589
    "Created: / 11-04-2011 / 20:03:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3590
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3591
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3592
throwInstantiationException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3593
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3594
	throwExceptionClassName:'java.lang.InstantiationException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3595
	withMessage:'cannot instantiate'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3596
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3597
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3598
    "Created: / 14.1.1998 / 23:15:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3599
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3600
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3601
throwInstantiationExceptionFor:aJavaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3602
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3603
        throwExceptionClassName:'java.lang.InstantiationException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3604
        withMessage:('cannot instantiate: ' , aJavaClass javaName)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3605
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3606
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3607
    "Created: / 14.1.1998 / 23:17:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3608
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3609
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3610
throwLinkageError: message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3611
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3612
        throwExceptionClassName:'java.lang.LinkageError' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3613
        withMessage: message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3614
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3615
    "Modified: / 10-11-1998 / 13:20:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3616
    "Created: / 26-11-2010 / 11:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3617
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3618
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3619
throwNoSuchFieldException
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3620
  ^ self throwExceptionClassName: 'java.lang.NoSuchFieldError'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3621
        withMessage: 'looking up a field failed'.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3622
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3623
    "Created: / 13-04-2011 / 12:16:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3624
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3625
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3626
throwNoSuchMethodError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3627
      ^ self throwExceptionClassName: 'java.lang.NoSuchMethodError'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3628
              withMessage: 'looking up a method failed'.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3629
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3630
    "Created: / 11-04-2011 / 20:33:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3631
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3632
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3633
throwNullPointerException
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  3634
    NullPointerExceptionDebug == true ifTrue:[
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3635
        self halt:'Null Pointer exception'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3636
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3637
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3638
    ^ self 
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3639
        throwExceptionClassName:'java.lang.NullPointerException' 
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3640
        withMessage:'null pointer'
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3641
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3642
    "Created: / 09-01-1998 / 02:26:08 / cg"
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3643
    "Modified: / 28-01-1998 / 02:30:09 / cg"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  3644
    "Modified: / 13-08-2011 / 01:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3645
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3646
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3647
throwNumberFormatException 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3648
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3649
	throwExceptionClassName:'java.lang.NumberFormatException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3650
	withMessage:'bad number format'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3651
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3652
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3653
    "Created: / 11.1.1998 / 16:08:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3654
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3655
943
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3656
throwOutOfMemoryError
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3657
    ^ self 
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3658
        throwExceptionClassName:'java.lang.OutOfMemoryError' 
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3659
        withMessage:'Oops, out of memory!!'
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3660
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3661
    "Created: / 04-01-1998 / 22:26:09 / cg"
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3662
    "Modified: / 10-11-1998 / 13:20:31 / cg"
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3663
    "Created: / 30-08-2011 / 09:23:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3664
!
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3665
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3666
throwSecurityException
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3667
    JavaClassReader classLoaderQuerySignal 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3668
        answer:  nil
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3669
        do: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3670
            ^ self throwExceptionClassName: 'java.lang.SecurityException'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3671
                withMessage: 'trying to load class from java.lang using different class loader?'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3672
        ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3673
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3674
    "Created: / 01-11-2011 / 15:55:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3675
!
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3676
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3677
throwSecurityExceptionWith: message 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3678
    JavaClassReader classLoaderQuerySignal answer: nil
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3679
        do: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3680
            ^ self throwExceptionClassName: 'java.lang.SecurityException'
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3681
                withMessage: 'trying to load class from java.lang: ' , message.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3682
        ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3683
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3684
    "Created: / 01-11-2011 / 16:28:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3685
!
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  3686
1084
vranyj1
parents: 1083
diff changeset
  3687
throwSocketException: message 
vranyj1
parents: 1083
diff changeset
  3688
    JavaClassReader classLoaderQuerySignal answer: nil
vranyj1
parents: 1083
diff changeset
  3689
        do: [
vranyj1
parents: 1083
diff changeset
  3690
            ^ self throwExceptionClassName: 'java.net.SocketException'
vranyj1
parents: 1083
diff changeset
  3691
                withMessage: message
vranyj1
parents: 1083
diff changeset
  3692
        ].
vranyj1
parents: 1083
diff changeset
  3693
vranyj1
parents: 1083
diff changeset
  3694
    "Created: / 01-11-2011 / 16:28:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
vranyj1
parents: 1083
diff changeset
  3695
    "Created: / 03-11-2011 / 23:31:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 1083
diff changeset
  3696
!
vranyj1
parents: 1083
diff changeset
  3697
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3698
throwZipException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3699
    ^ self throwExceptionClassName: 'java.util.zip.ZipException'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3700
        withMessage: 'error in opening zip file'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3701
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3702
    "Created: / 27-03-2011 / 16:25:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3703
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3705
!JavaVM class methodsFor:'helpers - io'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3706
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3707
anyStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3708
    |jStream fileNo file|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3709
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3710
    jStream := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3712
    fileNo := self validateFileNo:jStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3713
    fileNo == 0 ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3714
        Logger log: 'JAVA: file is already closed'severity: #info facility: 'JVM'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3715
        ^ self    "/ already closed
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3716
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3717
    file := self getOpenFileAt:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3718
    file isNil ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3719
        self halt:'invalid fileNo in close'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3720
        self internalError:'invalid fileNo in close'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3721
        ^ self
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3722
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3724
    file == Stdin ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3725
        file := StdinReplacementFileQuerySignal raiseRequest.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3726
        file isNil ifTrue:[
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3727
            file := Stdin
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3728
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3729
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3730
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3731
    "/ should always be bytes
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3732
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3733
    (file ~~ Stdin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3734
    and:[file ~~ Stdout
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3735
    and:[file ~~ Stderr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3736
    and:[file ~~ Transcript]]]) ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3737
        file close.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3738
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3739
    self setOpenFile:nil at:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3740
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3741
    fileNo := jStream instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3742
    fileNo isInteger ifFalse:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3743
        "/ JDK 1.1.3
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3744
        fileNo instVarNamed:'fd' put:0.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3745
    ] ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3746
        "/ JDK 1.0
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3747
        jStream instVarNamed:'fd' put:0
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3748
    ].
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3749
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3750
    "Created: / 04-02-1998 / 15:22:03 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3751
    "Modified: / 14-10-1998 / 15:10:07 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3752
    "Modified: / 14-09-2011 / 22:04:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3753
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3754
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3755
anyStream_readBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3756
    |bytes offset count stream nRead|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3757
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3758
    bytes := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3759
    offset := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3760
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3761
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3762
    stream := self validateFile:(nativeContext receiver).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3764
    "/ should always be bytes
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3765
    bytes class isBytes ifFalse:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3766
        self halt.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3767
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3768
    stream == Stdin ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3769
        stream := StdinReplacementFileQuerySignal raiseRequest.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3770
        stream isNil ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3771
            ^ -1 "/ 0  EOF
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3772
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3773
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3774
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3775
    FileIOTrace ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3776
        ('JAVA: read ' , count printString , ' bytes from ' , stream pathName) infoPrintCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3777
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3778
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3779
    stream isPositionable ifFalse:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3780
        "/ mhmh - some kind of socket or pipe
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3781
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3782
        stream readWait.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3783
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3784
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3785
    count == 0 ifTrue:[^0].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3786
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3787
    Stream readErrorSignal handle:[:ex |
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3788
        nRead := -1
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3789
    ] do:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3790
        nRead := stream nextAvailableBytes:count into:bytes startingAt:offset+1.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3791
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3792
    nRead == 0 ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3793
        stream atEnd ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3794
            FileIOTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3795
                ('JAVA: at EOF ' , nRead printString) infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3796
            ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3797
            ^ -1
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3798
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3799
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3800
    count ~~ nRead ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3801
        FileIOTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3802
            ('JAVA: only got ' , nRead printString) infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3803
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3804
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3805
    ^ nRead
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3806
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3807
    "Created: / 04-02-1998 / 15:20:00 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3808
    "Modified: / 10-11-1998 / 19:56:47 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3809
    "Modified: / 10-08-2011 / 21:35:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3810
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3811
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3812
anyStream_writeBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3813
    |bytes offset count stream|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3814
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3815
    bytes := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3816
    offset := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3817
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3818
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3819
    stream := self validateFile:(nativeContext receiver).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3820
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3821
    FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3822
        stream isFileStream ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3823
            Logger log: ('write ' , count printString , ' bytes to ' , stream pathName) severity: #info facility: 'JVM'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3824
        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3825
            stream ~~ Stdout ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3826
                stream ~~ Stderr ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3827
                    Logger log: ('write ' , count printString , ' bytes to ' , stream displayString) severity: #info facility: 'JVM'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3828
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3829
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3830
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3831
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3832
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3833
    "/ should always be bytes
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3834
    Stream writeErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3835
        ex return
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3836
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3837
        Socket brokenConnectionSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3838
            ex return
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3839
        ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3840
            stream isBinary ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3841
                stream nextPutBytes:count from:bytes startingAt:offset+1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3842
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3843
                stream nextPutAll: (bytes asString copyFrom: offset + 1 to: offset + count).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3844
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3845
            
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3846
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3847
        stream == Transcript ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3848
            Transcript endEntry
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3849
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3850
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3851
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3852
    "Created: / 04-02-1998 / 15:23:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3853
    "Modified: / 16-02-1999 / 11:32:45 / cg"
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3854
    "Modified: / 14-09-2011 / 22:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3855
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3857
checkWritePermissionOfDirectory:dir message:msg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3858
    |answer|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3860
    (PermittedDirectories notNil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3861
    and:[PermittedDirectories includes:dir]) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3862
	FileOpenConfirmation ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3863
	    answer := Dialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3864
		    confirmWithCancel:msg withCRs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3865
			       labels:#('no' 'grant')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3866
			       values:#(false true)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3867
			      default:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3868
	    answer == false ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3869
		^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3870
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3871
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3872
	    (self confirm:('JAVA Security check\\Always permit writes in this directory (''' , dir pathName , ''') ?') withCRs)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3873
	    ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3874
		PermittedDirectories isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3875
		    PermittedDirectories := Set new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3876
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3877
		PermittedDirectories add:dir.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3878
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3879
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3880
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3881
    ^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3882
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3883
    "Created: / 3.12.1998 / 15:07:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3884
    "Modified: / 3.12.1998 / 15:16:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3885
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3886
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3887
commonClose:nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3888
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3889
    | fdobj fd stream |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3890
    fdobj := (nativeContext receiver instVarNamed: #fd).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3891
    fd    := fdobj instVarNamed: #fd.
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  3892
    fd == -1 ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  3893
        "Never opened or already closed"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  3894
        ^self.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  3895
    ].
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3896
    stream := self getOpenFileAt:fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3897
    stream notNil ifTrue:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3898
        stream close.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3899
    ] ifFalse:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3900
        self breakPoint: #jv.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3901
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3902
    self setOpenFile: nil at: fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3903
    fdobj instVarNamed:#fd put: -1.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3904
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3905
    "Created: / 10-08-2011 / 14:02:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3906
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3907
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3908
commonOpen:nativeContext forAppend:forAppend
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3909
    |fs fd fn name dir stream fileNo answer readonly|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3910
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3911
    fs := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3912
    fd := fs instVarNamed:'fd'.
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3913
    (fd instVarNamed:'fd') ~~ -1 ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3914
        "/self halt:'file already open'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3915
        self internalError:'file already open'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3916
        ^ self.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3917
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3918
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3919
    name := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3920
    name := Java as_ST_String:name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3921
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3922
    FileOpenTrace ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3923
        ('JAVA: opening ' , name) infoPrintCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3924
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3925
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  3926
    fn := name utf8Decoded asFilename.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3927
    dir := fn directory pathName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3928
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3929
    readonly := false.
904
vranyj1
parents: 903
diff changeset
  3930
"/    (PermittedDirectories notNil
vranyj1
parents: 903
diff changeset
  3931
"/    and:[PermittedDirectories includes:dir]) ifFalse:[
vranyj1
parents: 903
diff changeset
  3932
"/        FileOpenConfirmation ifTrue:[
vranyj1
parents: 903
diff changeset
  3933
"/            answer := Dialog 
vranyj1
parents: 903
diff changeset
  3934
"/                    confirmWithCancel:('JAVA Security check\\Opening ''' , name , ''' for read/write.\Grant permission ?') withCRs
vranyj1
parents: 903
diff changeset
  3935
"/                               labels:#('no' 'grant' 'readonly')
vranyj1
parents: 903
diff changeset
  3936
"/                               values:#(false true #readonly)
vranyj1
parents: 903
diff changeset
  3937
"/                              default:3.
vranyj1
parents: 903
diff changeset
  3938
"/            answer == false ifTrue:[
vranyj1
parents: 903
diff changeset
  3939
"/                self throwIOExceptionWithMessage:('no permission to open ' , name , ' for writing').
vranyj1
parents: 903
diff changeset
  3940
"/                ^ self
vranyj1
parents: 903
diff changeset
  3941
"/            ].
vranyj1
parents: 903
diff changeset
  3942
"/            readonly := (answer == #readonly).
vranyj1
parents: 903
diff changeset
  3943
"/
vranyj1
parents: 903
diff changeset
  3944
"/            readonly ifFalse:[
vranyj1
parents: 903
diff changeset
  3945
"/                (self confirm:('JAVA Security check\\Always permit writes in this directory (''' , dir , ''') ?') withCRs)
vranyj1
parents: 903
diff changeset
  3946
"/                ifTrue:[
vranyj1
parents: 903
diff changeset
  3947
"/                    PermittedDirectories isNil ifTrue:[
vranyj1
parents: 903
diff changeset
  3948
"/                        PermittedDirectories := Set new
vranyj1
parents: 903
diff changeset
  3949
"/                    ].
vranyj1
parents: 903
diff changeset
  3950
"/                    PermittedDirectories add:dir.
vranyj1
parents: 903
diff changeset
  3951
"/                ]
vranyj1
parents: 903
diff changeset
  3952
"/            ]
vranyj1
parents: 903
diff changeset
  3953
"/        ]
vranyj1
parents: 903
diff changeset
  3954
"/    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3955
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3956
    readonly ifTrue:[
904
vranyj1
parents: 903
diff changeset
  3957
        (fn exists and:[fn isReadable not]) ifTrue:[
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3958
            ^self throwFileNotFoundException: 'File is not readable'    
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3959
        ].
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3960
        stream := fn readStream.
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3961
    ] ifFalse:[    
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  3962
        fn exists ifFalse:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3963
            ^self throwFileNotFoundException: 'File does not exist'
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3964
        ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3965
        fn isDirectory ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3966
             ^self throwFileNotFoundException: 'File is directory'
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3967
        ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3968
        fn isWritable ifFalse:[
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3969
            ^self throwFileNotFoundException: 'File does not writable'    
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3970
        ].
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3971
        forAppend ifTrue:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3972
            stream := fn appendingWriteStream.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3973
        ] ifFalse:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3974
            stream := fn writeStream.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3975
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3976
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3977
    stream isNil ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3978
        self throwIOExceptionWithMessage:('cannot open ' , name , ' for writing').
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3979
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3980
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3981
    fileNo := self addOpenFile:stream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3982
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3983
    FileOpenTrace ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3984
        ('JAVA: opened ' , name , ' as FD ' , fileNo printString , ' for writing') infoPrintCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3985
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3986
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3987
    fd instVarNamed:'fd' put:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3988
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3989
    "Created: / 07-04-1998 / 19:14:09 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3990
    "Modified: / 04-01-1999 / 14:34:42 / cg"
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  3991
    "Modified: / 10-08-2011 / 23:49:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3992
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3993
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3994
fileStreamForReading:name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3995
    |fn stream tryAlongClassPath|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3996
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3997
    FileOpenTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3998
        ('JAVA: opening for read:' , name) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3999
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4000
    fn := name asFilename.
904
vranyj1
parents: 903
diff changeset
  4001
    fn exists  ifFalse:[
vranyj1
parents: 903
diff changeset
  4002
        ^self throwFileNotFoundException: 'File does not exists'
vranyj1
parents: 903
diff changeset
  4003
    ].
vranyj1
parents: 903
diff changeset
  4004
    fn isDirectory ifTrue:[
vranyj1
parents: 903
diff changeset
  4005
        ^self throwFileNotFoundException: 'File is directory'
vranyj1
parents: 903
diff changeset
  4006
    ].
vranyj1
parents: 903
diff changeset
  4007
    fn isReadable  ifFalse:[
vranyj1
parents: 903
diff changeset
  4008
        ^self throwFileNotFoundException: 'File is not readable'
vranyj1
parents: 903
diff changeset
  4009
    ].
vranyj1
parents: 903
diff changeset
  4010
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4011
    stream := fn readStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4012
    stream notNil ifTrue:[^ stream].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4013
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4014
    fn isAbsolute ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4015
        "/ if not absolute, try along classPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4016
        "/ This allows classes to open local files (JEdit)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4017
        "/ even if they have NOT been loaded by a Java classLoader.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4018
        "/ Only do this for image files 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4019
        "/ (and maybe some other config files in the future),
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4020
        "/ to avoid security holes.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4021
        tryAlongClassPath := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4022
"/        tryAlongClassPath := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4023
"/        (fn hasSuffix:'gif') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4024
"/            tryAlongClassPath := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4025
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4026
"/        (fn hasSuffix:'jpg') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4027
"/            tryAlongClassPath := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4028
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4030
        tryAlongClassPath ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4031
            Java effectiveClassPath do:[:dirName |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4032
                |fn|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4034
                (fn := dirName asFilename construct:name) exists ifTrue:[
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4035
                    fn isReadable ifFalse:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4036
                        self throwFileNotFoundException: 'File is not readable'.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4037
                        ^nil
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4038
                    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4039
                    stream := fn readStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4040
                    stream notNil ifTrue:[^ stream].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4041
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4042
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4043
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4044
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4045
    ^ nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4046
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4047
    "Modified: / 27-01-1999 / 18:54:46 / cg"
904
vranyj1
parents: 903
diff changeset
  4048
    "Modified: / 10-08-2011 / 19:22:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4049
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4050
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4051
fixFilename:path
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4052
    OperatingSystem isMSDOSlike ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4053
	(#($/ $\) includes:(path at:1)) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4054
	    (path at:3) == $: ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4055
		^ path copyFrom:2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4056
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4057
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4058
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4059
    ^ path
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4060
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4061
    "Created: / 20.10.1998 / 20:58:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4062
    "Modified: / 20.10.1998 / 21:06:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4063
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4064
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4065
validateFile:javaStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4066
    |fileNo file descriptor|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4067
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4068
    fileNo := self validateFileNo:javaStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4069
    fileNo isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4070
"/        self halt:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4071
"/        self internalError:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4072
	self throwIOExceptionWithMessage:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4073
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4074
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4075
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4076
    file := self getOpenFileAt:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4078
    file isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4079
"/        self halt:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4080
"/        self internalError:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4081
	self throwIOExceptionWithMessage:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4082
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4083
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4084
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4085
    ^ file
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4086
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4087
    "Created: / 4.1.1998 / 16:50:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4088
    "Modified: / 4.1.1998 / 17:50:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4089
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4090
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4091
validateFileNo:javaStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4092
    |fileNo file descriptor|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4093
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4094
    "/ JDK 1.1.3 has fileDescriptor wrapped
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4095
    "/ JDK 1.0 has it directly as integer
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4096
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4097
    fileNo := javaStream instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4098
    fileNo isInteger ifFalse:[
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4099
        descriptor := fileNo.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4100
        descriptor notNil ifTrue:[
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4101
            fileNo := descriptor instVarNamed:'fd'.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4102
            ((fileNo == -1) and:[OperatingSystem isMSWINDOWSlike]) ifTrue:[
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4103
                fileNo := descriptor instVarNamed:'handle'.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4104
            ]
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4105
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4106
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4107
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4108
    fileNo isInteger ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4109
"/        self halt:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4110
"/        self internalError:'invalid fileNo in read'.
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4111
        self throwIOExceptionWithMessage:'invalid fileNo in read'.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4112
        ^ nil
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4113
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4114
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4115
    ^ fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4116
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4117
    "Created: / 04-01-1998 / 17:49:08 / cg"
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4118
    "Modified: / 13-01-1998 / 14:07:47 / cg"
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4119
    "Modified: / 18-08-2011 / 20:03:37 / jv"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4120
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4121
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4122
!JavaVM class methodsFor:'helpers - reflection'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4124
classForJavaClassObject:aJavaClassObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4125
    "given java.lang.class instance, return the real class for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4126
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4127
    ^ self reflection classForJavaClassObject:aJavaClassObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4128
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4129
    "Created: / 23-01-1998 / 17:44:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4130
    "Modified: / 03-02-2011 / 21:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4131
    "Modified: / 09-02-2011 / 01:02:17 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4132
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4133
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4134
javaClassObjectForClass: aClass 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4135
    "given a real class, return the corresponding java.lang.class
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4136
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4137
    
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4138
    | class |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4140
    "find reflection of StClass in the Java World"
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4141
    (JavaObjectDictionary new hasReflection: aClass name) ifTrue: [
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4142
        class := JavaObjectDictionary new reflectionOf: aClass name
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4143
    ] ifFalse: [ class := aClass. ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4144
    ^ self reflection javaClassObjectForClass: class.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4146
    "Created: / 23-01-1998 / 17:43:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4147
    "Modified: / 05-12-1998 / 15:29:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4148
    "Modified: / 17-01-2011 / 19:24:22 / kursjan <kursjan@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4149
    "Modified: / 28-01-2011 / 14:31:25 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4150
    "Modified: / 03-02-2011 / 21:31:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4151
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4152
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4153
javaConstructorObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4154
    "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4155
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4156
    self breakPoint:#mh info:'refactor my sender to call reflection directly'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4157
    ^ self reflection javaConstructorObjectForMethod: method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4158
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4159
    "Modified: / 09-02-2011 / 00:58:09 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4160
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4161
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4162
javaFieldObjectForField: aJavaField in: aJavaLangClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4163
    "given a java field, return the corresponding java.lang.Field
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4164
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4165
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4166
        See OpenJDK7 source:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4167
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4168
        oop Reflection::new_field"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4169
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4170
    | field  clazz  name  slot  type  modifiers |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4171
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4172
    clazz := aJavaLangClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4173
    name := self reflection javaStringObjectForString: aJavaField name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4174
                interned: true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4175
    slot := aJavaField index.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4176
    type := self javaClassObjectForClass: aJavaField typeClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4177
    modifiers := aJavaField accessFlags.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4178
    field := (self classForName: 'java.lang.reflect.Field') new.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4179
    field
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4180
        instVarNamed: #clazz put: clazz;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4181
        instVarNamed: #name put: name;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4182
        instVarNamed: #slot put: slot;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4183
        instVarNamed: #type put: type;
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4184
        instVarNamed: #modifiers put: modifiers;
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4185
        yourself.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4186
    aJavaField annotations 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4187
        ifNotNil: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4188
            field instVarNamed: #annotations
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4189
                put: aJavaField annotations runtimeVisible rawAnnotations
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4190
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4191
    ^ field.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4192
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4193
    "Modified: / 05-12-1998 / 15:29:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4194
    "Created: / 22-11-2010 / 17:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4195
    "Modified: / 09-02-2011 / 01:06:20 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4196
    "Modified: / 01-04-2011 / 12:11:11 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  4197
    "Modified: / 25-04-2011 / 20:23:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4198
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4199
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4200
javaMethodObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4201
    "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4202
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4203
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4204
    ^ self reflection javaMethodObjectForMethod:method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4206
    "Modified: / 28-02-2011 / 17:08:36 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4207
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4208
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4209
methodForJavaConstructorObject:constructor 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4210
    "given a java.lang.reflect.Constructor, return the corresponding method
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4211
     it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4212
    self breakPoint:#mh info: 'refactor my sender to call reflection directly'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4213
    ^ self reflection methodForJavaConstructorObject: constructor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4214
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4215
    "Modified: / 09-02-2011 / 00:59:43 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4216
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4217
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4218
methodForJavaMethodObject:aJavaMethodObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4219
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4220
        Given an instance of java.lang.reflect.Method, answers
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4221
        real method associated with it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4222
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4224
    "Modified: / 07-02-2011 / 09:50:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4225
    "Modified: / 28-02-2011 / 16:58:05 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4226
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4227
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4228
!JavaVM class methodsFor:'native - com.sun.management'!
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4229
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4230
_com_sun_management_UnixOperatingSystem_initialize: nativeContext
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4231
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4232
    <javanative: 'com/sun/management/UnixOperatingSystem' name: 'initialize()V'>
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4233
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4234
Logger log: 'mh did not set page_size here, which he should :)' severity:#info facility:#JVM.
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4235
^self.
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4236
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4237
    "Modified: / 03-11-2011 / 18:59:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4238
! !
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  4239
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4240
!JavaVM class methodsFor:'native - java.awt'!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4241
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4242
_java_awt_AWTEvent_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4243
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4244
    <javanative: 'java/awt/AWTEvent' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4245
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4246
    "Intentionally left blank"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4247
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4248
    "Modified: / 12-08-2011 / 19:08:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4249
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4250
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4251
_java_awt_Color_initIDs: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4252
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4253
    <javanative: 'java/awt/Color' name: 'initIDs()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4254
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4255
        "/ new with jdk1.2 ...
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4256
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4257
    "Created: / 28.1.1998 / 22:19:23 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4258
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4259
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4260
_java_awt_Component_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4261
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4262
    <javanative: 'java/awt/Component' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4263
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4264
        "/ introduced with jdk1.2 ... (sigh)
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4265
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4266
    "Created: / 27.1.1998 / 19:53:29 / cg"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4267
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4268
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4269
_java_awt_Container_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4270
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4271
    <javanative: 'java/awt/Container' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4272
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4273
    "Intentionally left blank"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4274
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4275
    "Modified: / 12-08-2011 / 19:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4276
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4277
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4278
_java_awt_Dimension_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4279
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4280
    <javanative: 'java/awt/Dimension' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4281
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4282
    "Intentionally left blank"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4283
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4284
    "Modified: / 12-08-2011 / 19:08:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4285
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4286
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4287
_java_awt_Rectangle_initIDs: nativeContext
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4288
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4289
    <javanative: 'java/awt/Rectangle' name: 'initIDs()V'>
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4290
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  4291
    "Intentionally left blank"
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  4292
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  4293
    "Modified: / 27-10-2011 / 15:07:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4294
!
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4295
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4296
_java_awt_Toolkit_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4297
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4298
    <javanative: 'java/awt/Toolkit' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4299
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4300
        "/ introduced with jdk1.2 ... (sigh)
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4301
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4302
    "Created: / 27.1.1998 / 19:53:50 / cg"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4303
! !
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4304
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4305
!JavaVM class methodsFor:'native - java.io'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4306
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4307
_java_io_FileDescriptor_initIDs: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4308
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4309
    <javanative: 'java/io/FileDescriptor' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4310
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4311
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4312
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4313
    "Created: / 27.1.1998 / 18:16:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4314
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4315
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4316
_java_io_FileDescriptor_set: nativeContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4317
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4318
    <javanative: 'java/io/FileDescriptor' name: 'set(I)J'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4319
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4320
    "SunJDK Speciofic method, we don't need handles, so return
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4321
     FD instead"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4322
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4323
    ^nativeContext argAt:1
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4324
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  4325
    "Modified: / 18-08-2011 / 19:54:36 / jv"
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4326
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4327
904
vranyj1
parents: 903
diff changeset
  4328
_java_io_FileDescriptor_sync: nativeContext
vranyj1
parents: 903
diff changeset
  4329
vranyj1
parents: 903
diff changeset
  4330
    <javanative: 'java/io/FileDescriptor' name: 'sync'>
vranyj1
parents: 903
diff changeset
  4331
    "
vranyj1
parents: 903
diff changeset
  4332
    /**
vranyj1
parents: 903
diff changeset
  4333
    * Force all system buffers to synchronize with the underlying
vranyj1
parents: 903
diff changeset
  4334
    * device.  This method returns after all modified data and
vranyj1
parents: 903
diff changeset
  4335
    * attributes of this FileDescriptor have been written to the
vranyj1
parents: 903
diff changeset
  4336
    * relevant device(s).  In particular, if this FileDescriptor
vranyj1
parents: 903
diff changeset
  4337
    * refers to a physical storage medium, such as a file in a file
vranyj1
parents: 903
diff changeset
  4338
    * system, sync will not return until all in-memory modified copies
vranyj1
parents: 903
diff changeset
  4339
    * of buffers associated with this FileDescriptor have been
vranyj1
parents: 903
diff changeset
  4340
    * written to the physical medium.
vranyj1
parents: 903
diff changeset
  4341
    *
vranyj1
parents: 903
diff changeset
  4342
    * sync is meant to be used by code that requires physical
vranyj1
parents: 903
diff changeset
  4343
    * storage (such as a file) to be in a known state  For
vranyj1
parents: 903
diff changeset
  4344
    * example, a class that provided a simple transaction facility
vranyj1
parents: 903
diff changeset
  4345
    * might use sync to ensure that all changes to a file caused
vranyj1
parents: 903
diff changeset
  4346
    * by a given transaction were recorded on a storage medium.
vranyj1
parents: 903
diff changeset
  4347
    *
vranyj1
parents: 903
diff changeset
  4348
    * sync only affects buffers downstream of this FileDescriptor.  If
vranyj1
parents: 903
diff changeset
  4349
    * any in-memory buffering is being done by the application (for
vranyj1
parents: 903
diff changeset
  4350
    * example, by a BufferedOutputStream object), those buffers must
vranyj1
parents: 903
diff changeset
  4351
    * be flushed into the FileDescriptor (for example, by invoking
vranyj1
parents: 903
diff changeset
  4352
    * OutputStream.flush) before that data will be affected by sync.
vranyj1
parents: 903
diff changeset
  4353
    *
vranyj1
parents: 903
diff changeset
  4354
    * @exception SyncFailedException
vranyj1
parents: 903
diff changeset
  4355
    *        Thrown when the buffers cannot be flushed,
vranyj1
parents: 903
diff changeset
  4356
    *        or because the system cannot guarantee that all the
vranyj1
parents: 903
diff changeset
  4357
    *        buffers have been synchronized with physical media.
vranyj1
parents: 903
diff changeset
  4358
    * @since     JDK1.1
vranyj1
parents: 903
diff changeset
  4359
    */
vranyj1
parents: 903
diff changeset
  4360
    public native void sync() throws SyncFailedException;
vranyj1
parents: 903
diff changeset
  4361
    "
vranyj1
parents: 903
diff changeset
  4362
vranyj1
parents: 903
diff changeset
  4363
    OpenFileTable do:[:stream|
vranyj1
parents: 903
diff changeset
  4364
        stream notNil ifTrue:[stream flush].
vranyj1
parents: 903
diff changeset
  4365
    ].
vranyj1
parents: 903
diff changeset
  4366
vranyj1
parents: 903
diff changeset
  4367
    "Created: / 12-11-1998 / 19:26:25 / cg"
vranyj1
parents: 903
diff changeset
  4368
    "Modified (format): / 10-08-2011 / 19:04:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 903
diff changeset
  4369
!
vranyj1
parents: 903
diff changeset
  4370
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4371
_java_io_FileInputStream_available: nativeContext
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4372
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4373
    <javanative: 'java/io/FileInputStream' name: 'available'>
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4374
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4375
        |file|
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4376
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4377
    file := self validateFile:(nativeContext receiver).
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4378
    file isNil ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4379
	self throwIOExceptionWithMessage:'invalid fileNo in available'.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4380
	^ self
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4381
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4382
    file == Stdin ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4383
	file := StdinReplacementFileQuerySignal raiseRequest.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4384
	file isNil ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4385
	    ^ 1
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4386
	]
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4387
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4388
    file isFileStream ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4389
	^ file size - file position + 1
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4390
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4391
    file atEnd ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4392
	^ 0.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4393
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4394
    self halt.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4395
    ^ 1
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4396
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4397
    "Modified: / 14.1.1998 / 15:12:52 / cg"
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4398
!
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4399
898
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4400
_java_io_FileInputStream_close0: nativeContext
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4401
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4402
    <javanative: 'java/io/FileInputStream' name: 'close0'>
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4403
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4404
    ^self commonClose: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4405
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4406
    "Modified: / 10-08-2011 / 14:03:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
898
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4407
!
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4408
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4409
_java_io_FileInputStream_initIDs: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4410
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4411
    <javanative: 'java/io/FileInputStream' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4412
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4413
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4414
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4415
    "Created: / 27.1.1998 / 18:15:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4416
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4417
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4418
_java_io_FileInputStream_open: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4419
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4420
    <javanative: 'java/io/FileInputStream' name: 'open'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4421
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4422
        |fs fd fn name stream fileNo|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4423
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4424
    fs := nativeContext receiver.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4425
    fd := fs instVarNamed:'fd'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4426
    (fileNo := fd instVarNamed:'fd') ~~ 0 ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4427
        fileNo ~~ -1 ifTrue:[
vranyj1
parents: 903
diff changeset
  4428
            self halt:'file already open'.
vranyj1
parents: 903
diff changeset
  4429
            self internalError:'file already open'.
vranyj1
parents: 903
diff changeset
  4430
            ^ self.
vranyj1
parents: 903
diff changeset
  4431
        ]
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4432
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4433
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4434
    name := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4435
    name := Java as_ST_String:name.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4436
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4437
    name := self fixFilename:name.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4438
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4439
    FileOpenTrace ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4440
        ('JAVA: opening ' , name) infoPrintCR.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4441
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4442
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4443
    stream := self fileStreamForReading:name.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4444
    stream isNil ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4445
        ^ self.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4446
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4447
    stream buffered:false.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4448
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4449
"/    FileOpenConfirmation ifTrue:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4450
"/        (self confirm:('JAVA Security check\\Opening ''' , name , ''' for reading.\Grant permission ?') withCRs)
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4451
"/        ifFalse:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4452
"/            self throwIOExceptionWithMessage:('no permission to open ' , name , ' for reading').
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4453
"/            ^ self
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4454
"/        ]
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4455
"/    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4456
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4457
    fileNo := self addOpenFile:stream.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4458
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4459
    FileOpenTrace ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4460
        ('JAVA: opened ' , name , ' as FD ' , fileNo printString) infoPrintCR.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4461
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4462
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4463
    fd instVarNamed:'fd' put:fileNo.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4464
904
vranyj1
parents: 903
diff changeset
  4465
    "Created: / 04-01-1998 / 16:47:12 / cg"
vranyj1
parents: 903
diff changeset
  4466
    "Modified: / 28-01-1999 / 17:24:07 / cg"
vranyj1
parents: 903
diff changeset
  4467
    "Modified: / 10-08-2011 / 19:21:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4468
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4469
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4470
_java_io_FileInputStream_read: nativeContext
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4471
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4472
    <javanative: 'java/io/FileInputStream' name: 'read()I'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4473
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4474
        |file byte|
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4475
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4476
    file := self validateFile:(nativeContext receiver).
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4477
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4478
    file == Stdin ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4479
	file := StdinReplacementFileQuerySignal raiseRequest.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4480
	file isNil ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4481
	    ^ -1
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4482
	]
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4483
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4484
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4485
    FileIOTrace ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4486
	('JAVA: read 1 byte from ' , file pathName) infoPrintCR.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4487
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4488
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4489
    byte := file nextByte.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4490
    byte isNil ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4491
	^ -1
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4492
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4493
    ^ byte
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4494
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4495
    "Created: / 5.1.1998 / 02:17:08 / cg"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4496
    "Modified: / 5.1.1998 / 02:17:25 / cg"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4497
!
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4498
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4499
_java_io_FileInputStream_readBytes: nativeContext
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4500
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4501
    <javanative: 'java/io/FileInputStream' name: 'readBytes'>
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4502
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4503
    ^ self anyStream_readBytes:nativeContext
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4504
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4505
    "Modified: / 04-02-1998 / 15:23:08 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4506
    "Modified (format): / 10-08-2011 / 21:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4507
!
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4508
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4509
_java_io_FileOutputStream_close0: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4510
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4511
    <javanative: 'java/io/FileOutputStream' name: 'close0'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4512
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4513
    ^self commonClose: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4514
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4515
    "Modified: / 10-08-2011 / 14:03:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4516
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4517
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4518
_java_io_FileOutputStream_initIDs: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4519
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4520
    <javanative: 'java/io/FileOutputStream' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4521
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4522
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4523
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4524
    "Created: / 27.1.1998 / 18:16:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4525
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4526
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4527
_java_io_FileOutputStream_open: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4528
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4529
    <javanative: 'java/io/FileOutputStream' name: 'open'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4530
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4531
    ^ self commonOpen:nativeContext forAppend:false
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4532
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4533
    "Modified: / 07-04-1998 / 19:14:31 / cg"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4534
    "Modified (format): / 10-08-2011 / 14:25:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4535
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4536
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4537
_java_io_FileOutputStream_openAppend: nativeContext
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4538
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4539
    <javanative: 'java/io/FileOutputStream' name: 'openAppend'>
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4540
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4541
    ^ self commonOpen:nativeContext forAppend:true
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4542
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4543
    "Modified: / 07-04-1998 / 19:13:42 / cg"
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4544
    "Modified (format): / 10-08-2011 / 23:48:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4545
!
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4546
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4547
_java_io_FileOutputStream_write: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4548
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4549
    <javanative: 'java/io/FileOutputStream' name: 'write'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4550
    "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4551
     /**
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4552
     * Writes the specified byte to this file output stream. Implements
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4553
     * the <code>write</code> method of <code>OutputStream</code>.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4554
     *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4555
     * @param      b   the byte to be written.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4556
     * @exception  IOException  if an I/O error occurs.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4557
     */
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4558
     public native void write(int b) throws IOException;
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4559
    "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4560
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4561
    | fdobj fd stream b |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4562
    b := nativeContext argAt:1.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4563
    fdobj := (nativeContext receiver instVarNamed: #fd).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4564
    fd    := fdobj instVarNamed: #fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4565
    stream := self getOpenFileAt:fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4566
    [
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4567
        stream nextPut: b asCharacter
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4568
    ] on: Error do:[:ex|
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4569
        self throwIOExceptionWithMessage: ex description
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4570
    ]
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4571
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4572
    "Modified: / 10-08-2011 / 14:15:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4573
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4574
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4575
_java_io_FileOutputStream_writeBytes: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4576
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4577
    <javanative: 'java/io/FileOutputStream' name: 'writeBytes'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4578
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4579
        ^ self anyStream_writeBytes:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4580
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4581
    "Modified: / 4.2.1998 / 15:24:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4582
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4583
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4584
_java_io_FileSystem_getFileSystem: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4585
    <javanative: 'java/io/FileSystem' name: 'getFileSystem'>
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4586
    OperatingSystem isUNIXlike ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4587
        ^ (self classForName: 'java.io.UnixFileSystem') new
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4588
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4589
    OperatingSystem isMSWINDOWSlike ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4590
        ^ (Java classForName: 'java.io.WinNTFileSystem') new
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4591
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4592
    self error: 'Unknown/Unsupported platform'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4593
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4594
    "Created: / 09-12-2010 / 17:58:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4595
    "Modified: / 01-04-2011 / 18:09:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4596
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4597
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4598
_java_io_ObjectInputStream_latestUserDefinedLoader: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4599
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4600
    <javanative: 'java/io/ObjectInputStream' name: 'latestUserDefinedLoader'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4601
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4602
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4603
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4604
    * Returns the first non-null class loader (not counting class loaders of
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4605
    * generated reflection implementation classes) up the execution stack, or
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4606
    * null if only code from the null class loader is on the stack.  This
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4607
    * method is also called via reflection by the following RMI-IIOP class:
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4608
    *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4609
    *     com.sun.corba.se.internal.util.JDKClassLoader
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4610
    *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4611
    * This method should not be removed or its signature changed without
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4612
    * corresponding modifications to the above class.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4613
    */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4614
    // REMIND: change name to something more accurate?
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4615
    private static native ClassLoader latestUserDefinedLoader();
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4616
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4617
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4618
    | ctx cl |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4619
    ctx := nativeContext.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4620
    [ ctx notNil ] whileTrue:[
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4621
        ctx receiver isJavaObject ifTrue:[
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4622
            (cl := ctx receiver class classLoader) notNil ifTrue:[
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4623
                "/self breakPoint: #jv info: 'Should not count class loaders of generated reflection implementation classes'.
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4624
                "/Please check"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4625
                ^cl.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4626
            ]                    
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4627
        ].
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4628
        ctx := ctx sender.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4629
    ].
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4630
    ^nil
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4631
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4632
    "Modified: / 30-08-2011 / 16:00:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4633
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4634
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4635
_java_io_ObjectStreamClass_hasStaticInitializer: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4636
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4637
    <javanative: 'java/io/ObjectStreamClass' name: 'hasStaticInitializer'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4638
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4639
    | cls |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4640
    cls := self reflection classForJavaClassObject: (nativeContext argAt:1).
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4641
    ^(cls includesSelector: #'<clinit>()V') ifTrue:[1] ifFalse:[0]
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4642
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4643
    "Modified: / 10-08-2011 / 01:13:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4644
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4645
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4646
_java_io_ObjectStreamClass_initNative: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4647
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4648
    <javanative: 'java/io/ObjectStreamClass' name: 'initNative'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4649
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4650
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4651
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4652
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4653
     * Initializes native code.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4654
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4655
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4656
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4658
    "Created: / 20-12-2010 / 17:43:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4659
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4660
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4661
_java_io_RandomAccessFile_initIDs: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4662
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4663
    <javanative: 'java/io/RandomAccessFile' name: 'initIDs'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4664
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4665
    "Nothing to do"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4666
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4667
    "Modified: / 10-08-2011 / 21:49:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4668
!
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4669
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4670
_java_io_RandomAccessFile_open: nativeContext
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4671
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4672
    <javanative: 'java/io/RandomAccessFile' name: 'open'>
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4673
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4674
        |fs fd name dir stream fileNo answer readonly|
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4675
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4676
    readonly := false.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4677
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4678
    fs := nativeContext receiver.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4679
    fd := fs instVarNamed:'fd'.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4680
    (fd instVarNamed:'fd') ~~ 0 ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4681
	self halt:'file already open'.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4682
	self internalError:'file already open'.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4683
	^ self.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4684
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4685
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4686
    name := nativeContext argAt:1.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4687
    name := Java as_ST_String:name.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4688
    name := self fixFilename:name.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4689
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4690
    FileOpenTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4691
	('JAVA: opening ' , name) infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4692
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4693
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4694
    dir := name asFilename directory pathName.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4695
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4696
    (PermittedDirectories notNil
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4697
    and:[PermittedDirectories includes:dir]) ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4698
	FileOpenConfirmation ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4699
	    answer := Dialog 
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4700
		    confirmWithCancel:('JAVA Security check\\Opening ''' , name , ''' for read/write.\Grant permission ?') withCRs
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4701
			       labels:#('no' 'grant' 'readonly')
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4702
			       values:#(false true #readonly)
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4703
			      default:3.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4704
	    answer == false ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4705
		self throwIOExceptionWithMessage:('no permission to open ' , name , ' for writing').
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4706
		^ self
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4707
	    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4708
	    readonly := (answer == #readonly).
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4709
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4710
	    readonly ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4711
		(self confirm:('JAVA Security check\\Always permit writes in this directory (''' , dir , ''') ?') withCRs)
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4712
		ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4713
		    PermittedDirectories isNil ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4714
			PermittedDirectories := Set new
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4715
		    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4716
		    PermittedDirectories add:dir.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4717
		]
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4718
	    ]
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4719
	]
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4720
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4721
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4722
    readonly ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4723
	stream := name asFilename readStream.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4724
    ] ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4725
	stream := name asFilename readWriteStream.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4726
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4727
    stream isNil ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4728
	self throwIOExceptionWithMessage:('cannot open ' , name , ' for writing').
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4729
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4730
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4731
    fileNo := self addOpenFile:stream.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4732
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4733
    FileOpenTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4734
	('JAVA: opened ' , name , ' as FD ' , fileNo printString , ' for writing') infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4735
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4736
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4737
    fd instVarNamed:'fd' put:fileNo.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4738
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4739
    "Created: / 4.2.1998 / 00:14:48 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4740
    "Modified: / 12.11.1998 / 21:29:46 / cg"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4741
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4742
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4743
_java_io_UnixFileSystem_canonicalize0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4744
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4745
    <javanative: 'java/io/UnixFileSystem' name: 'canonicalize0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4746
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4747
    |  path |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4748
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4749
    path := Java as_ST_String: (aJavaContext argAt: 1).
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4750
    ^(Java as_String: path utf8Encoded asFilename asAbsoluteFilename pathName utf8Decoded)
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4751
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4752
    "Created: / 10-12-2010 / 14:40:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4753
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4754
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4755
_java_io_UnixFileSystem_checkAccess: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4756
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4757
    <javanative: 'java/io/UnixFileSystem' name: 'checkAccess'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4758
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4759
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4760
     public static final int ACCESS_READ    = 0x04;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4761
     public static final int ACCESS_WRITE   = 0x02;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4762
     public static final int ACCESS_EXECUTE = 0x01;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4763
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4764
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4765
    | fileobj file access result |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4766
    fileobj := nativeContext argAt:1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4767
    file := (Java as_ST_String:(fileobj instVarNamed:#path)) asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4768
    access := nativeContext argAt:2.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4769
    [
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4770
        access == 16r01 ifTrue:[result := file isExecutable].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4771
        access == 16r02 ifTrue:[result := file isWritable].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4772
        access == 16r04 ifTrue:[result := file isReadable].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4773
    ] on: Error do:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4774
        result := false.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4775
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4776
    ^result ifTrue:[1] ifFalse:[0].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4777
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4778
    "Modified: / 09-08-2011 / 17:09:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4779
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4780
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4781
_java_io_UnixFileSystem_createDirectory: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4782
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4783
    <javanative: 'java/io/UnixFileSystem' name: 'createDirectory'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4784
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4785
    | fileobj file |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4786
    fileobj := (nativeContext argAt:1).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4787
    file := Java as_ST_String: (fileobj instVarNamed:#path).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4788
    file := file asFilename.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4789
    file exists ifFalse:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4790
        [
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4791
            file makeDirectory.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4792
            ^1.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4793
        ] on: Error do:[:ex|
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4794
            self throwIOExceptionWithMessage:ex description.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4795
        ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4796
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4797
    ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4798
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4799
    "Modified: / 10-08-2011 / 13:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4800
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4801
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4802
_java_io_UnixFileSystem_createFileExclusively: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4803
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4804
    <javanative: 'java/io/UnixFileSystem' name: 'createFileExclusively'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4805
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4806
    | file |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4807
    file := Java as_ST_String: (nativeContext argAt:1).
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4808
    file := file asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4809
    file exists ifFalse:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4810
        [
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4811
            file createAsEmptyFile
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4812
        ] on: Error do:[:ex|
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4813
            self throwIOExceptionWithMessage:ex description.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4814
        ].
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4815
        ^1
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4816
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4817
    ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4818
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4819
    "Modified: / 10-08-2011 / 13:42:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4820
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4821
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4822
_java_io_UnixFileSystem_delete0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4823
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4824
    <javanative: 'java/io/UnixFileSystem' name: 'delete0'>
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4825
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4826
      /**
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4827
      * Delete the file or directory denoted by the given abstract pathname,
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4828
      * returning <code>true</code> if and only if the operation succeeds.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4829
      */
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4830
      public abstract boolean delete(File f);
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4831
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4832
    | file |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4833
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4834
    file := (Java as_ST_String: ((nativeContext argAt:1) instVarNamed: #path)) asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4835
    file exists ifFalse:[^0].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4836
    ^[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4837
        file remove.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4838
        true
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4839
    ] on: Error do:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4840
        false
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4841
    ]
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4842
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4843
    "Modified: / 09-08-2011 / 17:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4844
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4845
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4846
_java_io_UnixFileSystem_getBooleanAttributes0: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4847
    <javanative: 'java/io/UnixFileSystem' name: 'getBooleanAttributes0'>
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4848
    | file  path  retval  fileSystemClass |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4849
    retval := 0.
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  4850
    file := (aJavaContext argAt: 1).
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  4851
    path := Java as_ST_String: ((aJavaContext argAt: 1) perform: #'getAbsolutePath()Ljava/lang/String;').
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4852
    fileSystemClass := (self classForName: 'java.io.FileSystem').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4853
    path asFilename exists ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4854
        retval := retval bitOr: (fileSystemClass instVarNamed: #'BA_EXISTS')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4855
    ] ifFalse: [ ^ 0. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4856
    path asFilename isDirectory ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4857
        retval := retval bitOr: (fileSystemClass instVarNamed: #'BA_DIRECTORY')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4858
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4859
    path asFilename isRegularFile ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4860
        retval := retval bitOr: (fileSystemClass instVarNamed: #'BA_REGULAR')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4861
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4862
    path asFilename isHidden ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  4863
        retval := retval bitOr: (fileSystemClass instVarNamed: #'BA_HIDDEN')
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4864
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4865
    ^ retval
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4866
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4867
    "Modified: / 10-12-2010 / 14:43:31 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4868
    "Created: / 10-12-2010 / 14:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4869
    "Modified: / 11-12-2010 / 19:44:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1075
927aeb3649fc Fix in native method imp -> class loading java tests all pass.. I'm getting drunk tonight :)
hlopkmar
parents: 1073
diff changeset
  4870
    "Modified: / 03-11-2011 / 11:03:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4871
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4872
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4873
_java_io_UnixFileSystem_getLastModifiedTime: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4874
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4875
    <javanative: 'java/io/UnixFileSystem' name: 'getLastModifiedTime'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4876
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4877
        | file  path  retval |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4878
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4879
    retval := 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4880
    file := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4881
    path := Java as_ST_String: (file instVarNamed: #path).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4882
    retval := path asFilename modificationTime asMilliseconds.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4883
    ^ retval
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4884
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4885
    "Modified: / 10-12-2010 / 14:43:31 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4886
    "Modified: / 11-12-2010 / 19:44:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4887
    "Created: / 27-03-2011 / 15:32:59 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4888
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4889
898
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4890
_java_io_UnixFileSystem_getLength: nativeContext
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4891
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4892
    <javanative: 'java/io/UnixFileSystem' name: 'getLength'>
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4893
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4894
    | file |
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4895
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4896
    file := (Java as_ST_String: ((nativeContext argAt:1) instVarNamed: #path)) asFilename.
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4897
    file exists ifFalse:[^0].
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4898
    ^file fileSize
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4899
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4900
    "Modified: / 09-08-2011 / 15:38:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4901
!
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4902
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4903
_java_io_UnixFileSystem_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4904
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4905
    <javanative: 'java/io/UnixFileSystem' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4906
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4907
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4908
    self breakPoint: #libjava
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4909
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4910
    "Created: / 10-12-2010 / 14:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4911
    "Modified: / 10-12-2010 / 20:58:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4912
!
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4913
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4914
_java_io_UnixFileSystem_list: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4915
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4916
    <javanative: 'java/io/UnixFileSystem' name: 'list'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4917
    "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4918
    /**
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4919
    * Returns an array of strings naming the files and directories in the
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4920
    * directory denoted by this abstract pathname.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4921
    *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4922
    * <p> If this abstract pathname does not denote a directory, then this
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4923
    * method returns {@code null}.  Otherwise an array of strings is
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4924
    * returned, one for each file or directory in the directory.  Names
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4925
    * denoting the directory itself and the directory's parent directory are
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4926
    * not included in the result.  Each string is a file name rather than a
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4927
    * complete path.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4928
    *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4929
    * <p> There is no guarantee that the name strings in the resulting array
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4930
    * will appear in any specific order; they are not, in particular,
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4931
    * guaranteed to appear in alphabetical order.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4932
    *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4933
    * @return  An array of strings naming the files and directories in the
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4934
    *          directory denoted by this abstract pathname.  The array will be
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4935
    *          empty if the directory is empty.  Returns {@code null} if
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4936
    *          this abstract pathname does not denote a directory, or if an
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4937
    *          I/O error occurs.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4938
    */
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4939
   "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4940
    | fileobj file names jnames |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4941
    fileobj := (nativeContext argAt:1).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4942
    file := Java as_ST_String: (fileobj instVarNamed:#path).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4943
    file := file asFilename.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4944
    file exists ifFalse:[^nil].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4945
    file isDirectory ifFalse:[^nil].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4946
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4947
    names := file directoryContents.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4948
    jnames := String javaArrayClass new: names size.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4949
    1 to: names size do:[:i|
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4950
        jnames at: i put: (Java as_String:(names at: i))
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4951
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4952
    ^jnames
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4953
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4954
    "Modified: / 10-08-2011 / 13:28:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4955
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4956
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4957
_java_io_UnixFileSystem_setPermission: nativeContext
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4958
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4959
    <javanative: 'java/io/UnixFileSystem' name: 'setPermission'>
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4960
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4961
    /**
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4962
     * Set on or off the access permission (to owner only or to all) to the file
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4963
     * or directory denoted by the given abstract pathname, based on the parameters
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4964
     * enable, access and oweronly.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4965
     */
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4966
    public abstract boolean setPermission(File f, int access, boolean enable, boolean owneronly);
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4967
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4968
    | f access enable owneronly file perms |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4969
    f := nativeContext argAt: 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4970
    access := nativeContext argAt: 2.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4971
    enable := (nativeContext argAt: 3) == 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4972
    owneronly := (nativeContext argAt: 4) == 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4973
    file := (Java as_ST_String: (f instVarNamed: #path)) asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4974
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4975
    public static final int ACCESS_READ    = 0x04;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4976
    public static final int ACCESS_WRITE   = 0x02;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4977
    public static final int ACCESS_EXECUTE = 0x01;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4978
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4979
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4980
    access == 16r04 ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4981
        perms := owneronly ifFalse:[#(readUser readGroup readOthers)] ifTrue:[#(readUser)].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4982
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4983
    access == 16r02 ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4984
        perms := owneronly ifFalse:[#(writeUser writeGroup writeOthers)] ifTrue:[#(writeUser)].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4985
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4986
    access == 16r01 ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4987
        perms := owneronly ifFalse:[#(executeUser executeGroup executeOthers)] ifTrue:[#(executeUser)].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4988
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4989
    [
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4990
        enable ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4991
            file addAccessRights: perms
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4992
        ] ifFalse:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4993
            file removeAccessRights: perms
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4994
        ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4995
        ^ 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4996
    ] on: Error do:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4997
        ^ 0
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4998
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4999
    ^0
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  5000
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  5001
    "Modified: / 09-08-2011 / 17:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5002
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5003
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5004
_java_io_UnixFileSystem_setReadOnly: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5005
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5006
    <javanative: 'java/io/UnixFileSystem' name: 'setReadOnly'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5007
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5008
    | fileobj file |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5009
    fileobj := (nativeContext argAt:1).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5010
    file := Java as_ST_String: (fileobj instVarNamed:#path).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5011
    file := file asFilename.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5012
    file exists ifFalse:[^0].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5013
    [
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5014
        file  removeAccessRights: #(writeUser writeGroup writeOthers).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5015
        ^1
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5016
    ] on: Error do:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5017
        ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5018
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5019
    ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5020
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  5021
    "Modified: / 10-08-2011 / 13:40:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5022
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5023
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5024
_java_io_Win32FileSystem_initIDs: nativeContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5025
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5026
    <javanative: 'java/io/Win32FileSystem' name: 'initIDs()V'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5027
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5028
    "Intentionally left blank"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5029
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5030
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5031
_java_io_WinNTFileSystem_canonicalize0: aJavaContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5032
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5033
    <javanative: 'java/io/WinNTFileSystem' name: 'canonicalize0(Ljava/lang/String;)Ljava/lang/String;'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5034
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5035
    
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5036
    |  path |
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5037
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5038
    path := Java as_ST_String: (aJavaContext argAt: 1).
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5039
    ^(Java as_String: path asFilename asAbsoluteFilename pathName)
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5040
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5041
    "Created: / 01-04-2011 / 23:00:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5042
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5043
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5044
_java_io_WinNTFileSystem_canonicalizeWithPrefix0: nativeContext
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5045
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5046
    <javanative: 'java/io/WinNTFileSystem' name: 'canonicalizeWithPrefix0(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;'>
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5047
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5048
    |  path |
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5049
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5050
    path := Java as_ST_String: (nativeContext argAt: 2).
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5051
    ^(Java as_String: path utf8Encoded asFilename asAbsoluteFilename pathName utf8Decoded)
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5052
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5053
    "Modified: / 01-09-2011 / 21:50:47 / jv"
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5054
!
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5055
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5056
_java_io_WinNTFileSystem_checkAccess: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5057
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5058
    <javanative: 'java/io/WinNTFileSystem' name: 'checkAccess(Ljava/io/File;I)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5059
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5060
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5061
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5062
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5063
_java_io_WinNTFileSystem_createDirectory: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5064
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5065
    <javanative: 'java/io/WinNTFileSystem' name: 'createDirectory(Ljava/io/File;)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5066
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5067
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5068
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5069
920
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5070
_java_io_WinNTFileSystem_createFileExclusively: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5071
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5072
    <javanative: 'java/io/WinNTFileSystem' name: 'createFileExclusively(Ljava/lang/String;)Z'>
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5073
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5074
    ^ self _java_io_UnixFileSystem_createFileExclusively: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5075
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5076
    "Modified: / 18-08-2011 / 17:26:11 / jv"
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5077
!
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5078
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5079
_java_io_WinNTFileSystem_delete0: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5080
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5081
    <javanative: 'java/io/WinNTFileSystem' name: 'delete0(Ljava/io/File;)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5082
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5083
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5084
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5085
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5086
_java_io_WinNTFileSystem_getBooleanAttributes: aJavaContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5087
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5088
    <javanative: 'java/io/WinNTFileSystem' name: 'getBooleanAttributes(Ljava/io/File;)I'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5089
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5090
    ^ self _java_io_UnixFileSystem_getBooleanAttributes0:aJavaContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5091
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  5092
    "Created: / 01-04-2011 / 18:10:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
920
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5093
!
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5094
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5095
_java_io_WinNTFileSystem_getLastModifiedTime: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5096
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5097
    <javanative: 'java/io/WinNTFileSystem' name: 'getLastModifiedTime(Ljava/io/File;)J'>
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5098
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5099
    ^ self _java_io_UnixFileSystem_getLastModifiedTime: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5100
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5101
    "Modified: / 18-08-2011 / 14:12:07 / jv"
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5102
!
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5103
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5104
_java_io_WinNTFileSystem_getLength: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5105
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5106
    <javanative: 'java/io/WinNTFileSystem' name: 'getLength(Ljava/io/File;)J'>
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5107
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5108
    ^ self _java_io_UnixFileSystem_getLength: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5109
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  5110
    "Modified: / 18-08-2011 / 14:15:36 / jv"
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5111
!
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5112
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5113
_java_io_WinNTFileSystem_list: nativeContext
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5114
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5115
    <javanative: 'java/io/WinNTFileSystem' name: 'list(Ljava/io/File;)[Ljava/lang/String;'>
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5116
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5117
    ^ self _java_io_UnixFileSystem_list: nativeContext
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5118
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  5119
    "Modified: / 01-09-2011 / 21:46:37 / jv"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  5120
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  5121
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5122
!JavaVM class methodsFor:'native - java.lang'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5123
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5124
_java_lang_ClassLoader_NativeLibrary_load: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5125
    <javanative: 'java/lang/ClassLoader$NativeLibrary' name: 'load'>
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5126
    "/ introduced with jdk1.2 ... (sigh)
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5127
    
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5128
    | nativeLoader  jLibName  libName  libHandle  index |
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  5129
  
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5130
    nativeLoader := nativeContext receiver.
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5131
    jLibName := nativeContext argAt: 1.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5132
    libName := (Java as_ST_String: jLibName) asFilename baseName.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5133
    (index := SimulatedNativeLibs indexOf: libName) ~~ 0 ifTrue: [
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5134
        "/        ('JAVA: builtIn nativeLibLoad simulated: ' , libName) printNL.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5135
        nativeLoader instVarNamed: 'handle' put: index.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5136
        ^ self
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5137
        "/ void
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5138
    ].
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5139
    (LoadedNativeLibs notNil and: [ LoadedNativeLibs includesKey: libName ]) ifTrue: [
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5140
        "/        ('JAVA: native library already loaded: ' , libName) printNL.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5141
        nativeLoader instVarNamed: 'handle' put: (LoadedNativeLibs at: libName).
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5142
        ^ self
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5143
        "/ void
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5144
    ].
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5145
    (self confirm: 'permission to load native library: ' , libName , ' ?') ifFalse: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5146
        ^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5147
    ].
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5148
    self halt.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5149
    libName asFilename exists ifFalse: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5150
        ('JAVA: no file to load nativeLib: ' , libName) printNL.
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5151
        ^ self
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5152
        "/ void
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5153
    ].
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5154
    libHandle := ObjectFileLoader loadLibrary: libName.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5155
    libHandle isNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5156
        ('JAVA: failed to load nativeLib: ' , libName) printNL.
1079
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5157
        ^ self
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5158
        "/ void
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5159
    ].
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5160
    LoadedNativeLibs isNil ifTrue: [ LoadedNativeLibs := Dictionary new. ].
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5161
    LoadedNativeLibs at: libName put: libHandle.
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5162
    nativeLoader instVarNamed: 'handle' put: (LoadedNativeLibs at: libName).
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5163
    ^ self
0bab665c1e54 simulating libmanagement.so for tomcat
hlopkmar
parents: 1078
diff changeset
  5164
    "/ void
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5165
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5166
    "Modified: / 06-02-1998 / 03:12:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5167
    "Created: / 10-12-2010 / 15:11:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
  5168
    "Modified: / 03-11-2011 / 18:25:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5169
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5170
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5171
_java_lang_ClassLoader_defineClass1: nativeContext 
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5172
    <javanative: 'java/lang/ClassLoader' name: 'defineClass1'>
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5173
    "
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5174
     private native Class defineClass1(String name, byte[] b, int off, int len,
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5175
                                      ProtectionDomain pd, String source);"
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5176
    
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5177
    | className  b  off  len  pd  source  bs  cls |
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5178
    className := Java as_ST_String: (nativeContext argAt: 1).
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5179
     "if name starts with java.* or package is signed by something else and we are not signed, throw security exception" "ClassLoadersTest>>testEyeOpeningClassLoaderLoadObject"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5180
    (className startsWith: 'java.') ifTrue: [       
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5181
        self throwSecurityExceptionWith: 'className=' , className
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5182
    ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5183
    cls := ClassRegistry 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5184
                classForName: className asSlashedJavaClassName
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5185
                loader: nativeContext receiver
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5186
                ifAbsentPut: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5187
                    b := nativeContext argAt: 2.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5188
                    off := nativeContext argAt: 3.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5189
                    len := nativeContext argAt: 4.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5190
                    pd := nativeContext argAt: 5.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5191
                    source := Java as_ST_String: (nativeContext argAt: 6).
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5192
                    (off = 0 and: [ len = b size ]) ifTrue: [ bs := b readStream ] ifFalse: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5193
                        bs := (b copyFrom: off + 1 to: off + len) readStream
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5194
                    ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5195
                    [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5196
                        JavaClassReader classLoaderQuerySignal answer: nativeContext receiver
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5197
                            do: [ cls := JavaClassReader readStream: bs. ]
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5198
                    ] on: JavaClassReader invalidClassFormatSignal
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5199
                            do: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5200
                        :ex | 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5201
                        self throwClassFormatError: ex description.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5202
                        ^ nil.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5203
                    ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5204
                    self assert: cls classLoader == nativeContext receiver.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5205
                     "FIXME: What to do with source?"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5206
                    cls.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5207
                ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5208
    ^ self reflection javaClassObjectForClass: cls.
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5209
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5210
    "Modified: / 30-10-2011 / 21:46:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5211
    "Modified: / 02-11-2011 / 22:10:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5212
!
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5213
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5214
_java_lang_ClassLoader_findBootstrapClass: nativeContext 
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5215
    <javanative: 'java/lang/ClassLoader' name: 'findBootstrapClass'>
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5216
    "Return class loaded by bootstrap (primordial) classloader or null.
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5217
     See OpenJDK, file src/jdk7/hostspot/src/share/vm/prims/jvm.cpp"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5218
    
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5219
    | nm  class |
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5220
    nm := Java as_ST_String: (nativeContext argAt: 1).
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5221
    class := ClassRegistry 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5222
                classForName: nm asSlashedJavaClassName
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5223
                loader: nil
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5224
                ifAbsentPut: [ class := JavaVM usePrimordialCLToLoadClassNamed: nm. ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5225
         
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5226
    ^ class notNil 
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5227
        ifTrue: [ self reflection javaClassObjectForClass: class ]
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5228
        ifFalse: [ self throwClassNotFoundException: nm ].
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5229
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5230
    "Modified: / 30-10-2011 / 21:45:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5231
    "Modified: / 02-11-2011 / 20:13:41 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5232
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5233
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5234
_java_lang_ClassLoader_findLoadedClass0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5235
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5236
    <javanative: 'java/lang/ClassLoader' name: 'findLoadedClass0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5237
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5238
    "
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5239
    Return java class object for class with given name
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5240
    loaded by the receiver or null if not found.
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5241
    See OpenJDK:
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5242
        src/jdk7/hostspot/src/share/vm/classfile/systemDictionary.cpp
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5243
        src/jdk7/hostspot/src/share/vm/prims/jvm.cpp
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5244
        
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5245
    "        
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5246
    | nm class |
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5247
    nm := Java as_ST_String: (nativeContext argAt:1).
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5248
    class := ClassRegistry classNamed: nm asSlashedJavaClassName loader: nativeContext receiver.
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5249
    
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
  5250
    ^class notNil ifTrue: [
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5251
        self reflection javaClassObjectForClass:class
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5252
    ] ifFalse:[
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5253
        nil
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5254
    ]
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5255
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5256
    "Modified: / 30-10-2011 / 21:48:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5257
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5258
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5259
_java_lang_ClassLoader_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5260
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5261
    <javanative: 'java/lang/ClassLoader' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5262
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5263
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5264
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5265
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5266
    "Created: / 09-11-2010 / 20:55:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5267
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5268
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5269
_java_lang_ClassLoader_resolveClass0: nativeContext 
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5270
    <javanative: 'java/lang/ClassLoader' name: 'resolveClass0'>
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  5271
    "resolve a new class as previously created by defineClass0"
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5272
    
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5273
    | jClassLoader  jCls  cls  anyUnresolved |
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5274
    jClassLoader := nativeContext receiver.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5275
    jCls := nativeContext argAt: 1.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5276
    jCls isNil ifTrue: [
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5277
        self halt.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5278
        ^ nil
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5279
    ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5280
    cls := self reflection classForJavaClassObject: jCls.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5281
    cls isNil ifTrue: [
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5282
        self halt.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5283
        ^ nil
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5284
    ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5285
    JavaClassReader classLoaderQuerySignal answer: jClassLoader
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5286
        do: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5287
            "correct this so it works with new resolving"
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5288
            JavaClassReader resolveClass: cls.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5289
            
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5290
"/        JavaClassReader postLoadActions:true.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5291
            
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5292
            anyUnresolved := false.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5293
            cls constantPool do: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5294
                :entry | 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5295
                (entry isMemberOf: JavaUnresolvedClassConstant) ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5296
                    self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5297
                    entry preResolve.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5298
                    self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5299
                    anyUnresolved := true.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5300
                ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5301
            ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5302
        ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5303
    anyUnresolved ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5304
        jClassLoader notNil ifTrue: [
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5305
            "/ any unresolved left -> try resolving with standard loader
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5306
            JavaClassReader classLoaderQuerySignal answer: nil
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5307
                do: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5308
                    cls constantPool do: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5309
                        :entry | 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5310
                        (entry isMemberOf: JavaUnresolvedClassConstant) ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5311
                            self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5312
                            entry preResolve.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  5313
                            self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5314
                        ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5315
                    ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5316
                ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5317
        ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5318
    ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5319
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5320
    "Created: / 07-01-1998 / 13:12:27 / cg"
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5321
    "Modified: / 20-10-1998 / 19:01:57 / cg"
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5322
    "Modified: / 28-01-2011 / 15:28:18 / Marcel Hlopko <hlopik@gmail.com>"
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  5323
    "Modified: / 14-09-2011 / 22:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5324
    "Modified: / 02-11-2011 / 22:10:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5325
!
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  5326
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5327
_java_lang_Class_desiredAssertionStatus0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5328
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5329
    <javanative: 'java/lang/Class' name: 'desiredAssertionStatus0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5330
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5331
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5332
    ^AssertionsEnabled == true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5333
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5334
    "Created: / 24-11-2010 / 08:58:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5335
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5336
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5337
_java_lang_Class_forName0: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5338
    <javanative: 'java/lang/Class' name: 'forName0'>
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5339
    | nm  initialize  loader  class  descriptor |
1024
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  5340
    nm := Java as_ST_String: (aJavaContext argAt: 1).
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5341
     "Using Class.forName() to get a primitive type is not allowed"
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5342
    (nm size == 1 and: [ JavaDescriptor baseTypes includesKey: nm first ]) ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5343
        ^ self throwClassNotFoundException: nm.
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5344
    ].
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5345
    (JavaDescriptor baseTypesByTypeName includesKey: nm) ifTrue: [
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5346
        ^ self throwClassNotFoundException: nm.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5347
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5348
    initialize := aJavaContext argAt: 2.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5349
    loader := aJavaContext argAt: 3.
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5350
    JavaClassReader classLoaderQuerySignal answer: loader
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5351
        do: [
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5352
            (nm first == $[) ifTrue: [
1063
vranyj1
parents: 1062
diff changeset
  5353
                | nms |
vranyj1
parents: 1062
diff changeset
  5354
                nms := nm readStream.
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5355
                descriptor := JavaDescriptor readFrom: nms
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5356
                            onError: [ ^ self throwClassNotFoundException: nm ].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5357
                nms atEnd ifFalse: [ ^ self throwClassNotFoundException: nm ].
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5358
                class := descriptor javaClass.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5359
            ] ifFalse: [ class := self classForName: nm ]
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5360
        ].
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  5361
    class isNil ifTrue: [ ^ self throwClassNotFoundException: nm ].
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5362
    ((initialize ~~ 0) 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5363
        and: [ class isJavaArrayClass not and: [ class isJavaPrimitiveType not ] ]) 
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5364
            ifTrue: [
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5365
                [ class classInit ] on: Error
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5366
                    do: [ self throwExceptionInInitializerError: nm ]
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5367
            ].
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5368
    ^ JavaVM javaClassObjectForClass: class.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5369
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5370
    "Created: / 24-11-2010 / 09:03:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1063
vranyj1
parents: 1062
diff changeset
  5371
    "Modified: / 30-10-2011 / 23:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
  5372
    "Modified: / 02-11-2011 / 19:12:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5373
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5374
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5375
_java_lang_Class_getClassLoader0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5376
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5377
    <javanative: 'java/lang/Class' name: 'getClassLoader0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5378
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5379
        "get a classes loader"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5380
    
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5381
    |jClass cls clc loader |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5382
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5383
    jClass := aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5384
    cls := self reflection classForJavaClassObject:jClass.
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5385
    cls isJavaPrimitiveType ifTrue:[^nil].
915
vranyj1
parents: 914
diff changeset
  5386
    [ cls isJavaArrayClass ] whileTrue:[cls := cls javaComponentClass].
1063
vranyj1
parents: 1062
diff changeset
  5387
    cls isJavaPrimitiveType ifTrue:[^nil].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5388
    loader := cls classLoader.
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5389
"/    loader isNil ifTrue:[
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5390
"/        cls := (Java at:'java/lang/ClassLoader').
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5391
"/        clc notNil ifTrue:[loader := clc instVarNamed: #scl].
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5392
"/    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5393
    ^ loader
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5394
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5395
    "Created: / 25-10-2010 / 22:49:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5396
    "Modified: / 28-01-2011 / 15:18:54 / Marcel Hlopko <hlopik@gmail.com>"
1063
vranyj1
parents: 1062
diff changeset
  5397
    "Modified: / 30-10-2011 / 23:24:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5398
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5399
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5400
_java_lang_Class_getComponentType: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5401
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5402
    <javanative: 'java/lang/Class' name: 'getComponentType'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5403
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5404
        |cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5405
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5406
    cls := self reflection classForJavaClassObject:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5407
    cls isJavaPrimitiveType ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5408
        self breakPoint:#jv.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5409
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5410
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5411
    ^ self javaClassObjectForClass:cls javaComponentClass
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5412
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5413
    "Created: / 12-11-1998 / 18:54:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5414
    "Modified: / 20-12-2010 / 22:56:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5415
    "Modified: / 28-01-2011 / 15:18:59 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5416
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5417
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5418
_java_lang_Class_getConstantPool: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5419
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5420
    <javanative: 'java/lang/Class' name: 'getConstantPool'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5421
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5422
        | class |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5423
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5424
    class := self reflection classForJavaClassObject:aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5425
    ^ self reflection javaConstantPoolObjectFor:class constantPool.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5426
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5427
    "Created: / 21-12-2010 / 20:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5428
    "Modified: / 28-02-2011 / 18:05:13 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5429
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5430
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5431
_java_lang_Class_getDeclaredClasses0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5432
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5433
    <javanative: 'java/lang/Class' name: 'getDeclaredClasses0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5434
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5435
    | class innerPrefix inners |
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5436
    class := self reflection classForJavaClassObject: nativeContext receiver.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5437
    innerPrefix := class name , '$'.                
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5438
    inners := Set new.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5439
    JAVA allClassesDo:[:cls|
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5440
        (cls name startsWith: innerPrefix) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5441
            inners add: (self reflection javaClassObjectForClass: cls)
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5442
        ].
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5443
    ].
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5444
    ^(Java at: 'java.lang.Class') javaArrayClass withAll: inners
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5445
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5446
    "Modified: / 01-09-2011 / 00:09:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5447
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5448
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5449
_java_lang_Class_getDeclaredConstructors0:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5450
    <javanative: 'java/lang/Class' name: 'getDeclaredConstructors0'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5451
    |class publicOnly constructors|
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5452
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5453
    class := self reflection classForJavaClassObject:(aJavaContext receiver).
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5454
    (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5455
        ^ (self classForName:'java.lang.reflect.Constructor') javaArrayClass new:0
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5456
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5457
    publicOnly := (aJavaContext argAt:1) == 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5458
    constructors := OrderedCollection new.
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5459
    JavaClassReader classLoaderQuerySignal answer: class classLoader do:[
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5460
    class selectorsAndMethodsDo:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5461
            [:selector :method | 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5462
            (method isJavaMethod and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5463
                    [ (selector at:1) == $< and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5464
                            [ (selector startsWith:'<init>(') 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5465
                                and:[ publicOnly not or:[ method isPublic ] ] ] ]) 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5466
                ifTrue:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5467
                    [ constructors add:(self reflection javaConstructorObjectForMethod:method) ] ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5468
    ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5469
    ^ (self classForName:'java.lang.reflect.Constructor') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5470
        withAll:constructors
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5471
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5472
    "Created: / 24-11-2010 / 09:25:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5473
    "Modified: / 09-02-2011 / 01:24:03 / Marcel Hlopko <hlopik@gmail.com>"
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5474
    "Modified: / 01-09-2011 / 09:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5475
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5476
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5477
_java_lang_Class_getDeclaredFields0:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5478
    <javanative: 'java/lang/Class' name: 'getDeclaredFields0'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5479
    |javaClassObject class fields publicOnly|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5480
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5481
    class := self reflection 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5482
                classForJavaClassObject:(javaClassObject := aJavaContext argAt:0).
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5483
    (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5484
        ^(self classForName:'java.lang.reflect.Field') javaArrayClass new:0.
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5485
    ].
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5486
    
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5487
    publicOnly := (aJavaContext argAt:1) == 1.
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  5488
    fields := class fields , class staticFields.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5489
    publicOnly ifTrue:[ fields := fields select:[:f | f isPublic ] ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5490
    JavaClassReader classLoaderQuerySignal answer: class classLoader do:[
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5491
    fields := fields 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5492
                collect:[:f | self javaFieldObjectForField:f in:javaClassObject ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5493
    ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5494
    ^ (self classForName:'java.lang.reflect.Field') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5495
        withAll:fields
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5496
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5497
    "Created: / 10-11-2010 / 16:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5498
    "Modified: / 28-01-2011 / 15:19:06 / Marcel Hlopko <hlopik@gmail.com>"
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5499
    "Modified: / 31-08-2011 / 22:21:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5500
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5501
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5502
_java_lang_Class_getDeclaredMethods0:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5503
    <javanative: 'java/lang/Class' name: 'getDeclaredMethods0'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5504
    |class publicOnly methods|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5505
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5506
    class := self reflection classForJavaClassObject:(aJavaContext receiver).
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5507
    publicOnly := (aJavaContext argAt:1) == 1.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5508
    methods := OrderedCollection new.
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5509
    (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5510
        ^(self classForName:'java.lang.reflect.Method') javaArrayClass new:0
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5511
    ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5512
    JavaClassReader classLoaderQuerySignal answer: class classLoader do:[
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5513
    class selectorsAndMethodsDo:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5514
            [:selector :method | 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5515
            (method isJavaMethod and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5516
                    [ (selector at:1) ~~ $< and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5517
                            [ (selector startsWith:'<init>(') not 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5518
                                and:[ publicOnly not or:[ method isPublic ] ] ] ]) 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5519
                ifTrue:[ methods add:(self javaMethodObjectForMethod:method) ] ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5520
    ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5521
    ^ (self classForName:'java.lang.reflect.Method') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5522
        withAll:methods asArray
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5523
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5524
    "Created: / 21-12-2010 / 22:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5525
    "Modified: / 28-01-2011 / 15:19:09 / Marcel Hlopko <hlopik@gmail.com>"
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
  5526
    "Modified: / 04-06-2011 / 17:07:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5527
    "Modified: / 01-09-2011 / 09:40:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5528
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5529
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5530
_java_lang_Class_getDeclaringClass: nativeContext 
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5531
    <javanative: 'java/lang/Class' name: 'getDeclaringClass'>
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5532
    "
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5533
     /**
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5534
     * If the class or interface represented by this {@code Class} object
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5535
     * is a member of another class, returns the {@code Class} object
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5536
     * representing the class in which it was declared.  This method returns
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5537
     * null if this class or interface is not a member of any other class.  If
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5538
     * this {@code Class} object represents an array class, a primitive
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5539
     * type, or void,then this method returns null.
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5540
     *
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5541
     * @return the declaring class for this class
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5542
     * @since JDK1.1
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5543
     */"
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5544
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5545
    | cls  enclosingClsName  enclosingCls |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5546
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5547
    cls := self reflection classForJavaClassObject: (nativeContext receiver).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5548
    (cls isJavaPrimitiveType or: [ cls isJavaArrayClass ]) ifTrue: [ ^ nil ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5549
    (cls name includes: $$) ifFalse: [ ^ nil ].
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5550
    enclosingClsName := cls name copyTo: (cls name lastIndexOf: $$) - 1.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5551
    enclosingCls := self classForName: enclosingClsName.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5552
    enclosingCls isNil ifTrue: [ self error: 'Cannot fins declaring class' ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  5553
    ^ self reflection javaClassObjectForClass: enclosingCls
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5554
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5555
    "Modified: / 13-08-2011 / 02:01:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5556
!
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5557
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5558
_java_lang_Class_getEnclosingMethod0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5559
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5560
    <javanative: 'java/lang/Class' name: 'getEnclosingMethod0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5561
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5562
    ^nil "/Not true"
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5563
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5564
    "Modified: / 14-08-2011 / 20:05:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5565
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5566
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5567
_java_lang_Class_getGenericSignature: nativeContext
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5568
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5569
    <javanative: 'java/lang/Class' name: 'getGenericSignature'>
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5570
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5571
    |cls sig |
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5572
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5573
    cls := self reflection classForJavaClassObject:(nativeContext receiver).
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5574
    (cls isJavaPrimitiveType or:[cls isJavaArrayClass]) ifTrue:[^nil].
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5575
    sig := cls signatureJ.
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5576
    ^sig notNil ifTrue:[
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5577
        Java as_String: sig
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5578
    ] ifFalse:[
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5579
        nil
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5580
    ]
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5581
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5582
    "Modified: / 13-08-2011 / 02:19:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5583
!
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5584
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5585
_java_lang_Class_getInterfaces:nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5586
    <javanative: 'java/lang/Class' name: 'getInterfaces'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5587
    |jClass cls interfaces jInterfaces|
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5589
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5590
    cls := self reflection classForJavaClassObject:jClass.
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5591
    cls isJavaPrimitiveType ifTrue:[
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5592
        ^ (self classForName:'java.lang.Class') javaArrayClass new 
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5593
    ].
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5594
    cls isJavaArrayClass ifTrue:[
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5595
        ^ (self classForName:'java.lang.Class') javaArrayClass        
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5596
            with:(self javaClassObjectForClass:(self classForName: 'java.lang.Cloneable'))
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5597
            with:(self javaClassObjectForClass:(self classForName: 'java.io.Serializable'))            
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5598
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5599
    interfaces := cls interfaces.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5600
    interfaces 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5601
        ifNil:[ ^ (self classForName:'java.lang.Class') javaArrayClass new ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5602
    jInterfaces := (self classForName:'java.lang.Class') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5603
                new:interfaces size.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5604
    interfaces 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5605
        withIndexDo:[:iface :idx | jInterfaces at:idx put:(self javaClassObjectForClass:iface) ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5606
    ^ jInterfaces
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5607
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5608
    "Modified: / 28-01-2011 / 15:19:11 / Marcel Hlopko <hlopik@gmail.com>"
1062
69aac7194016 Fixes in classloaders to make Groovy running (again)
vranyj1
parents: 1060
diff changeset
  5609
    "Modified: / 30-10-2011 / 20:04:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5610
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5611
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5612
_java_lang_Class_getModifiers: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5613
    <javanative: 'java/lang/Class' name: 'getModifiers'>
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5614
    | cls modifiers |
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5615
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5616
    cls := (self reflection classForJavaClassObject: aJavaContext receiver).
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5617
    (cls isJavaPrimitiveType or: [ cls isJavaArrayClass ]) ifTrue: [ 
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5618
        modifiers := ACC_ABSTRACT | ACC_FINAL | ACC_PUBLIC 
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5619
    ] ifFalse: [ 
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5620
        "According to OpenJDK JVM, strip ACC_SUPER"
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5621
        modifiers := (cls accessFlags & ACC_SUPER bitInvert) & 16r7FFF.
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5622
        "JV@2011-10-30: It seems that private inner classes has no
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5623
         private bit set, sigh"
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5624
        (modifiers & 16r0007) == 0 ifTrue:[
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5625
            modifiers := modifiers | ACC_PRIVATE.
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5626
        ].
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5627
    ].
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5628
    ^modifiers
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5629
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5630
    "Created: / 12-11-1998 / 18:54:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5631
    "Modified: / 28-01-2011 / 15:19:14 / Marcel Hlopko <hlopik@gmail.com>"
1060
c3ac98001802 Yet another set of hacks for classloaders
vranyj1
parents: 1059
diff changeset
  5632
    "Modified: / 30-10-2011 / 17:26:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5633
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5634
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5635
_java_lang_Class_getName0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5636
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5637
    <javanative: 'java/lang/Class' name: 'getName0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5638
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5639
        |class|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5640
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5641
    class := aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5642
    class := self reflection classForJavaClassObject:aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5643
    ^ self reflection 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5644
        javaStringObjectForString:class javaName
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5645
        interned:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5646
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5647
    "Created: / 22-11-2010 / 17:50:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5648
    "Modified: / 09-02-2011 / 01:06:53 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5649
    "Modified: / 25-02-2011 / 19:00:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5650
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5651
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5652
_java_lang_Class_getPrimitiveClass: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5653
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5654
    <javanative: 'java/lang/Class' name: 'getPrimitiveClass'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5655
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5656
        "get a primitive class by name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5657
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5658
    |jClassName className|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5659
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5660
    jClassName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5661
    className := Java as_ST_String:jClassName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5662
    (JavaDescriptor baseTypesByTypeName keys includes: className)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5663
        ifFalse:[self throwClassNotFoundException:className].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5664
    ^self reflection javaClassObjectForClassNamed: className
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5665
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5666
    "Created: / 04-01-1998 / 00:46:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5667
    "Modified: / 28-01-2011 / 15:30:45 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5668
    "Modified: / 03-02-2011 / 21:43:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5669
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5670
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5671
_java_lang_Class_getProtectionDomain0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5672
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5673
    <javanative: 'java/lang/Class' name: 'getProtectionDomain0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5674
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5675
    ^(self reflection classForJavaClassObject: nativeContext receiver)
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5676
        protectionDomain
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5677
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5678
    "Modified: / 10-08-2011 / 15:19:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5679
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5680
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5681
_java_lang_Class_getRawAnnotations: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5682
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5683
    <javanative: 'java/lang/Class' name: 'getRawAnnotations'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5684
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5685
        |class |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5686
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5687
    class := self reflection classForJavaClassObject:aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5688
    ^ class runtimeVisibleAnnotationsAsBytesOrNil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5689
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5690
    "Created: / 21-12-2010 / 19:35:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5691
    "Modified: / 28-01-2011 / 15:19:20 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5692
    "Modified: / 25-02-2011 / 16:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5693
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5694
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5695
_java_lang_Class_getSuperclass: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5696
    <javanative: 'java/lang/Class' name: 'getSuperclass'>
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5697
    "return a classes superclass"
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5698
    
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5699
    | jClass  cls  superCls |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5700
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5701
    jClass := nativeContext receiver.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5702
    cls := self reflection classForJavaClassObject: jClass.
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5703
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5704
    cls isJavaPrimitiveType ifTrue: [ ^ nil ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5705
    cls isJavaArrayClass ifTrue: [
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5706
        ^ self javaClassObjectForClass: (Java at: 'java.lang.Object')
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5707
    ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5708
    cls isInterface ifTrue: [ ^ nil ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5709
    superCls := cls superclass.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5710
    superCls == JavaObject ifTrue: [ ^ nil. ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5711
    ^ self javaClassObjectForClass: superCls
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5712
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5713
    "Created: / 12-01-1998 / 12:38:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5714
    "Modified: / 04-02-1998 / 14:51:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5715
    "Modified: / 28-01-2011 / 14:12:47 / Marcel Hlopko <hlopik@gmail.com>"
915
vranyj1
parents: 914
diff changeset
  5716
    "Modified: / 15-08-2011 / 09:09:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5717
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5718
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5719
_java_lang_Class_isArray: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5720
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5721
    <javanative: 'java/lang/Class' name: 'isArray'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5722
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5723
        ^ (self reflection classForJavaClassObject:nativeContext receiver) isJavaArrayClass 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5724
        ifTrue:[1]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5725
        ifFalse:[0]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5726
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5727
    "Created: / 12-11-1998 / 18:54:24 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5728
    "Modified: / 20-12-2010 / 23:20:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5729
    "Modified: / 28-01-2011 / 15:19:24 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5730
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5731
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5732
_java_lang_Class_isAssignableFrom: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5733
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5734
    <javanative: 'java/lang/Class' name: 'isAssignableFrom'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5735
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5736
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5737
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5738
     * Determines if the class or interface represented by this
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5739
     * {@code Class} object is either the same as, or is a superclass or
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5740
     * superinterface of, the class or interface represented by the specified
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5741
     * {@code Class} parameter. It returns {@code true} if so;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5742
     * otherwise it returns {@code false}. If this {@code Class}
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5743
     * object represents a primitive type, this method returns
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5744
     * {@code true} if the specified {@code Class} parameter is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5745
     * exactly this {@code Class} object; otherwise it returns
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5746
     * {@code false}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5747
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5748
     * <p> Specifically, this method tests whether the type represented by the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5749
     * specified {@code Class} parameter can be converted to the type
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5750
     * represented by this {@code Class} object via an identity conversion
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5751
     * or via a widening reference conversion. See <em>The Java Language
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5752
     * Specification</em>, sections 5.1.1 and 5.1.4 , for details.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5753
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5754
     * @param cls the {@code Class} object to be checked
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5755
     * @return the {@code boolean} value indicating whether objects of the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5756
     * type {@code cls} can be assigned to objects of this class
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5757
     * @exception NullPointerException if the specified Class parameter is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5758
     *            null.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5759
     * @since JDK1.1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5760
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5761
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5762
    | clsObj me other |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5763
    clsObj := nativeContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5764
    clsObj ifNil:[^self throwNullPointerException].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5765
    me := self reflection classForJavaClassObject: nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5766
    other := self reflection classForJavaClassObject: clsObj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5767
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5768
    "/    Determines if the class or interface represented by this
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5769
    "/    @code Class} object is either the same as, or is a superclass or
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5770
    "/    superinterface of, the class or interface represented by the specified
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5771
    "/    {@code Class} parameter.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5773
    ^(other includesBehavior: me)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5774
        ifTrue:[1]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5775
        ifFalse:[0]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5776
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5777
    "Created: / 12-11-1998 / 18:54:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5778
    "Modified: / 05-02-2011 / 23:38:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5779
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5780
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5781
_java_lang_Class_isInstance: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5782
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5783
    <javanative: 'java/lang/Class' name: 'isInstance'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5784
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5785
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5786
    /**
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5787
     * Determines if the specified {@code Object} is assignment-compatible
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5788
     * with the object represented by this {@code Class}.  This method is
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5789
     * the dynamic equivalent of the Java language {@code instanceof}
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5790
     * operator. The method returns {@code true} if the specified
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5791
     * {@code Object} argument is non-null and can be cast to the
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5792
     * reference type represented by this {@code Class} object without
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5793
     * raising a {@code ClassCastException.} It returns {@code false}
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5794
     * otherwise.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5795
     *
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5796
     * <p> Specifically, if this {@code Class} object represents a
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5797
     * declared class, this method returns {@code true} if the specified
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5798
     * {@code Object} argument is an instance of the represented class (or
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5799
     * of any of its subclasses); it returns {@code false} otherwise. If
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5800
     * this {@code Class} object represents an array class, this method
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5801
     * returns {@code true} if the specified {@code Object} argument
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5802
     * can be converted to an object of the array class by an identity
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5803
     * conversion or by a widening reference conversion; it returns
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5804
     * {@code false} otherwise. If this {@code Class} object
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5805
     * represents an interface, this method returns {@code true} if the
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5806
     * class or any superclass of the specified {@code Object} argument
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5807
     * implements this interface; it returns {@code false} otherwise. If
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5808
     * this {@code Class} object represents a primitive type, this method
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5809
     * returns {@code false}.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5810
     *
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5811
     * @param   obj the object to check
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5812
     * @return  true if {@code obj} is an instance of this class
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5813
     *
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5814
     * @since JDK1.1
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5815
     */
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5816
    public native boolean isInstance(Object obj);
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5817
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5818
    
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5819
    |jClass cls obj|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5820
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5821
    obj := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5822
    obj isNil ifTrue:[^ 0].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5823
    jClass := nativeContext receiver.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5824
    cls := self reflection classForJavaClassObject:jClass.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5825
    ^self _INSTANCEOF:obj _:cls
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5826
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5827
    "Modified: / 09-02-1998 / 14:56:23 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5828
    "Modified: / 28-01-2011 / 14:12:42 / Marcel Hlopko <hlopik@gmail.com>"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5829
    "Modified: / 25-02-2011 / 18:37:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5830
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5831
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5832
_java_lang_Class_isInterface: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5833
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5834
    <javanative: 'java/lang/Class' name: 'isInterface'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5835
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5836
        "return true, if this class is an interface"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5837
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5838
    |jClass cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5839
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5840
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5841
    cls := self reflection classForJavaClassObject:jClass. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5842
    cls isJavaClass ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5843
        ^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5844
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5845
    cls isInterface ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5846
        ^ 1 "TRUE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5847
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5848
    ^ 0 "FALSE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5849
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5850
    "Created: / 12-01-1998 / 12:37:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5851
    "Modified: / 28-01-2011 / 14:12:35 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5852
    "Modified: / 03-02-2011 / 21:50:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5853
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5854
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5855
_java_lang_Class_isPrimitive: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5856
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5857
    <javanative: 'java/lang/Class' name: 'isPrimitive'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5858
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5859
        "return true, if this class is builtin primitive class
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5860
     (i.e. byteArray, array, string etc."
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5861
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5862
    |jClass cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5863
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5864
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5865
    cls := self reflection classForJavaClassObject:jClass. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5866
    ^cls isJavaPrimitiveType 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5867
        ifTrue:[1"true"]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5868
        ifFalse:[0"false"].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5869
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5870
    "Created: / 09-02-1998 / 14:46:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5871
    "Modified: / 28-01-2011 / 14:12:30 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5872
    "Modified: / 04-02-2011 / 11:56:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5873
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5874
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5875
_java_lang_Class_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5876
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5877
    <javanative: 'java/lang/Class' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5878
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5879
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5880
     "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5881
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5882
    "Created: / 20-10-2010 / 11:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5883
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5884
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5885
_java_lang_Class_setProtectionDomain0: nativeContext
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5886
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5887
    <javanative: 'java/lang/Class' name: 'getProtectionDomain0'>
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5888
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5889
    (self reflection classForJavaClassObject: nativeContext receiver)
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5890
        protectionDomain: (nativeContext argAt:1)
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5891
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5892
    "Created: / 10-08-2011 / 15:20:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5893
!
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5894
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5895
_java_lang_Double_doubleToRawLongBits: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5896
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5897
    <javanative: 'java/lang/Double' name: 'doubleToRawLongBits'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5898
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5899
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5900
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5901
     * Returns a representation of the specified floating-point value
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5902
     * according to the IEEE 754 floating-point 'double
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5903
     * format' bit layout, preserving Not-a-Number (NaN) values.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5904
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5905
     * <p>Bit 63 (the bit that is selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5906
     * {@code 0x8000000000000000L}) represents the sign of the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5907
     * floating-point number. Bits
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5908
     * 62-52 (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5909
     * {@code 0x7ff0000000000000L}) represent the exponent. Bits 51-0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5910
     * (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5911
     * {@code 0x000fffffffffffffL}) represent the significand
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5912
     * (sometimes called the mantissa) of the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5913
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5914
     * <p>If the argument is positive infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5915
     * {@code 0x7ff0000000000000L}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5916
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5917
     * <p>If the argument is negative infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5918
     * {@code 0xfff0000000000000L}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5919
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5920
     * <p>If the argument is NaN, the result is the {@code long}
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5921
     * integer representing the actual NaN value.  Unlike the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5922
     * {@code doubleToLongBits} method,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5923
     * {@code doubleToRawLongBits} does not collapse all the bit
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5924
     * patterns encoding a NaN to a single 'canonical' NaN
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5925
     * value.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5926
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5927
     * <p>In all cases, the result is a {@code long} integer that,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5928
     * when given to the {@link #longBitsToDouble(long)} method, will
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5929
     * produce a floating-point value the same as the argument to
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5930
     * {@code doubleToRawLongBits}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5931
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5932
     * @param   value   a {@code double} precision floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5933
     * @return the bits that represent the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5934
     * @since 1.3
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5935
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5936
    "
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5937
    | f b |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5938
    f := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5939
    (f =  0.0) ifTrue:[^0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5940
    (f = -0.0) ifTrue:[^(1 bitShift: 63)].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5941
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5942
    b := ByteArray streamContents:[:s|Float storeBinaryIEEEDouble:f on:s].
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5943
    ^ LargeInteger digitBytes: b MSB: UninterpretedBytes isBigEndian not.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5944
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5945
    "Created: / 10-11-2010 / 14:48:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5946
    "Modified: / 07-08-2011 / 21:43:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5947
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5948
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5949
_java_lang_Double_longBitsToDouble: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5950
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5951
    <javanative: 'java/lang/Double' name: 'longBitsToDouble'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5952
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5953
        |i aFloat|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5954
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5955
    i := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5956
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5957
    aFloat := Float new.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5958
    UninterpretedBytes isBigEndian ifTrue:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5959
	aFloat basicAt:1 put:((i bitShift:-56) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5960
	aFloat basicAt:2 put:((i bitShift:-48) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5961
	aFloat basicAt:3 put:((i bitShift:-40) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5962
	aFloat basicAt:4 put:((i bitShift:-32) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5963
	aFloat basicAt:5 put:((i bitShift:-24) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5964
	aFloat basicAt:6 put:((i bitShift:-16) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5965
	aFloat basicAt:7 put:((i bitShift:-8) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5966
	aFloat basicAt:8 put:(i bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5967
    ] ifFalse:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5968
	aFloat basicAt:1 put:(i bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5969
	aFloat basicAt:2 put:((i bitShift:-8) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5970
	aFloat basicAt:3 put:((i bitShift:-16) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5971
	aFloat basicAt:4 put:((i bitShift:-24) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5972
	aFloat basicAt:5 put:((i bitShift:-32) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5973
	aFloat basicAt:6 put:((i bitShift:-40) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5974
	aFloat basicAt:7 put:((i bitShift:-48) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5975
	aFloat basicAt:8 put:((i bitShift:-56) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5976
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5977
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5978
    ^ aFloat.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5979
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5980
    "Created: / 4.1.1998 / 01:45:00 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5981
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5982
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5983
_java_lang_Float_floatToRawIntBits: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5984
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5985
    <javanative: 'java/lang/Float' name: 'floatToRawIntBits'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5986
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5987
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5988
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5989
     * Returns a representation of the specified floating-point value
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5990
     * according to the IEEE 754 floating-point 'single format' bit
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5991
     * layout, preserving Not-a-Number (NaN) values.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5992
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5993
     * <p>Bit 31 (the bit that is selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5994
     * {@code 0x80000000}) represents the sign of the floating-point
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5995
     * number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5996
     * Bits 30-23 (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5997
     * {@code 0x7f800000}) represent the exponent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5998
     * Bits 22-0 (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5999
     * {@code 0x007fffff}) represent the significand (sometimes called
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6000
     * the mantissa) of the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6001
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6002
     * <p>If the argument is positive infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6003
     * {@code 0x7f800000}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6004
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6005
     * <p>If the argument is negative infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6006
     * {@code 0xff800000}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6007
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6008
     * <p>If the argument is NaN, the result is the integer representing
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6009
     * the actual NaN value.  Unlike the {@code floatToIntBits}
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6010
     * method, {@code floatToRawIntBits} does not collapse all the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6011
     * bit patterns encoding a NaN to a single 'canonical'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6012
     * NaN value.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6013
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6014
     * <p>In all cases, the result is an integer that, when given to the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6015
     * {@link #intBitsToFloat(int)} method, will produce a
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6016
     * floating-point value the same as the argument to
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6017
     * {@code floatToRawIntBits}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6018
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6019
     * @param   value   a floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6020
     * @return the bits that represent the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6021
     * @since 1.3
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6022
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6023
    "
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6024
    | f b |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6025
    f := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6026
    (f =  0.0) ifTrue:[^0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6027
    (f = -0.0) ifTrue:[^(1 bitShift: 31) ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6028
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6029
    b := ByteArray streamContents:[:s|ShortFloat storeBinaryIEEESingle:f on:s].
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6030
    ^ (LargeInteger digitBytes: b MSB: UninterpretedBytes isBigEndian not) compressed
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6031
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6032
    "Created: / 09-11-2010 / 20:59:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6033
    "Modified: / 07-08-2011 / 21:45:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6034
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6035
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6036
_java_lang_Float_intBitsToFloat: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6037
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6038
    <javanative: 'java/lang/Float' name: 'intBitsToFloat(I)F'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6039
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6040
    |i aFloat|
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6041
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6042
    i := nativeContext argAt:1.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6043
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6044
    aFloat := ShortFloat basicNew.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6045
    UninterpretedBytes isBigEndian ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6046
        aFloat basicAt:1 put:((i bitShift:-24) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6047
        aFloat basicAt:2 put:((i bitShift:-16) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6048
        aFloat basicAt:3 put:((i bitShift:-8) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6049
        aFloat basicAt:4 put:(i bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6050
    ] ifFalse:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6051
        aFloat basicAt:1 put:(i bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6052
        aFloat basicAt:2 put:((i bitShift:-8) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6053
        aFloat basicAt:3 put:((i bitShift:-16) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6054
        aFloat basicAt:4 put:((i bitShift:-24) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6055
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6056
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6057
    ^ aFloat.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6058
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6059
    "Modified: / 13-09-2011 / 20:05:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6060
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6061
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6062
_java_lang_Object_clone: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6063
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6064
    <javanative: 'java/lang/Object' name: 'clone'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6065
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6066
        "clone an object"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6067
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6068
    |o rslt|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6069
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6070
    o := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6071
    rslt := o shallowCopy.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6072
    ^ rslt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6073
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6074
    "Created: / 4.1.1998 / 19:39:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6075
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6076
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  6077
_java_lang_Object_getClass: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6078
    <javanative: 'java/lang/Object' name: 'getClass'>
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  6079
    "return an objects class"
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  6080
    
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  6081
    | o  cls  jClass |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6082
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6083
    o := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6084
    cls := o class.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  6085
    jClass := self javaClassObjectForClass: cls.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6086
    ^ jClass
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6087
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6088
    "Created: / 6.1.1998 / 18:28:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6089
    "Modified: / 23.1.1998 / 17:48:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6090
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6091
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6092
_java_lang_Object_hashCode: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6093
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6094
    <javanative: 'java/lang/Object' name: 'hashCode'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6095
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6096
        "identityHash"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6097
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6098
    |o rslt|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6099
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6100
    o := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6101
    rslt := o identityHash.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6102
    ^ rslt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6103
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6104
    "Created: / 4.1.1998 / 19:40:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6105
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6106
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6107
_java_lang_Object_notify: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6108
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6109
    <javanative: 'java/lang/Object' name: 'notify'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6110
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6111
        "wakeup"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6112
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6113
    self wakeup:(nativeContext receiver).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6114
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6115
    "Created: / 6.1.1998 / 21:09:26 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6116
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6117
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6118
_java_lang_Object_notifyAll: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6119
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6120
    <javanative: 'java/lang/Object' name: 'notifyAll'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6121
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6122
        self wakeupAll:(nativeContext receiver).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6123
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6124
    "Created: / 3.1.1998 / 03:06:56 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6125
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6126
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6127
_java_lang_Object_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6128
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6129
    <javanative: 'java/lang/Object' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6130
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6131
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6132
    "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6133
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6134
    "Created: / 19-10-2010 / 12:42:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6135
    "Modified: / 20-10-2010 / 10:57:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6136
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6137
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6138
_java_lang_Object_wait: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6139
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6140
    <javanative: 'java/lang/Object' name: 'wait'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6141
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6142
    |tmo handle sema|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6143
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6144
    handle := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6145
    tmo := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6146
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6147
    sema := JavaVM semaphoreFor:handle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6148
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6149
    [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6150
        self waitFor:sema state:#javaWait timeOut:tmo.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6151
    ] valueOnUnwindDo:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6152
        JavaVM releaseSemaphoreFor:handle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6153
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6154
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6155
    ThreadTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6156
        '====> thread continues ...' printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6157
    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6158
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6159
    "Modified: / 30-12-1998 / 19:20:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6160
    "Modified: / 01-05-2011 / 13:26:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6161
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6162
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6163
_java_lang_Package_getSystemPackage0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6164
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6165
    <javanative: 'java/lang/Package' name: 'getSystemPackage0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6166
909
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  6167
    "Based on code on OpenJDK, it is ok to return nil here:"
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  6168
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  6169
    ^nil
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  6170
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  6171
    "Modified: / 12-08-2011 / 16:00:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6172
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6173
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6174
_java_lang_ProcessEnvironment_environ: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6175
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6176
    <javanative: 'java/lang/ProcessEnvironment' name: 'environ'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6177
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6178
    | env jenv i|
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6179
    env := OperatingSystem getEnvironment.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6180
    jenv :=  ByteArray javaArrayClass new: env size * 2.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6181
    i := 1.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6182
    env keysAndValuesDo:
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6183
        [:name :value|
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6184
        jenv 
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6185
            at: i   put: name  asByteArray;
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6186
            at: i+1 put: value asByteArray.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6187
        i := i + 2].
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6188
    ^jenv
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6189
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6190
    "Modified: / 25-06-2011 / 08:57:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6191
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6192
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6193
_java_lang_ProcessEnvironment_environmentBlock: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6194
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6195
    <javanative: 'java/lang/ProcessEnvironment' name: 'environmentBlock()Ljava/lang/String;'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6196
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6197
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6198
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6199
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6200
_java_lang_Runtime_gc: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6201
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6202
    <javanative: 'java/lang/Runtime' name: 'gc'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6203
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6204
        "Runs the garbage collector.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6205
     Ignored, since the ST-gc runs all the time."
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6206
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6207
    ^ self
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6208
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6209
    "Modified: / 12.1.1998 / 12:58:32 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6210
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6211
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6212
_java_lang_Runtime_runFinalization0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6213
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6214
    <javanative: 'java/lang/Runtime' name: 'runFinalization0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6215
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6216
    Smalltalk garbageCollect
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6217
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6218
    "Modified: / 08-08-2011 / 17:48:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6219
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6220
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6221
_java_lang_SecurityManager_getClassContext: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6222
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6223
    <javanative: 'java/lang/SecurityManager' name: 'getClassContext'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6224
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6225
    ^ nil "UnimplementedNativeMethodSignal raise"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6226
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6227
    "Created: / 12-11-1998 / 18:56:06 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6228
    "Modified: / 13-09-2011 / 19:44:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6229
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6230
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6231
_java_lang_Shutdown_halt0: nativeContext
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6232
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6233
    <javanative: 'java/lang/Shutdown' name: 'halt0'>
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6234
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6235
    "Intentionally left empty!!!!!!"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6236
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6237
    "Modified: / 10-08-2011 / 22:20:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6238
!
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  6239
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6240
_java_lang_StrictMath_cbrt: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6241
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6242
    <javanative: 'java/lang/StrictMath' name: 'cbrt'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6243
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6244
    ^ JavaMathSupport cbrt: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6245
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6246
    "Modified: / 07-09-2011 / 17:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6247
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6248
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6249
_java_lang_StrictMath_cos: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6250
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6251
    <javanative: 'java/lang/StrictMath' name: 'cos'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6252
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6253
    ^ JavaMathSupport cos: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6254
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6255
    "Modified: / 07-09-2011 / 17:34:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6256
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6257
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6258
_java_lang_StrictMath_cosh: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6259
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6260
    <javanative: 'java/lang/StrictMath' name: 'cosh'>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6261
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6262
    "
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6263
    /**
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6264
     * Returns the hyperbolic cosine of a {@code double} value.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6265
     * The hyperbolic cosine of <i>x</i> is defined to be
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6266
     * (<i>e<sup>x</sup>&nbsp;+&nbsp;e<sup>-x</sup></i>)/2
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6267
     * where <i>e</i> is {@linkplain Math#E Euler's number}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6268
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6269
     * <p>Special cases:
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6270
     * <ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6271
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6272
     * <li>If the argument is NaN, then the result is NaN.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6273
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6274
     * <li>If the argument is infinite, then the result is positive
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6275
     * infinity.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6276
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6277
     * <li>If the argument is zero, then the result is {@code 1.0}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6278
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6279
     * </ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6280
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6281
     * @param   x The number whose hyperbolic cosine is to be returned.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6282
     * @return  The hyperbolic cosine of {@code x}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6283
     * @since 1.5
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6284
     */
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6285
    public static native double cosh(double x);
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6286
    "
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6287
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6288
    ^JavaMathSupport cosh: (nativeContext argAt:1)
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6289
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6290
    "Modified: / 06-09-2011 / 19:25:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6291
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6292
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6293
_java_lang_StrictMath_expm1: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6294
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6295
    <javanative: 'java/lang/StrictMath' name: 'expm1'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6296
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6297
    ^ JavaMathSupport expm1: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6298
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6299
    "Modified: / 07-09-2011 / 17:34:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6300
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6301
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  6302
_java_lang_StrictMath_floor: nativeContext
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  6303
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  6304
    <javanative: 'java/lang/StrictMath' name: 'floor'>
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  6305
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6306
   ^ JavaMathSupport floor: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6307
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6308
    "Modified: / 07-09-2011 / 17:33:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6309
!
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6310
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6311
_java_lang_StrictMath_pow: nativeContext
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6312
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6313
    <javanative: 'java/lang/StrictMath' name: 'pow(DD)D'>
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6314
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6315
    ^JavaMathSupport pow: (nativeContext argAt:1) to: (nativeContext argAt:3)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6316
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6317
    "Modified: / 07-09-2011 / 17:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6318
!
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6319
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6320
_java_lang_StrictMath_sin: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6321
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6322
    <javanative: 'java/lang/StrictMath' name: 'cos'>
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6323
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6324
    ^ JavaMathSupport sin: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6325
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6326
    "Modified: / 07-09-2011 / 17:32:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6327
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6328
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6329
_java_lang_StrictMath_sinh: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6330
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6331
    <javanative: 'java/lang/StrictMath' name: 'sinh'>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6332
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6333
    "
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6334
    /**
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6335
     * Returns the hyperbolic sine of a {@code double} value.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6336
     * The hyperbolic sine of <i>x</i> is defined to be
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6337
     * (<i>e<sup>x</sup>&nbsp;-&nbsp;e<sup>-x</sup></i>)/2
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6338
     * where <i>e</i> is {@linkplain Math#E Euler's number}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6339
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6340
     * <p>Special cases:
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6341
     * <ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6342
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6343
     * <li>If the argument is NaN, then the result is NaN.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6344
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6345
     * <li>If the argument is infinite, then the result is an infinity
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6346
     * with the same sign as the argument.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6347
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6348
     * <li>If the argument is zero, then the result is a zero with the
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6349
     * same sign as the argument.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6350
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6351
     * </ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6352
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6353
     * @param   x The number whose hyperbolic sine is to be returned.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6354
     * @return  The hyperbolic sine of {@code x}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6355
     * @since 1.5
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6356
     */
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6357
    public static native double sinh(double x);
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6358
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6359
    "
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6360
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6361
    ^ JavaMathSupport sinh: (nativeContext argAt:1)
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6362
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6363
    "Modified: / 06-09-2011 / 19:36:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6364
    "Modified (format): / 07-09-2011 / 17:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6365
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6366
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6367
_java_lang_StrictMath_tanh: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6368
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6369
    <javanative: 'java/lang/StrictMath' name: 'tanh'>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6370
    "
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6371
    /**
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6372
     * Returns the hyperbolic tangent of a {@code double} value.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6373
     * The hyperbolic tangent of <i>x</i> is defined to be
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6374
     * (<i>e<sup>x</sup>&nbsp;-&nbsp;e<sup>-x</sup></i>)/(<i>e<sup>x</sup>&nbsp;+&nbsp;e<sup>-x</sup></i>),
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6375
     * in other words, {@linkplain Math#sinh
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6376
     * sinh(<i>x</i>)}/{@linkplain Math#cosh cosh(<i>x</i>)}.  Note
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6377
     * that the absolute value of the exact tanh is always less than
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6378
     * 1.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6379
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6380
     * <p>Special cases:
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6381
     * <ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6382
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6383
     * <li>If the argument is NaN, then the result is NaN.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6384
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6385
     * <li>If the argument is zero, then the result is a zero with the
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6386
     * same sign as the argument.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6387
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6388
     * <li>If the argument is positive infinity, then the result is
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6389
     * {@code +1.0}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6390
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6391
     * <li>If the argument is negative infinity, then the result is
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6392
     * {@code -1.0}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6393
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6394
     * </ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6395
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6396
     * @param   x The number whose hyperbolic tangent is to be returned.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6397
     * @return  The hyperbolic tangent of {@code x}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6398
     * @since 1.5
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6399
     */
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6400
    public static native double tanh(double x);
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6401
    "
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  6402
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6403
    ^ JavaMathSupport tanh: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6404
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6405
    "Modified: / 07-09-2011 / 17:32:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6406
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6407
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6408
_java_lang_String_intern: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6409
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6410
    <javanative: 'java/lang/String' name: 'intern'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6411
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6412
        |jString|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6413
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6414
    jString := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6415
    ^ Java intern:jString
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6416
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6417
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6418
_java_lang_System_arraycopy: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6419
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6420
    <javanative: 'java/lang/System' name: 'arraycopy'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6421
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6422
    |srcArray srcIdx dstArray dstIdx srcArrayCC dstArrayCC count dstEndIdx|
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6423
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6424
    srcArray := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6425
    srcArray isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6426
        ^ self throwNullPointerException
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6427
    ].
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6428
    srcArray isJavaArray ifFalse:[
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6429
        ^ self throwArrayStoreException:srcArray
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6430
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6431
    srcIdx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6432
    dstArray := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6433
    dstArray isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6434
        ^ self throwNullPointerException
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6435
    ].
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6436
    dstArray isJavaArray ifFalse:[
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6437
        ^ self throwArrayStoreException:dstArray
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6438
    ].
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6439
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6440
    srcArrayCC := srcArray class javaComponentClass.
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6441
    dstArrayCC := dstArray class javaComponentClass.
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6442
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6443
    srcArrayCC isJavaPrimitiveType == dstArrayCC isJavaPrimitiveType 
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6444
        ifTrue:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6445
            [srcArrayCC isJavaPrimitiveType
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6446
                ifTrue:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6447
                    [srcArrayCC ~~ dstArrayCC ifTrue:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6448
                        [^ self throwArrayStoreException:dstArray]].
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6449
            ]
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6450
        ifFalse:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6451
            [^ self throwArrayStoreException:dstArray].
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6452
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6453
    dstIdx := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6454
    count := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6455
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6456
    count < 0 ifTrue:[
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6457
        ^ self throwArrayIndexOutOfBoundsException:(srcIdx + count - 1)        
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6458
    ].
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6459
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6460
    ((srcIdx < 0) or:[srcIdx + count > srcArray size]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6461
        srcArray size == 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6462
            srcArray isVariable ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6463
                ^ self throwArrayStoreException:srcArray
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6464
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6465
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6466
        ^ self throwArrayIndexOutOfBoundsException:(srcIdx + count - 1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6467
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6468
    ((dstIdx < 0) or:[dstIdx + count > dstArray size]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6469
        dstArray size == 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6470
            dstArray isVariable ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6471
                ^ self throwArrayStoreException:dstArray
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6472
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6473
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6474
        ^ self throwArrayIndexOutOfBoundsException:(dstIdx + count - 1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6475
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6476
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6477
    dstEndIdx := dstIdx + count.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6478
    dstIdx := dstIdx + 1.       "/ ST uses 1-based indexing
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6479
    srcIdx := srcIdx + 1.       "/ ST uses 1-based indexing
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6480
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6481
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6482
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6483
    (srcArray class isBytes and:[dstArray class isBytes]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6484
        dstArray replaceBytesFrom:dstIdx to:dstEndIdx with:srcArray startingAt:srcIdx.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6485
    ] ifFalse:[
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6486
        dstArrayCC isJavaPrimitiveType ifFalse:[
992
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6487
            "Copy from array iff src=dst to avoid overwriting a data when copying"
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6488
            srcArray == dstArray ifTrue:[srcArray := srcArray copy].
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6489
            1 to: count do:[:i|
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6490
                | obj |
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6491
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6492
                obj := srcArray at:srcIdx + i - 1.
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6493
992
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6494
                (obj notNil and:[(self canCast: obj class to: dstArrayCC) not]) ifTrue:[
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6495
                    ^ self throwArrayStoreException:dstArray
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6496
                ].
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6497
                dstArray at: dstIdx + i - 1 put: (srcArray at:srcIdx + i - 1)
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6498
            ]
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6499
        ] ifTrue:[
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6500
            dstArray replaceFrom:dstIdx to:dstEndIdx with:srcArray startingAt:srcIdx.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6501
        ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6502
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6503
    ^ nil.
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6504
992
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6505
    "Modified: / 08-09-2011 / 15:25:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6506
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6507
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6508
_java_lang_System_currentTimeMillis: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6509
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6510
    <javanative: 'java/lang/System' name: 'currentTimeMillis'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6511
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6512
        "return the milliseconds since 1.jan.1970"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6513
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6514
    |delta|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6515
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6516
    "/ workaround win32 bug (use 01:01:01 as base)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6517
    delta := Timestamp now millisecondDeltaFrom:(AbsoluteTime day:1 month:1 year:1970 hour:1 minutes:1 seconds:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6518
    delta := delta - 3600 - 60 - 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6519
"/    "/ make certain, it fits 64 signed bits
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6520
"/    delta := delta bitAnd:16r7FFFFFFFFFFFFFFF.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6521
"/    ^ delta max:0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6522
    ^ delta
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6523
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6524
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6525
     JavaVM _System_currentTimeMillis:nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6526
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6527
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6528
    "Modified: / 23.12.1998 / 21:54:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6529
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6530
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6531
_java_lang_System_identityHashCode: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6532
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6533
    <javanative: 'java/lang/System' name: 'identityHashCode'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6534
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6535
        |obj|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6536
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6537
    obj := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6538
    ^ obj identityHash
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6539
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6540
    "Modified: / 12.11.1998 / 18:52:07 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6541
    "Created: / 12.11.1998 / 18:54:00 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6542
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6543
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6544
_java_lang_System_initProperties: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6545
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6546
    <javanative: 'java/lang/System' name: 'initProperties'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6547
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6548
        |props stProps|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6549
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6550
    props := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6551
    stProps := self systemProperties.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6552
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6553
    "/ recursively invoke myself on the Java HashTable.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6554
    "/ calling 'put' to stuff in the values ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6555
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6556
    stProps keysAndValuesDo:[:key :value |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6557
	|keyObj valueObj|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6558
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6559
	keyObj := Java as_String:key.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6560
	valueObj := Java as_String:value.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6561
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6562
	props 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6563
	    perform:#'put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6564
	    with:keyObj 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6565
	    with:valueObj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6566
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6567
    ^ props
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6568
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6569
    "Created: / 3.1.1998 / 14:25:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6570
    "Modified: / 4.1.1998 / 14:23:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6571
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6572
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6573
_java_lang_System_mapLibraryName: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6574
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6575
    <javanative: 'java/lang/System' name: 'mapLibraryName'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6576
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6577
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6578
    | name |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6579
    name := Java as_ST_String: (aJavaContext argAt: 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6580
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6581
    OperatingSystem isUNIXlike ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6582
        ^Java as_String: ('lib' , name , '.so').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6583
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6584
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6585
    OperatingSystem isMSWINDOWSlike ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6586
        ^Java as_String: ( name , '.dll').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6587
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6589
    self error:'Unknown/Unsupported platform'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6590
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6591
    "Created: / 09-12-2010 / 18:16:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6592
    "Modified: / 01-04-2011 / 18:14:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6593
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6594
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6595
_java_lang_System_nanoTime: nativeContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6596
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6597
    <javanative: 'java/lang/System' name: 'nanoTime'>
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6598
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6599
    ^ OperatingSystem getMicrosecondTime * 1000
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6600
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6601
    "Modified: / 07-08-2011 / 21:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6602
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6603
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6604
_java_lang_System_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6605
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6606
    <javanative: 'java/lang/System' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6607
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6608
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6609
    "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6610
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6611
    "Created: / 20-10-2010 / 10:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6612
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6613
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6614
_java_lang_System_setErr0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6615
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6616
    <javanative: 'java/lang/System' name: 'setErr0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6617
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6618
        |stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6619
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6620
    stream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6621
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6622
    self setOpenFile:(self javaConsoleStream ? Stderr) at:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6623
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6624
    nativeContext receiver instVarNamed:'err' put:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6625
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6626
    "Created: / 18.3.1997 / 15:02:05 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6627
    "Modified: / 4.1.1998 / 16:21:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6628
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6629
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6630
_java_lang_System_setIn0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6631
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6632
    <javanative: 'java/lang/System' name: 'setIn0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6633
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6634
        |stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6635
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6636
    stream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6637
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6638
    self setOpenFile:Stdin at:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6639
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6640
    nativeContext receiver instVarNamed:'in' put:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6641
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6642
    "Created: / 4.1.1998 / 16:16:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6643
    "Modified: / 4.1.1998 / 16:20:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6644
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6645
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6646
_java_lang_System_setOut0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6647
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6648
    <javanative: 'java/lang/System' name: 'setOut0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6649
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6650
        |stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6651
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6652
    stream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6653
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6654
    self setOpenFile:(self javaConsoleStream ? Stdout) at:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6655
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6656
    nativeContext receiver instVarNamed:'out' put:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6658
    "Created: / 4.1.1998 / 16:18:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6659
    "Modified: / 4.1.1998 / 16:20:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6660
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6661
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6662
_java_lang_Thread_currentThread: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6663
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6664
    <javanative: 'java/lang/Thread' name: 'currentThread'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6665
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6666
    |t p|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6667
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6668
    p := Processor activeProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6669
    t := self javaThreadForSTProcess:p.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6670
    t notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6671
        ^ t
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6672
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6673
    t := self newThread:'main'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6674
    Java threads at:t put:p.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6675
    ^ t
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6676
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6677
    "Modified: / 01-05-2011 / 13:24:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6678
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6679
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6680
_java_lang_Thread_holdsLock: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6681
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6682
    <javanative: 'java/lang/Thread' name: 'holdsLock'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6683
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6684
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6685
    | obj |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6686
    obj := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6687
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6688
    ^(self enteredMonitorsOfProcess:Processor activeProcess)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6689
        includes: obj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6690
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6691
    "Created: / 30-04-2011 / 22:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6692
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6693
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6694
_java_lang_Thread_interrupt0: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6695
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6696
    <javanative: 'java/lang/Thread' name: 'interrupt0()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6697
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6698
        "ask if a thread is interrupted (clear interruptState if arg is true)"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6699
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6700
    |jThread stProcess|
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6701
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6702
    jThread := nativeContext receiver.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6703
    stProcess := self stProcessForJavaThread:jThread.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6704
    stProcess isNil ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6705
	self halt.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6706
	^ 0
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6707
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6708
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6709
    stProcess markInterrupted
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6710
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6711
    "Modified: / 2.1.1998 / 21:49:06 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6712
    "Created: / 10.4.1998 / 15:21:43 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6713
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6714
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6715
_java_lang_Thread_isAlive: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6716
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6717
    <javanative: 'java/lang/Thread' name: 'isAlive'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6718
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6719
        "is it alive ?"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6720
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6721
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6722
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6723
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6724
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6725
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6726
	ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6727
	    ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6728
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6729
	^ 0 "FALSE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6730
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6731
    stProcess isDead ifTrue:[^ 0 "FALSE"].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6732
    ^ 1 "TRUE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6733
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6734
    "Created: / 5.1.1998 / 02:03:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6735
    "Modified: / 6.2.1998 / 02:15:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6736
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6737
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6738
_java_lang_Thread_isInterrupted: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6739
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6740
    <javanative: 'java/lang/Thread' name: 'isInterrupted'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6741
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6742
        "ask if a thread is interrupted (clear interruptState if arg is true)"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6743
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6744
    |jThread stProcess clearInterrupt rslt|
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6745
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6746
    jThread := nativeContext receiver.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6747
    stProcess := self stProcessForJavaThread:jThread.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6748
    stProcess isNil ifTrue:[
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6749
        self halt.
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6750
        ^ 0
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6751
    ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6752
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6753
    clearInterrupt := nativeContext argAt:1.
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6754
    rslt := "stProcess isInterrupted"false ifTrue:[1] ifFalse:[0].
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6755
    "clearInterrupt ~~ 0 ifTrue:[stProcess clearInterruptActions]."
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6756
    ^ rslt
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6757
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6758
    "Modified: / 02-01-1998 / 21:49:06 / cg"
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6759
    "Created: / 07-01-1998 / 18:50:26 / cg"
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6760
    "Modified: / 05-08-2011 / 22:21:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6761
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6762
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6763
_java_lang_Thread_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6764
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6765
    <javanative: 'java/lang/Thread' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6766
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6767
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6768
    "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6769
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6770
    "Created: / 20-10-2010 / 11:12:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6771
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6773
_java_lang_Thread_setPriority0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6774
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6775
    <javanative: 'java/lang/Thread' name: 'setPriority0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6776
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6777
   |t p prio|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6778
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6779
    t := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6780
    p := JavaVM stProcessForJavaThread:t.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6781
    prio := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6782
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6783
    p isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6784
        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6785
            'JAVA [info]: no process yet (in setPriority)' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6786
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6787
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6788
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6789
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6790
    "Modified: / 01-05-2011 / 13:25:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6791
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6792
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6793
_java_lang_Thread_sleep: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6794
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6795
    <javanative: 'java/lang/Thread' name: 'sleep'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6796
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6797
        "sleep for some milliseconds "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6798
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6799
    |millis|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6800
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6801
    millis := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6802
    self waitFor:nil state:nil timeOut:(millis max:50)
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6803
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6804
    "Modified: / 8.1.1999 / 16:42:52 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6805
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6806
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6807
_java_lang_Thread_start0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6808
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6809
    <javanative: 'java/lang/Thread' name: 'start0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6810
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6811
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6812
    ^self threadStart: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6813
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6814
    "Modified: / 24-12-1999 / 03:14:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6815
    "Created: / 22-11-2010 / 17:48:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6816
    "Modified: / 14-12-2010 / 21:31:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6817
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6818
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6819
_java_lang_Throwable_fillInStackTrace: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6820
    <javanative: 'java/lang/Throwable' name: 'fillInStackTrace'>
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  6821
    | java_lang_Throwable  exceptionObject  list  con |
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  6822
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  6823
    java_lang_Throwable := Java classNamed: 'java/lang/Throwable'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6824
    exceptionObject := nativeContext receiver.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6825
    
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6826
    "/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6827
    "/ debugging only
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6828
    "/
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6829
    
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  6830
    (java_lang_Throwable notNil and:[(exceptionObject isKindOf: java_lang_Throwable) not]) ifTrue: [
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  6831
        self error:'Thrown object is not a java.lang.Throwable'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6832
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6833
    con := thisContext sender.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6834
    
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6835
    "/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6836
    "/ we are not interrested in all intermediate Exception frames ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6837
    "/
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6838
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6839
    FullExceptionTrace ifFalse: [
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  6840
        "/ first, skip any JavaVM contexts
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6841
        [ con receiver == exceptionObject ] whileFalse: [ con := con sender ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6842
        
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  6843
        "/ then, all exception-init contexts
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6844
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6845
        [ con receiver == exceptionObject ] whileTrue: [ con := con sender ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6846
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6847
    list := OrderedCollection new.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6848
    [ con notNil ] whileTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6849
        (con isJavaContext) ifTrue: [
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  6850
            "/ add a copy, in case the context continues with some
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  6851
            "/ cleanup ...
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6852
            list add: con shallowCopy
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  6853
        ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  6854
        con := con sender
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6855
    ].
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  6856
    exceptionObject instVarNamed: 'backtrace' put: (list asArray).
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6857
    ^ nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6858
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  6859
    "Created: / 04-01-1998 / 14:27:40 / cg"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  6860
    "Modified: / 08-05-1998 / 21:29:53 / cg"
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
  6861
    "Modified: / 21-10-2011 / 13:41:48 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1058
1db06119bf3e Temporary commit (fixing class loaders - classes gets registered twice)
vranyj1
parents: 1053
diff changeset
  6862
    "Modified: / 28-10-2011 / 22:15:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6863
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6864
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6865
_java_lang_Throwable_getStackTraceDepth: nativeContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6866
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6867
    <javanative: 'java/lang/Throwable' name: 'getStackTraceDepth'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6868
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6869
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6870
    ^(nativeContext receiver instVarNamed: #backtrace) size
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6871
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6872
    "Modified: / 01-05-2011 / 20:25:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6873
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6874
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6875
_java_lang_Throwable_getStackTraceElement: nativeContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6876
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6877
    <javanative: 'java/lang/Throwable' name: 'getStackTraceElement'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6878
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6879
    | throwable index ctx stackTraceElement |
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6880
    throwable := nativeContext receiver.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6881
    index :=  nativeContext argAt: 1.
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6882
    ctx := (throwable instVarNamed:#backtrace) at: index + 1.
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6883
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6884
    stackTraceElement := (self classForName: 'java.lang.StackTraceElement') new.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6885
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6886
    stackTraceElement 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6887
        instVarNamed: #declaringClass 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6888
        put: (Java as_String:(ctx method javaClass javaName));
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6889
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6890
        instVarNamed: #methodName 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6891
        put: (Java as_String:(ctx method printStringForBrowserWithSelector:ctx method selector inClass: ctx method javaClass));
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6892
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6893
        instVarNamed: #lineNumber 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6894
        put: ctx lineNumber.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6895
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6896
    ctx method javaClass sourceFile notNil ifTrue:[                
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6897
        stackTraceElement        
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6898
            instVarNamed: #fileName 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6899
            put: (Java as_String:(ctx method javaClass sourceFile))
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6900
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6901
    ^ stackTraceElement
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6902
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6903
    "Modified: / 07-08-2011 / 13:30:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6904
!
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6905
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6906
_java_lang_UNIXProcess_forkAndExec: nativeContext
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6907
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6908
    <javanative: 'java/lang/UNIXProcess' name: 'forkAndExec'>
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6909
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6910
    ^ UnimplementedNativeMethodSignal raise
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6911
!
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6912
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6913
_java_lang_UNIXProcess_initIDs: nativeContext
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6914
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6915
    <javanative: 'java/lang/UNIXProcess' name: 'initIDs'>
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6916
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6917
    "Nothing to do"
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6918
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6919
    "Modified: / 25-06-2011 / 10:05:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6920
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6921
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6922
!JavaVM class methodsFor:'native - java.lang.reflect'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6923
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6924
_java_lang_reflect_Array_getLength: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6925
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6926
    <javanative: 'java/lang/reflect/Array' name: 'getLength(Ljava/lang/Object;)I'>
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6927
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6928
    ^(nativeContext argAt: 1) size
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6929
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6930
    "Modified: / 17-08-2011 / 09:02:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6931
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6932
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6933
_java_lang_reflect_Array_newArray:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6934
    <javanative: 'java/lang/reflect/Array' name: 'newArray'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6935
    |componentClass size|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6936
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6937
    componentClass := self reflection 
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6938
                classForJavaClassObject:(aJavaContext argAt:1).
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6939
    size := aJavaContext argAt:2.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6940
    ^ componentClass javaArrayClass new:size
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6941
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6942
    "Created: / 17-12-2010 / 14:49:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6943
    "Modified: / 19-12-2010 / 17:54:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6944
    "Modified: / 28-01-2011 / 15:18:50 / Marcel Hlopko <hlopik@gmail.com>"
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
  6945
    "Modified: / 04-06-2011 / 17:06:41 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6946
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6947
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6948
_java_lang_reflect_Array_set: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6949
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6950
    <javanative: 'java/lang/reflect/Array' name: 'set'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6951
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6952
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6953
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6954
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6955
_java_lang_reflect_Proxy_defineClass0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6956
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6957
    <javanative: 'java/lang/reflect/Proxy' name: 'defineClass0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6958
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6959
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6960
    private static native Class defineClass0(ClassLoader loader, String name,
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6961
                                             byte[] b, int off, int len);
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6962
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6963
    | loader name b off len  bs cls |
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6964
    loader := nativeContext argAt: 1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6965
    name := nativeContext argAt: 2.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6966
    b := nativeContext argAt: 3.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6967
    off := nativeContext argAt: 4.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6968
    len := nativeContext argAt: 5.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6969
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6970
    bs := (off = 0 and: [len = b size]) 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6971
            ifTrue:[b readStream]
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6972
            ifFalse:[(b copyFrom: off + 1 to: off + len) readStream].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6973
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6974
    cls := JavaClassReader readStream: bs.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6975
    cls classLoader: loader.
1041
d5ff8885b19f ClassLoader refactoring - loads groovy but funny
vranyj1
parents: 1037
diff changeset
  6976
    self classRegistry registerClass: cls.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6977
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6978
    ^self reflection javaClassObjectForClass: cls.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6979
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6980
    "Created: / 06-02-2011 / 16:55:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6981
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6982
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6983
!JavaVM class methodsFor:'native - java.net'!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6984
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6985
_java_net_DatagramPacket_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6986
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6987
    <javanative: 'java/net/DatagramPacket' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6988
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6989
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6990
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6991
    "Modified: / 13-09-2011 / 22:33:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6992
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6993
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6994
_java_net_Inet4AddressImpl_getLocalHostName: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6996
    <javanative: 'java/net/Inet4AddressImpl' name: 'getLocalHostName()Ljava/lang/String;'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6997
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6998
    ^Java as_String: OperatingSystem getHostName
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6999
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7000
    "Modified: / 13-09-2011 / 22:36:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7001
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7002
1084
vranyj1
parents: 1083
diff changeset
  7003
_java_net_Inet4AddressImpl_lookupAllHostAddr: nativeContext
vranyj1
parents: 1083
diff changeset
  7004
vranyj1
parents: 1083
diff changeset
  7005
    <javanative: 'java/net/Inet4AddressImpl' name: 'lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress;'>
vranyj1
parents: 1083
diff changeset
  7006
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7007
    | hostname sockaddr inet4Address |
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7008
    hostname := Java as_ST_String: (nativeContext argAt:1).
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7009
    [
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7010
        sockaddr := IPSocketAddress hostName: hostname.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7011
    ] on: HostNameLookupError do: [:ex|
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7012
        self throwExceptionClassName: 'java.net.UnknownHostException' withMessage: (ex description , '(' , hostname , ')').         
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7013
        ^nil.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7014
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7015
    "Bad, here we have an access to just one inet address,
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7016
     that's fine for now, however"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7017
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7018
    inet4Address := (self classForName:'java.net.Inet4Address') newCleared.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7019
    inet4Address 
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7020
        instVarNamed: #family put: 1; "/IPv4
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7021
        instVarNamed: #address put: (sockaddr address doubleWordAt: 1 MSB: true);
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7022
        instVarNamed: #hostName put: (nativeContext argAt:1);
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7023
        instVarNamed: #canonicalHostName put: (nativeContext argAt:1).
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7024
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7025
    ^(self classForName:'java.net.InetAddress') javaArrayClass with: inet4Address.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7026
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7027
    "Modified: / 08-11-2011 / 10:10:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1084
vranyj1
parents: 1083
diff changeset
  7028
!
vranyj1
parents: 1083
diff changeset
  7029
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7030
_java_net_Inet4Address_init: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7031
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7032
    <javanative: 'java/net/Inet4Address' name: 'init()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7033
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7034
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7035
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7036
    "Modified: / 13-09-2011 / 22:31:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7037
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7038
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7039
_java_net_Inet6Address_init: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7040
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7041
    <javanative: 'java/net/Inet6Address' name: 'init()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7042
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7043
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7044
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7045
    "Modified: / 13-09-2011 / 22:32:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7046
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7047
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7048
_java_net_InetAddressImplFactory_isIPv6Supported: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7049
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7050
    <javanative: 'java/net/InetAddressImplFactory' name: 'isIPv6Supported'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7051
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7052
    ^ 0 "IPv6 is not supported!!"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7053
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7054
    "Modified: / 13-09-2011 / 19:43:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7055
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7056
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7057
_java_net_InetAddress_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7058
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7059
    <javanative: 'java/net/InetAddress' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7060
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7061
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7062
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7063
    "Created: / 27-01-1998 / 18:16:40 / cg"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7064
    "Modified (comment): / 13-09-2011 / 22:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7065
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7066
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7067
_java_net_NetworkInterface_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7068
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7069
    <javanative: 'java/net/NetworkInterface' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7070
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7071
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7072
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7073
    "Modified: / 13-09-2011 / 22:33:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7074
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7075
1084
vranyj1
parents: 1083
diff changeset
  7076
_java_net_PlainDatagramSocketImpl_bind0: nativeContext
vranyj1
parents: 1083
diff changeset
  7077
vranyj1
parents: 1083
diff changeset
  7078
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'bind0(ILjava/net/InetAddress;)V'>
vranyj1
parents: 1083
diff changeset
  7079
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7080
    | port addr sock fd |
1084
vranyj1
parents: 1083
diff changeset
  7081
vranyj1
parents: 1083
diff changeset
  7082
    port := nativeContext argAt: 1.
vranyj1
parents: 1083
diff changeset
  7083
    addr := nativeContext argAt: 2.
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7084
    addr isNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7085
        self throwSocketException: 'Passed InetAddress object is null'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7086
        ^nil.    
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7087
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7088
    fd := nativeContext receiver instVarNamed: #fd.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7089
    fd isNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7090
        self throwSocketException: 'Socket closed'.        
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7091
        ^nil.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7092
    ].
1084
vranyj1
parents: 1083
diff changeset
  7093
    sock := self validateFile: nativeContext receiver.
vranyj1
parents: 1083
diff changeset
  7094
vranyj1
parents: 1083
diff changeset
  7095
    addr := addr perform: #'getAddress()[B'.
vranyj1
parents: 1083
diff changeset
  7096
    addr = #[0 0 0 0] ifTrue:[
vranyj1
parents: 1083
diff changeset
  7097
        addr := nil
vranyj1
parents: 1083
diff changeset
  7098
    ] ifFalse:[
vranyj1
parents: 1083
diff changeset
  7099
        self throwSocketException: 'Only all-interface bind is supported by underlaing socket implementation, sorry'.
vranyj1
parents: 1083
diff changeset
  7100
        ^nil
vranyj1
parents: 1083
diff changeset
  7101
    ].
vranyj1
parents: 1083
diff changeset
  7102
    [
vranyj1
parents: 1083
diff changeset
  7103
        sock bindTo: port address: addr reuseAddress: true.
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7104
        nativeContext receiver instVarNamed: #localPort put: sock port.
1084
vranyj1
parents: 1083
diff changeset
  7105
    ] on: Error do:[:ex|
vranyj1
parents: 1083
diff changeset
  7106
        self throwSocketException: 'bind0() failed: ', ex description        
vranyj1
parents: 1083
diff changeset
  7107
    ]
vranyj1
parents: 1083
diff changeset
  7108
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7109
    "Modified: / 07-11-2011 / 21:45:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1084
vranyj1
parents: 1083
diff changeset
  7110
!
vranyj1
parents: 1083
diff changeset
  7111
vranyj1
parents: 1083
diff changeset
  7112
_java_net_PlainDatagramSocketImpl_datagramSocketClose: nativeContext
vranyj1
parents: 1083
diff changeset
  7113
vranyj1
parents: 1083
diff changeset
  7114
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'datagramSocketClose()V'>
vranyj1
parents: 1083
diff changeset
  7115
vranyj1
parents: 1083
diff changeset
  7116
        |jsock sock|
vranyj1
parents: 1083
diff changeset
  7117
vranyj1
parents: 1083
diff changeset
  7118
    jsock := nativeContext receiver.
vranyj1
parents: 1083
diff changeset
  7119
vranyj1
parents: 1083
diff changeset
  7120
    sock := self validateFile:jsock.
vranyj1
parents: 1083
diff changeset
  7121
    sock notNil ifTrue:[
vranyj1
parents: 1083
diff changeset
  7122
	FileIOTrace ifTrue:[
vranyj1
parents: 1083
diff changeset
  7123
	    'JAVA: datagram close socket' infoPrintCR
vranyj1
parents: 1083
diff changeset
  7124
	].
vranyj1
parents: 1083
diff changeset
  7125
	sock close.
vranyj1
parents: 1083
diff changeset
  7126
    ].
vranyj1
parents: 1083
diff changeset
  7127
vranyj1
parents: 1083
diff changeset
  7128
    "Modified: / 21.8.1997 / 17:09:40 / cg"
vranyj1
parents: 1083
diff changeset
  7129
    "Created: / 25.1.1998 / 20:04:24 / cg"
vranyj1
parents: 1083
diff changeset
  7130
!
vranyj1
parents: 1083
diff changeset
  7131
vranyj1
parents: 1083
diff changeset
  7132
_java_net_PlainDatagramSocketImpl_datagramSocketCreate: nativeContext
vranyj1
parents: 1083
diff changeset
  7133
vranyj1
parents: 1083
diff changeset
  7134
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'datagramSocketCreate()V'>
vranyj1
parents: 1083
diff changeset
  7135
vranyj1
parents: 1083
diff changeset
  7136
        |jsock fd sock fileNo|
vranyj1
parents: 1083
diff changeset
  7137
vranyj1
parents: 1083
diff changeset
  7138
    jsock := nativeContext receiver.
vranyj1
parents: 1083
diff changeset
  7139
vranyj1
parents: 1083
diff changeset
  7140
    fd := jsock instVarNamed:'fd'.
vranyj1
parents: 1083
diff changeset
  7141
    (fd instVarNamed:'fd') ~~ -1 ifTrue:[
vranyj1
parents: 1083
diff changeset
  7142
        self halt:'file already open'.
vranyj1
parents: 1083
diff changeset
  7143
        self internalError:'file already open'.
vranyj1
parents: 1083
diff changeset
  7144
        self throwIOExceptionWithMessage:'file already open in socketCreate'.
vranyj1
parents: 1083
diff changeset
  7145
        ^ self.
vranyj1
parents: 1083
diff changeset
  7146
    ].
vranyj1
parents: 1083
diff changeset
  7147
vranyj1
parents: 1083
diff changeset
  7148
    FileOpenTrace ifTrue:[
vranyj1
parents: 1083
diff changeset
  7149
        ('JAVA: create datagram socket') infoPrintCR.
vranyj1
parents: 1083
diff changeset
  7150
    ].
vranyj1
parents: 1083
diff changeset
  7151
vranyj1
parents: 1083
diff changeset
  7152
    sock := Socket newUDP.
vranyj1
parents: 1083
diff changeset
  7153
    sock isNil ifTrue:[
vranyj1
parents: 1083
diff changeset
  7154
        self throwIOExceptionWithMessage:'socketCreate failed'.
vranyj1
parents: 1083
diff changeset
  7155
    ].
vranyj1
parents: 1083
diff changeset
  7156
vranyj1
parents: 1083
diff changeset
  7157
    fileNo := self addOpenFile:sock.
vranyj1
parents: 1083
diff changeset
  7158
    fd instVarNamed:'fd' put:fileNo.
vranyj1
parents: 1083
diff changeset
  7159
vranyj1
parents: 1083
diff changeset
  7160
    "Created: / 25-01-1998 / 19:59:25 / cg"
vranyj1
parents: 1083
diff changeset
  7161
    "Modified: / 30-12-1998 / 20:10:38 / cg"
vranyj1
parents: 1083
diff changeset
  7162
    "Modified: / 03-11-2011 / 23:13:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 1083
diff changeset
  7163
!
vranyj1
parents: 1083
diff changeset
  7164
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7165
_java_net_PlainDatagramSocketImpl_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7166
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7167
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7168
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7169
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7170
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7171
    "Modified: / 13-09-2011 / 22:36:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7172
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7173
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7174
_java_net_PlainDatagramSocketImpl_receive0: nativeContext
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7175
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7176
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'receive0(Ljava/net/DatagramPacket;)V'>
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7177
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7178
    ^ UnimplementedNativeMethodSignal raise
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7179
!
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7180
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7181
_java_net_PlainDatagramSocketImpl_send: nativeContext
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7182
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7183
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'send(Ljava/net/DatagramPacket;)V'>
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7184
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7185
        |jsock jdatagramPacket sock ok|
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7186
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7187
    jsock := nativeContext receiver.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7188
    jdatagramPacket := nativeContext argAt:1.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7189
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7190
    sock := self validateFile:jsock.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7191
    sock notNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7192
	FileIOTrace ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7193
	    ('JAVA: socket send') infoPrintCR
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7194
	].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7195
	^ -1.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7196
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7197
    ^ -1
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7198
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7199
    "Created: / 4.2.1998 / 15:06:20 / cg"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7200
    "Modified: / 30.12.1998 / 20:10:16 / cg"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7201
!
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7202
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7203
_java_net_PlainSocketImpl_initProto: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7204
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7205
    <javanative: 'java/net/PlainSocketImpl' name: 'initProto'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7206
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7207
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7208
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7209
    "Created: / 12-01-1998 / 12:56:52 / cg"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  7210
    "Modified (comment): / 13-09-2011 / 22:36:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7211
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7212
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7213
_java_net_PlainSocketImpl_socketAccept: nativeContext
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7214
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7215
    <javanative: 'java/net/PlainSocketImpl' name: 'socketAccept(Ljava/net/SocketImpl;)V'>
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7216
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7217
        |jsock fd newJSock sock newSock fileNo|
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7218
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7219
    jsock := nativeContext receiver.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7220
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7221
    sock := self validateFile:jsock.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7222
    sock isNil ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7223
	self throwIOExceptionWithMessage:'nil socket in accept'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7224
	^ self.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7225
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7226
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7227
    newJSock := nativeContext argAt:1.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7228
    fd := newJSock instVarNamed:'fd'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7229
    (fd instVarNamed:'fd') ~~ 0 ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7230
	self halt:'file already open'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7231
	self internalError:'file already open'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7232
	self throwIOExceptionWithMessage:'socket already open in socketAccept'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7233
	^ self.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7234
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7235
    FileIOTrace ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7236
	'JAVA: socket accept' infoPrintCR
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7237
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7238
    newSock := sock accept.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7239
    newSock isNil ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7240
	self throwIOExceptionWithMessage:'accept failed'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7241
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7242
    fileNo := self addOpenFile:newSock.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7243
    fd instVarNamed:'fd' put:fileNo.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7244
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7245
    "Created: / 4.2.1998 / 15:26:49 / cg"
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7246
    "Modified: / 30.12.1998 / 20:10:01 / cg"
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7247
!
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7248
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7249
_java_net_PlainSocketImpl_socketBind: nativeContext
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7250
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7251
    <javanative: 'java/net/PlainSocketImpl' name: 'socketBind(Ljava/net/InetAddress;I)V'>
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7252
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7253
        |jsock jaddr port sock hostName ok err|
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7254
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7255
    jsock := nativeContext receiver.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7256
    jaddr := nativeContext argAt:1.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7257
    port := nativeContext argAt:2.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7258
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7259
    hostName := jaddr instVarNamed:'hostName'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7260
    hostName isNil ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7261
	self halt.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7262
    ] ifFalse:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7263
	hostName := Java as_ST_String:hostName
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7264
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7265
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7266
    sock := self validateFile:jsock.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7267
    sock notNil ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7268
	FileIOTrace ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7269
	    ('JAVA: socket bind to ' , hostName printString, ' port ' , port printString) infoPrintCR
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7270
	].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7271
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7272
	ok := sock bindTo:port address:nil "hostName".
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7273
	ok ifFalse:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7274
	    err := OperatingSystem lastErrorString.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7275
	    Transcript showCR:'sock err: ' , err printString.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7276
	    self throwIOExceptionWithMessage:'bind failed'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7277
	]
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7278
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7279
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7280
    "Created: / 4.2.1998 / 15:06:20 / cg"
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7281
    "Modified: / 30.12.1998 / 20:10:16 / cg"
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7282
!
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7283
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7284
_java_net_PlainSocketImpl_socketClose0: nativeContext
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7285
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7286
    <javanative: 'java/net/PlainSocketImpl' name: 'socketClose0(Z)V'>
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7287
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7288
    ^self commonClose: nativeContext
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7289
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7290
    "Modified: / 07-11-2011 / 23:21:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7291
!
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7292
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7293
_java_net_PlainSocketImpl_socketConnect: nativeContext
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7294
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7295
    <javanative: 'java/net/PlainSocketImpl' name: 'socketConnect(Ljava/net/InetAddress;II)V'>
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7296
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7297
    |jsock jaddr port sock addr hostName ok|
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7298
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7299
    jsock := nativeContext receiver.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7300
    jaddr := nativeContext argAt:1.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7301
    port := nativeContext argAt:2.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7302
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7303
    hostName := jaddr instVarNamed:'hostName'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7304
    hostName notNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7305
        hostName := Java as_ST_String:hostName
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7306
    ] ifFalse:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7307
        addr := jaddr instVarNamed:'address'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7308
        addr notNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7309
            hostName := ByteArray new:4.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7310
            hostName at:4 put:(addr bitAnd:16rFF).
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7311
            addr := addr bitShift:-8.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7312
            hostName at:3 put:(addr bitAnd:16rFF).
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7313
            addr := addr bitShift:-8.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7314
            hostName at:2 put:(addr bitAnd:16rFF).
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7315
            addr := addr bitShift:-8.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7316
            hostName at:1 put:(addr bitAnd:16rFF).
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7317
        ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7318
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7319
    hostName isNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7320
        self halt.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7321
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7322
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7323
    sock := self validateFile:jsock.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7324
    sock notNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7325
        FileIOTrace ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7326
            Logger log: ('socket connect to ' , hostName printString , ' port ' , port printString) severity: #trace facility: #JVM.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7327
        ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7328
        SocketConnectConfirmation ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7329
            (PermittedHostConnects isNil 
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7330
            or:[(PermittedHostConnects includes:hostName) not]) ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7331
                (self confirm:'connect to host: ' , hostName printString , ' - ok ?')
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7332
                ifFalse:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7333
                    self throwIOExceptionWithMessage:'connect permission denied'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7334
                ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7335
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7336
                (self confirm:('JAVA Security check\\Always permit connects to this host (''' , hostName printString , ''') ?') withCRs)
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7337
                ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7338
                    PermittedHostConnects isNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7339
                        PermittedHostConnects := Set new
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7340
                    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7341
                    PermittedHostConnects add:hostName.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7342
                ]
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7343
            ]
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7344
        ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7345
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7346
        [
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7347
            ok := sock connectTo:hostName port:port.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7348
            ok ifFalse:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7349
                self throwExceptionClassName:'java.net.ConnectException' withMessage:'connect failed'.
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7350
            ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7351
            self error:'You have to setup localport here'.
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7352
        ] on: Error do:[:ex|
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7353
            self throwExceptionClassName:'java.net.ConnectException' withMessage:'connect failed: ', ex description
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7354
        ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7355
        
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7356
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7357
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7358
    "Created: / 25-01-1998 / 20:02:27 / cg"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7359
    "Modified: / 30-12-1998 / 20:10:28 / cg"
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7360
    "Modified: / 08-11-2011 / 10:38:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7361
!
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7362
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7363
_java_net_PlainSocketImpl_socketCreate: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7364
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7365
    <javanative: 'java/net/PlainSocketImpl' name: 'socketCreate(Z)V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7366
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7367
    |jsock isStream fd sock fileNo|
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7368
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7369
    jsock := nativeContext receiver.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7370
    isStream := (nativeContext argAt:1) == 1.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7371
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7372
    fd := jsock instVarNamed:'fd'.
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7373
    fd isNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7374
        self throwSocketException: 'null fd object'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7375
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7376
    (fd instVarNamed:'fd') ~~ -1 ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7377
        self halt:'file already open'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7378
        self internalError:'file already open'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7379
        self throwSocketException:'socket already open in socketCreate'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7380
        ^ self.
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7381
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7382
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7383
    FileOpenTrace ifTrue:[
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7384
        ('JAVA: create socket') infoPrintCR.
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7385
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7386
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7387
    isStream ifTrue:[
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7388
        sock := Socket newTCP
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7389
    ] ifFalse:[
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7390
        sock := Socket newUDP
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7391
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7392
    sock isNil ifTrue:[
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7393
        self throwIOExceptionWithMessage:'socketCreate failed'.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7394
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7395
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7396
    (jsock instVarNamed: #serverSocket) notNil ifTrue:[
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7397
        "/If this is a server socket then enable SO_REUSEADDR
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7398
        [
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7399
            Object primitiveFailureSignal
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7400
        ] on: Object primitiveFailureSignal do:[:ex|
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7401
            self throwIOExceptionWithMessage:'cannot set SO_REUSEADDR: ' , ex description.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7402
            ^nil.
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7403
        ]
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7404
    ].
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7405
    
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7406
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7407
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7408
    fileNo := self addOpenFile:sock.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7409
    fd instVarNamed:'fd' put:fileNo.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7410
1091
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7411
    "Created: / 25-01-1998 / 19:59:25 / cg"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7412
    "Modified: / 30-12-1998 / 20:10:38 / cg"
215f8fe6687b - few more primitives for java.net.* (working on Tomcat :-)
vranyj1
parents: 1090
diff changeset
  7413
    "Modified: / 07-11-2011 / 23:20:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1092
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7414
!
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7415
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7416
_java_net_PlainSocketImpl_socketListen: nativeContext
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7417
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7418
    <javanative: 'java/net/PlainSocketImpl' name: 'socketListen(I)V'>
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7419
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7420
        |jSock time sock ok|
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7421
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7422
    jSock := nativeContext receiver.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7423
    time := nativeContext argAt:1.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7424
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7425
    sock := self validateFile:jSock.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7426
    sock notNil ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7427
	FileIOTrace ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7428
	    ('JAVA: socket listen with timeout ' , time printString) infoPrintCR.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7429
	].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7430
	ok := sock listenWithBacklog:5.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7431
	ok ifFalse:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7432
	    self throwIOExceptionWithMessage:'listen failed'.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7433
	    ^ self.
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7434
	].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7435
	time ~~ 0 ifTrue:[
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7436
	    sock readWaitWithTimeoutMs:time
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7437
	]
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7438
    ].
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7439
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7440
    "Created: / 4.2.1998 / 15:17:48 / cg"
224cb55e1ab0 More java.net.* natives & fixes
vranyj1
parents: 1091
diff changeset
  7441
    "Modified: / 30.12.1998 / 20:10:46 / cg"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7442
! !
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7443
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7444
!JavaVM class methodsFor:'native - java.security'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7445
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7446
_java_security_AccessController_doPrivileged: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7447
    <javanative: 'java/security/AccessController' name: 'doPrivileged'>
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7448
    "we don't care about permissions, we will just allow this. Now it's guaranteed that called code will not perform access permission checks"
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7449
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7450
    | retval |
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7451
    
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7452
    JavaVM privilegedAccessQuery answer: true do: [
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7453
        retval := (aJavaContext argAt: 1) perform: #'run()Ljava/lang/Object;'.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7454
    ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7455
    ^retval
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7456
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7457
    "Created: / 20-10-2010 / 12:31:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1017
23971b5214d8 removed useless infoPrintCR
hlopkmar
parents: 1016
diff changeset
  7458
    "Modified: / 09-10-2011 / 23:56:31 / Marcel Hlopko <hlopik@gmail.com>"
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  7459
    "Modified: / 18-10-2011 / 23:28:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7460
!
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7461
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7462
_java_security_AccessController_getStackAccessControlContext: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7463
    <javanative: 'java/security/AccessController' name: 'getStackAccessControlContext'>
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7464
    "/ introduced with jdk1.2
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7465
    "/ supposed to do more here ...
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7466
    
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7467
    ^nil.
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7468
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7469
    "Created: / 27-01-1998 / 18:22:15 / cg"
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  7470
    "Modified: / 09-10-2011 / 23:40:46 / Marcel Hlopko <hlopik@gmail.com>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7471
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7472
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7473
!JavaVM class methodsFor:'native - java.sql'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7474
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7475
_java_sql_DriverManager_getCallerClassLoader: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7476
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7477
    <javanative: 'java/sql/DriverManager' name: 'getCallerClassLoader()Ljava/lang/ClassLoader;'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7478
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7479
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7480
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7481
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7482
!JavaVM class methodsFor:'native - java.text'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7483
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7484
_java_text_Bidi_nativeBidiChars: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7485
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7486
    <javanative: 'java/text/Bidi' name: 'nativeBidiChars(Ljava/text/Bidi;[CI[BIII)V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7487
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7488
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7489
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  7490
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7491
!JavaVM class methodsFor:'native - java.util'!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7492
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7493
_java_util_ResourceBundle_getClassContext: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7494
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7495
    <javanative: 'java/util/ResourceBundle' name: 'getClassContext'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7496
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7497
        "returns an array filled with the contextChain receivers classes.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7498
     What an ugly, messy interface."
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7499
    
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7500
    |chain con cls jClass|
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7501
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7502
    chain := OrderedCollection new.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7503
    con := thisContext sender.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7504
    [
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7505
        con notNil 
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7506
            and:[con receiver isMethod not or:[con receiver isJavaMethod not]]
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7507
    ] whileTrue:[con := con sender.].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7508
    con := con sender.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7509
    [con notNil] whileTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7510
        (true) "con isJavaContext" ifTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7511
            cls := con receiver class.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7512
            cls isMeta ifTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7513
                "/ t'was a static method
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7514
                cls := cls soleInstance
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7515
            ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7516
            cls isJavaClass ifTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7517
                jClass := self reflection javaClassObjectForClass:cls.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7518
                chain add:jClass.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7519
            ]
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7520
        ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7521
        con := con sender.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7522
    ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7523
    ^ chain asArray
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7524
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7525
    "Created: / 05-01-1998 / 02:47:00 / cg"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7526
    "Modified: / 24-12-1998 / 00:34:57 / cg"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7527
    "Modified: / 28-01-2011 / 15:31:28 / Marcel Hlopko <hlopik@gmail.com>"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7528
    "Modified: / 03-02-2011 / 21:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7529
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7530
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7531
_java_util_TimeZone_getSystemTimeZoneID: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7532
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7533
    <javanative: 'java/util/TimeZone' name: 'getSystemTimeZoneID'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7534
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  7535
    "JV@2011-06-25: TODO: finish, returning nil here means GMT"
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  7536
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  7537
    ^ nil
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  7538
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  7539
    "Modified: / 25-06-2011 / 08:26:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7540
! !
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7541
846
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7542
!JavaVM class methodsFor:'native - java.util.concurrent.atomic'!
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7543
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7544
_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8: nativeContext
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7545
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7546
    <javanative: 'java/util/concurrent/atomic/AtomicLong' name: 'VMSupportsCS8'>
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7547
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  7548
    "Should be safe - say we don't support lockless updates"        
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  7549
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  7550
    ^ 0
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  7551
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  7552
    "Modified: / 07-08-2011 / 20:53:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
846
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7553
! !
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  7554
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7555
!JavaVM class methodsFor:'native - java.util.jar'!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7556
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7557
_java_util_jar_JarFile_getMetaInfEntryNames: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7558
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7559
    <javanative: 'java/util/jar/JarFile' name: 'getMetaInfEntryNames'>
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  7560
    "
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  7561
    private native String[] getMetaInfEntryNames();
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  7562
    "
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7563
    | zipArchive entries jentries |
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  7564
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  7565
    zipArchive := ZipCache at: (nativeContext receiver instVarNamed: #jzfile).
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7566
    entries := zipArchive entries select:[:entry|entry size > 9 and:[entry startsWith: 'META-INF/']].    
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7567
    jentries := Java java_lang_String javaArrayClass new: entries size.
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7568
    1 to: entries size do:[:i|
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7569
        jentries at: i put: (Java as_String: (entries at: i))
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7570
    ].
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7571
    ^jentries
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7572
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  7573
    "Modified: / 05-08-2011 / 20:18:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7574
! !
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  7575
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7576
!JavaVM class methodsFor:'native - java.util.zip'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7577
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7578
_java_util_zip_Adler32_updateBytes: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7579
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7580
    <javanative: 'java/util/zip/Adler32' name: 'updateBytes'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7581
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7582
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7583
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7584
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7585
_java_util_zip_Deflater_initIDs: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7586
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7587
    <javanative: 'java/util/zip/Deflater' name: 'initIDs'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7588
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7589
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7590
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  7591
1083
vranyj1
parents: 1081
diff changeset
  7592
_java_util_zip_Inflater_end: nativeContext
vranyj1
parents: 1081
diff changeset
  7593
vranyj1
parents: 1081
diff changeset
  7594
    <javanative: 'java/util/zip/Inflater' name: 'end(J)V'>
vranyj1
parents: 1081
diff changeset
  7595
vranyj1
parents: 1081
diff changeset
  7596
     "
vranyj1
parents: 1081
diff changeset
  7597
    private native static void reset(long addr);
vranyj1
parents: 1081
diff changeset
  7598
    "
vranyj1
parents: 1081
diff changeset
  7599
    | addr inflater |
vranyj1
parents: 1081
diff changeset
  7600
    addr := nativeContext argAt: 1.
vranyj1
parents: 1081
diff changeset
  7601
    inflater := ZipInflaters at: addr.
vranyj1
parents: 1081
diff changeset
  7602
    inflater end.
vranyj1
parents: 1081
diff changeset
  7603
vranyj1
parents: 1081
diff changeset
  7604
    "Modified: / 03-11-2011 / 22:51:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 1081
diff changeset
  7605
!
vranyj1
parents: 1081
diff changeset
  7606
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7607
_java_util_zip_Inflater_getBytesWritten: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7608
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7609
    <javanative: 'java/util/zip/Inflater' name: 'getBytesWritten'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7610
952
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  7611
    | addr inflater |
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  7612
    addr := nativeContext argAt: 1.
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  7613
    inflater := ZipInflaters at: addr.
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  7614
    ^inflater bytesWritten.
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  7615
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  7616
    "Modified: / 31-08-2011 / 10:01:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7617
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7618
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7619
_java_util_zip_Inflater_inflateBytes: nativeContext
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7620
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7621
    <javanative: 'java/util/zip/Inflater' name: 'inflateBytes'>
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7622
    "
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7623
    private native int inflateBytes(long addr, byte[] b, int off, int len)
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7624
    "
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7625
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7626
    | addr b off len inflater ret |
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7627
    addr := nativeContext argAt: 1."long takes 2 slots"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7628
    b := nativeContext argAt: 3.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7629
    off := nativeContext argAt: 4.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7630
    len := nativeContext argAt: 5.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7631
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7632
    inflater := ZipInflaters at: addr.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7633
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7634
    ret := inflater inflate: b offset: off length: len inflater: nativeContext receiver.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7635
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7636
    ^ret.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7637
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7638
    "Created: / 30-04-2011 / 23:02:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7639
    "Modified: / 30-08-2011 / 12:39:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7640
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7641
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7642
_java_util_zip_Inflater_init: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7643
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7644
    <javanative: 'java/util/zip/Inflater' name: 'init'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7645
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7646
    
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7647
    | nowrap inflater |
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7648
    nowrap := nativeContext argAt:1.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7649
    inflater := JavaZipSupport inflaterFor: self.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7650
    inflater init: nowrap.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7651
    ZipInflaters add: inflater.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7652
    ^ZipInflaters size.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7653
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7654
    "Created: / 01-02-1998 / 20:14:01 / cg"
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7655
    "Modified: / 30-08-2011 / 12:38:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7656
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7658
_java_util_zip_Inflater_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7659
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7660
    <javanative: 'java/util/zip/Inflater' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7661
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7662
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7663
    "Nothing to do, used only to register natives"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7664
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7665
    "Created: / 30-04-2011 / 21:55:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7666
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7667
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7668
_java_util_zip_Inflater_reset: nativeContext
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7669
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7670
    <javanative: 'java/util/zip/Inflater' name: 'reset'>
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7671
    "
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7672
    private native static void reset(long addr);
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7673
    "
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7674
    | addr inflater |
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  7675
    addr := nativeContext argAt: 1.
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7676
    inflater := ZipInflaters at: addr.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7677
    inflater reset.
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7678
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7679
    "Created: / 01-02-1998 / 20:14:13 / cg"
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  7680
    "Modified: / 30-08-2011 / 12:43:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7681
!
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  7682
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7683
_java_util_zip_ZipEntry_initFields: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7684
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7685
    <javanative: 'java/util/zip/ZipEntry' name: 'initFields'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7686
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7687
        | entry jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7688
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7689
    entry := aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7690
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7691
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7692
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7693
    entry 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7694
        instVarNamed: #time     put: zmember lastModFileTime;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7695
        instVarNamed: #crc      put: zmember crc32;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7696
        instVarNamed: #size     put: zmember uncompressedSize;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7697
        instVarNamed: #csize    put: zmember compressedSize;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7698
        instVarNamed: #method   put: zmember compressionMethod;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7699
        instVarNamed: #extra    put: zmember extraField;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7700
        instVarNamed: #comment  put: (zmember fileComment ifNotNil:[Java as_String: zmember fileComment]).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7701
        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7702
        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7703
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7704
    "Created: / 01-04-2011 / 13:04:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7705
    "Modified: / 29-04-2011 / 20:01:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7706
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7707
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7708
_java_util_zip_ZipEntry_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7709
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7710
    <javanative: 'java/util/zip/ZipEntry' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7711
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7712
        "hopefully nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7713
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7714
    "Created: / 01-04-2011 / 13:02:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7715
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7716
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  7717
_java_util_zip_ZipFile_close: nativeContext
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  7718
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  7719
    <javanative: 'java/util/zip/ZipFile' name: 'close(J)V'>
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  7720
1083
vranyj1
parents: 1081
diff changeset
  7721
    | jzfile zar |
vranyj1
parents: 1081
diff changeset
  7722
    jzfile := nativeContext argAt: 1.
vranyj1
parents: 1081
diff changeset
  7723
    zar := ZipCache at: jzfile.
vranyj1
parents: 1081
diff changeset
  7724
    zar close.
vranyj1
parents: 1081
diff changeset
  7725
    ZipCache at: jzfile put: nil.
vranyj1
parents: 1081
diff changeset
  7726
vranyj1
parents: 1081
diff changeset
  7727
    "Modified: / 03-11-2011 / 22:22:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  7728
!
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
  7729
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7730
_java_util_zip_ZipFile_freeEntry: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7731
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7732
    <javanative: 'java/util/zip/ZipFile' name: 'freeEntry'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7733
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7734
    | zipArchiveIndex  zipEntryIndex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7735
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7736
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7737
    zipArchiveIndex := nativeContext at: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7738
    zipEntryIndex := nativeContext at: 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7739
    zipEntryIndex = 0 ifFalse: [ ZipEntryCache at: zipEntryIndex put: nil ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7740
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7741
    "Modified: / 01-05-2011 / 13:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7742
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7743
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7744
_java_util_zip_ZipFile_getCSize: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7745
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7746
    <javanative: 'java/util/zip/ZipFile' name: 'getCSize'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7747
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7748
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7749
    | jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7750
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7751
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7752
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7753
    ^zmember compressedSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7754
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7755
    "Created: / 30-04-2011 / 21:50:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7756
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7757
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7758
_java_util_zip_ZipFile_getEntry: nativeContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7759
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7760
    <javanative: 'java/util/zip/ZipFile' name: 'getEntry'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7761
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  7762
    | zipArchive  filename  member |
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7763
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7764
    zipArchive := ZipCache at: (nativeContext at: 1).
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7765
    filename := Java as_ST_String: (nativeContext at: 3).
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  7766
    member := (zipArchive findMember: filename).
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  7767
    member isNil 
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7768
        ifTrue: [ ^ 0 ]
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  7769
        ifFalse: [ ^ ZipEntryCache indexOf: (ZipEntryCache add: member) ].
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7770
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7771
    "Created: / 27-03-2011 / 16:59:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7772
    "Modified: / 01-04-2011 / 16:03:01 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7773
    "Modified: / 01-05-2011 / 15:12:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  7774
    "Modified: / 18-08-2011 / 19:44:56 / jv"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7775
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7776
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7777
_java_util_zip_ZipFile_getMethod: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7778
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7779
    <javanative: 'java/util/zip/ZipFile' name: 'getMethod'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7780
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7781
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7782
    | jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7783
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7784
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7785
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7786
    ^zmember compressionMethod
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7787
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7788
    "Created: / 30-04-2011 / 21:53:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7789
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7790
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7791
_java_util_zip_ZipFile_getSize: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7792
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7793
    <javanative: 'java/util/zip/ZipFile' name: 'getSize'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7794
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7795
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7796
    | jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7797
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7798
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7799
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7800
    ^zmember uncompressedSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7801
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7802
    "Created: / 30-04-2011 / 21:53:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7803
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7804
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7805
_java_util_zip_ZipFile_getTotal: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7806
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7807
    <javanative: 'java/util/zip/ZipFile' name: 'getTotal'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7808
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7809
    | zar |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7810
    zar := ZipCache at: (nativeContext at: 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7811
    ^ zar entries size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7812
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7813
    "Modified: / 01-05-2011 / 13:31:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7814
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7815
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7816
_java_util_zip_ZipFile_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7817
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7818
    <javanative: 'java/util/zip/ZipFile' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7819
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7820
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7821
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7822
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7823
    "Created: / 23-03-2011 / 19:37:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7824
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7825
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7826
_java_util_zip_ZipFile_open: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7827
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7828
    <javanative: 'java/util/zip/ZipFile' name: 'open'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7829
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7830
    | path  mode  lastModTime  result |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7831
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7832
    path := Java as_ST_String: (nativeContext at: 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7833
    mode := nativeContext at: 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7834
    lastModTime := nativeContext at: 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7835
    result := path asFilename.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7836
    result ifNil: [ JavaVM throwZipException ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7837
    ^[ 
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7838
        ZipCache indexOf: ( ZipCache add: (ZipArchive readingFrom: result readStream) ) 
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7839
    ] on: Error do:[:ex|
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7840
        self throwIOExceptionWithMessage: 'Cannot open zip file: ', ex description
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7841
    ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7842
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7843
    "Modified: / 01-04-2011 / 15:35:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7844
    "Modified: / 31-08-2011 / 20:56:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7845
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7846
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7847
_java_util_zip_ZipFile_read: aJavaContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7848
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7849
    <javanative: 'java/util/zip/ZipFile' name: 'read'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7850
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7851
    
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7852
    | jzfile jzentry pos b off len zar zmember bytesToRead |
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7853
    jzfile := aJavaContext argAt: 1.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7854
    jzentry := aJavaContext argAt: 3. "first arg is long!!!!!!"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7855
    pos := aJavaContext argAt: 5. "jzentry arg is long!!!!!!"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7856
    b := aJavaContext argAt: 7.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7857
    off := aJavaContext argAt: 8.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7858
    len := aJavaContext argAt: 9.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7859
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7860
    zar := ZipCache at: jzfile.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7861
    zmember := ZipEntryCache at: jzentry.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7862
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7863
    bytesToRead := len min: (zmember compressedSize - pos).
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7864
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7865
    ^zar nextBytes: bytesToRead of: zmember startingAt: pos into: b startingAt: off + 1.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7866
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7867
    "Created: / 30-04-2011 / 22:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7868
    "Modified: / 01-05-2011 / 16:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7869
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7870
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7871
!JavaVM class methodsFor:'native - old-style'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7872
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7873
_AccessController_beginPrivileged:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7874
    "/ introduced with jdk1.2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7875
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7876
    "Created: / 27.1.1998 / 18:18:11 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7877
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7878
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7879
_AccessController_endPrivileged:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7880
    "/ introduced with jdk1.2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7881
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7882
    "Created: / 27.1.1998 / 18:18:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7883
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7884
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7885
_AudioDevice_audioClose:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7886
    |device fd stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7887
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7888
    device := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7889
    device notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7890
	fd := device instVarNamed:'dev'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7891
	(fd notNil and:[fd > 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7892
	    stream := self getOpenFileAt:fd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7893
	    stream notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7894
		stream close.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7895
		device instVarNamed:'dev' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7896
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7897
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7898
    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7899
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7900
    "Created: / 10.1.1998 / 15:45:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7901
    "Modified: / 13.1.1998 / 18:08:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7902
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7903
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7904
_AudioDevice_audioOpen:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7905
    |f stream fileNo|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7906
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7907
    NoAudio ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7908
	Transcript showCR:'JAVA: audio disabled'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7909
	^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7910
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7911
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7912
    Stream streamErrorSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7913
	Stream streamErrorSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7914
	    stream := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7915
	    ex return.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7916
	] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7917
	    stream := SoundStream writing.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7918
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7919
    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7920
	stream := SoundStream writing.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7921
	stream notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7922
	    stream setSampleRate:8000.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7923
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7924
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7925
    stream isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7926
"/        ^ -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7927
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7928
	f := '/dev/audio' asFilename.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7929
	f exists ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7930
	    Transcript showCR:'JAVA: neither SoundStream nor /dev/audio available'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7931
	    ^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7932
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7933
	stream := f readWriteStream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7934
	stream isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7935
	    Transcript showCR:'JAVA: /dev/audio exists, but cannot be opened'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7936
	    ^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7937
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7938
	fileNo := self addOpenFile:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7939
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7940
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7941
    fileNo := self addOpenFile:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7942
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7943
    FileOpenTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7944
	('JAVA: opened audioDevice as FD ' , fileNo printString) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7945
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7946
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7947
    ^ fileNo
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7948
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7949
    "Created: / 10.1.1998 / 15:45:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7950
    "Modified: / 14.10.1998 / 15:20:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7951
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7952
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7953
_AudioDevice_audioWrite:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7954
    |device fd stream bytes count|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7955
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7956
    device := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7957
    device notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7958
	fd := device instVarNamed:'dev'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7959
	(fd notNil and:[fd > 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7960
	    stream := self getOpenFileAt:fd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7961
	    stream notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7962
		bytes := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7963
		count := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7964
		stream nextPutBytes:count from:bytes startingAt:1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7965
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7966
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7967
    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7968
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7969
    "Created: / 10.1.1998 / 15:45:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7970
    "Modified: / 13.1.1998 / 18:07:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7971
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7972
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7973
_BigInteger_plumbInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7974
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7975
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7976
    "Modified: / 12.11.1998 / 19:23:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7977
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7978
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7979
_CMM_cmmGetTagSize:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7980
    "/ public static native synchronized int cmmGetTagSize (long arg1, int arg2, int[] arg3)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7981
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7982
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7983
    UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7984
    ^ -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7985
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7986
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7987
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7988
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7989
_CMM_cmmInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7990
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7991
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7992
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7993
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7994
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7995
_CMM_cmmLoadProfile:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7996
    "/ public static native synchronized int cmmLoadProfile (byte[] arg1, long[] arg2)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7997
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7998
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7999
    UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8000
    ^ -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8001
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8002
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8003
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8004
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8005
_CRC32_update1:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8006
    "/ void update1 (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8007
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8008
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8009
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8010
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8011
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8012
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8013
_CRC32_update:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8014
    "/ void update (byte[] int int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8015
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8016
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8017
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8018
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8019
    "Created: / 27.1.2000 / 03:09:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8020
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8021
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8022
_ClassLoader_createArrayClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8023
    "java.lang.Class createArrayClass (java.lang.String java.lang.Class)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8024
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8025
    "resolve a new class as previously created by defineClass0"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8026
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8027
    |jClassLoader name elCls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8028
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8029
    jClassLoader := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8030
    name := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8031
    elCls := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8032
    elCls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8033
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8034
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8035
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8036
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8037
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8038
    "Modified: / 27.1.2000 / 02:36:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8039
    "Created: / 27.1.2000 / 02:56:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8040
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8041
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8042
_ClassLoader_defineClass0: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8043
    "create a new class from a given byteArray.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8044
     Here, construct a stream on it and pass the work to the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8045
     JavaClassReader."
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8046
    
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8047
    | jClassLoader  jName  data  offset  length  inStream  newClass  jClass |
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8048
    self breakPoint: #mh.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8049
    jClassLoader := nativeContext receiver.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8050
    jName := nativeContext argAt: 1.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8051
    data := nativeContext argAt: 2.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8052
    offset := nativeContext argAt: 3.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8053
    length := nativeContext argAt: 4.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8054
    inStream := data readStream.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8055
    inStream position: offset + 1.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8056
    inStream readLimit: (offset + length).
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8057
    "Q: Is this method ever called in JDK 6? Isn't it just
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8058
     a leftover?"
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8059
    self breakPoint: #jv info: 'Code below is obsolete...'.
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8060
    self breakPoint: #mh info: 'Code below is obsolete...'.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8061
    newClass := JavaClassRegistry loadStream: inStream loader: jClassLoader.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8062
    newClass isNil ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8063
        Logger 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8064
            log: '_ClassLoader_defineClass0: was not able to read given class'
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8065
            severity: #warn
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8066
            facility: #JVM.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8067
        self breakPoint: #mh.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8068
        ^ nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8069
    ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8070
    newClass classLoader: jClassLoader.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8071
    jClass := self javaClassObjectForClass: newClass.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8072
    ^ jClass.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8073
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8074
    "Created: / 07-01-1998 / 12:35:10 / cg"
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8075
    "Modified: / 24-01-1998 / 15:26:21 / cg"
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8076
    "Modified: / 30-10-2011 / 12:10:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8077
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8078
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8079
_ClassLoader_findSystemClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8080
    ^ self _ClassLoader_findSystemClass0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8081
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8082
    "Created: / 18.11.1998 / 00:00:14 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8083
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8084
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8085
_ClassLoader_getSystemResource: nativeContext asStream0: returnAsStream 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8086
    "common code for
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8087
        getSystemResourceAsStream0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8088
        getSystemResourceAsName0"
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8089
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8090
    | jString  rString  dir  file  text  inStream  url |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8091
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8092
    jString := nativeContext argAt: 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8093
    rString := Java as_ST_String: jString.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8094
    Java effectiveClassPath 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8095
        keysAndValuesDo: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8096
            :classPathIndex :aPath | 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8097
            | f  zipFile  zar  data |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8098
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8099
            f := aPath asFilename.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8100
            ((zipFile := f withSuffix: 'jar') exists 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8101
                or: [ (zipFile := f withSuffix: 'zip') exists ]) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8102
                    ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8103
                        zar := ZipArchive oldFileNamed: zipFile.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8104
                        (Array 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8105
                            with: rString
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8106
                            with: rString asLowercase
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8107
                            with: rString asUppercase) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8108
                                do: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8109
                                    :tryName | 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8110
                                    | entry |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8111
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8112
                                    entry := zar findMember: tryName.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8113
                                    entry notNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8114
                                        returnAsStream ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8115
                                            data := zar extract: tryName.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8116
                                            inStream := (self classForName: 'java.io.ByteArrayInputStream') 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8117
                                                        newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8118
                                            inStream perform: #'<init>([B)V' with: data.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8119
                                            ^ inStream.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8120
                                        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8121
                                        url := 'systemResource:/ZIP' , (classPathIndex - 1) printString , '/+/' 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8122
                                                    , tryName.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8123
                                        ^ Java as_String: url.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8124
                                    ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8125
                                ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8126
                    ]
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8127
                    ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8128
                        f exists ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8129
                            (file := f construct: rString) exists ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8130
                                (Java isExcludedFromClassPath: file) ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8131
                                    "/ Copy data from returned buffer into Java byte array. 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8132
                                    "/ self halt.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8133
                                    returnAsStream ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8134
                                        text := file contents asString.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8135
                                        data := text asByteArray.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8136
                                        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8137
                                        "/ Create input stream using byte array 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8138
                                        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8139
                                        inStream := (Java classForName: 'java.io.ByteArrayInputStream') newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8140
                                        inStream perform: #'<init>([B)V' with: data.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8141
                                        ^ inStream.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8142
                                    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8143
                                    url := 'systemResource:/FILE/' , file pathName.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8144
                                    self halt.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8145
                                    ^ Java as_String: url
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8146
                                ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8147
                            ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8148
                        ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8149
                    ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8150
        ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8151
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8152
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8153
    "Created: / 08-01-1998 / 16:06:56 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8154
    "Modified: / 26-12-1998 / 17:14:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8155
    "Modified: / 22-11-2010 / 13:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8156
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8157
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8158
_ClassLoader_getSystemResourceAsName0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8159
    "/ java.lang.String getSystemResourceAsName0 (java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8160
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8161
    ^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8162
	_ClassLoader_getSystemResource:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8163
	asStream0:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8164
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8165
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8166
_ClassLoader_getSystemResourceAsStream0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8167
    "/ java.lang.InputStream getSystemResourceAsStream0 (java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8168
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8169
    ^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8170
	_ClassLoader_getSystemResource:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8171
	asStream0:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8172
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8173
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8174
_ClassLoader_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8175
     ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8176
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8177
    "Created: / 5.1.1998 / 02:04:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8178
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8179
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8180
_ClassLoader_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8181
    "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8182
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8183
    "Created: / 27.1.1998 / 18:37:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8184
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8185
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8186
_ClassLoader_resolveClass0: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8187
    "resolve a new class as previously created by defineClass0"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8188
    
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8189
    | jClassLoader  jCls  cls  anyUnresolved |
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8190
self breakPoint:#mh.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8191
    jClassLoader := nativeContext receiver.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8192
    jCls := nativeContext argAt: 1.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8193
    jCls isNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8194
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8195
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8196
    ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8197
    cls := self reflection javaClassObjectForClass: jCls.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8198
    cls isNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8199
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8200
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8201
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8202
    ('JavaVM [info]: resolving class ' , cls fullName , ' ...') infoPrintCR.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8203
    JavaClassReader classLoaderQuerySignal answer: jClassLoader
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8204
        do: [
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8205
            "correct this so it works with new resolving"
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8206
            self breakPoint: #mh.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8207
            JavaClassReader resolveClass: cls.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8208
            
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8209
"/        JavaClassReader postLoadActions:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8210
            
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8211
            anyUnresolved := false.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8212
            cls constantPool do: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8213
                :entry | 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8214
                (entry isMemberOf: JavaUnresolvedClassConstant) ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8215
                    self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8216
                    entry preResolve.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8217
                    self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8218
                    anyUnresolved := true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8219
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8220
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8221
        ].
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8222
    anyUnresolved ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8223
        jClassLoader notNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8224
            "/ any unresolved left -> try resolving with standard loader
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8225
            JavaClassReader classLoaderQuerySignal answer: nil
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8226
                do: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8227
                    cls constantPool do: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8228
                        :entry | 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8229
                        (entry isMemberOf: JavaUnresolvedClassConstant) ifTrue: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8230
                            self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8231
                            entry preResolve.
1026
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  8232
                            self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8233
                        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8234
                    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8235
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8236
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8237
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8238
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8239
    "Created: / 07-01-1998 / 13:12:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8240
    "Modified: / 20-10-1998 / 19:01:57 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8241
    "Modified: / 28-01-2011 / 15:28:18 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8242
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8243
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8244
_ClassLoader_resolveClass: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8245
    "void resolveClass (java.lang.Class)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8246
    "resolve a new class as previously created by defineClass0"
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8247
    
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8248
    | jClassLoader  jCls  cls  loaderStub  anyUnresolved |
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8249
    self breakPoint: #mh.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8250
    jClassLoader := nativeContext receiver.
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8251
    jCls := nativeContext argAt: 1.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8252
    jCls isNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8253
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8254
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8255
    ].
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8256
    UnimplementedNativeMethodSignal raiseRequest.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8257
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8258
    "Modified: / 27.1.2000 / 02:36:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8259
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8260
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8261
_Class_forName: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8262
    "get a java.lang.Class by name"
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8263
    
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8264
    | jClassName  className  cls  jClass  s  m  c  loader |
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8265
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8266
    self breakPoint: #mh.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8267
    jClassName := nativeContext argAt: 1.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8268
    className := Java as_ST_String: jClassName.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8269
    (s := nativeContext sender) notNil ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8270
        (s isJavaContext) ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8271
            c := s method javaClass.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8272
            loader := c classLoader.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8273
            loader isNil ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8274
                "/ self halt.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8275
            ]
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8276
        ]
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8277
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8278
    JavaClassReader classLoaderQuerySignal answer: loader
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
  8279
        do: [ cls := self classForName: className. ].
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8280
    
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8281
"/(className startsWith:'sun.awt') ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8282
"/('classForName: ' , className , ' -> ') print.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8283
"/cls notNil ifTrue:[cls fullName printCR] ifFalse:['nil' printCR].
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8284
    
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8285
    cls isNil ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8286
        ExceptionTrace ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8287
            ('throwing exception: no such class:' , className) infoPrintCR.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8288
        ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8289
        ExceptionDebug ifTrue: [ self halt: 'no such class:' , className. ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8290
        self throwClassNotFoundException: className.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8291
        
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8292
        "/ not proceedable
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8293
        
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8294
        AbortSignal raise.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8295
        
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8296
        "/ not reached
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8297
        
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8298
        ^ self
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8299
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
  8300
    ^ self javaClassObjectForClass: cls.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8301
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8302
    "Modified: / 30.12.1998 / 20:12:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8303
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8304
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8305
_Class_getClassLoader:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8306
    "get a classes loader"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8307
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8308
    |jClass cls loader|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8309
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8310
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8311
    cls := self reflection classForJavaClassObject:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8312
    loader := cls classLoader.
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8313
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8314
    "JV@2011-10-30: Is code below OK?"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8315
    cls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8316
        loader := JavaClassReader classLoaderQuerySignal query.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8317
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8318
    ^ loader
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8319
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8320
    "Created: / 05-01-1998 / 02:51:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8321
    "Modified: / 04-01-1999 / 17:50:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8322
    "Modified: / 28-01-2011 / 15:18:57 / Marcel Hlopko <hlopik@gmail.com>"
1059
22fe06c9e367 Fixes in classloaders
vranyj1
parents: 1058
diff changeset
  8323
    "Modified (format): / 30-10-2011 / 12:23:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8324
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8325
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8326
_Class_getConstructor0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8327
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8328
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8329
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8330
    "Created: / 12.11.1998 / 18:55:42 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8331
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8332
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8333
_Class_getConstructors0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8334
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8335
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8336
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8337
    "Created: / 12.11.1998 / 18:55:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8338
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8339
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8340
_Class_getField0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8341
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8342
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8343
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8344
    "Created: / 12.11.1998 / 18:55:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8345
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8346
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8347
_Class_getFields0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8348
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8349
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8350
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8351
    "Created: / 12.11.1998 / 18:55:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8352
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8353
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8354
_Class_getMethod0:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8355
    "get a method, given a name and type spec"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8356
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8357
    |jClass cls jmName mName mTypes whichAccess argSig sel|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8358
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8359
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8360
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8361
    jmName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8362
    mName := Java as_ST_String:jmName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8363
    mTypes := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8364
    whichAccess := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8365
    argSig := JavaMethod argSignatureFromArgTypeArray:mTypes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8366
    cls methodDictionary 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8367
        keysAndValuesDo:[:sel :mthd | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8368
            |i1 i2 jMethod retTypeClass argTypes|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8369
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8370
            JavaMethods notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8371
                (jMethod := JavaMethods at:mthd ifAbsent:nil) notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8372
                    ^ jMethod
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8373
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8374
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8375
            mthd name printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8376
            mName printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8377
            mthd name = mName ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8378
                i1 := mthd signature indexOf:$(.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8379
                i2 := mthd signature indexOf:$) startingAt:(i1 + 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8380
                (mthd signature copyFrom:i1 + 1 to:i2 - 1) = argSig ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8381
                    "/ found it - create a java.lang.reflect.Method for it.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8382
                    jMethod := (Java at:'java.lang.reflect.Method') new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8383
                    jMethod instVarNamed:'clazz' put:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8384
                    jMethod instVarNamed:'slot' put:sel.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8385
                    jMethod instVarNamed:'name' put:jmName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8386
                    retTypeClass := mthd returnTypeClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8387
                    retTypeClass isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8388
                        retTypeClass := #void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8389
                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8390
                    argTypes := mthd argSignature.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8391
                    argTypes := argTypes 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8392
                                collect:[:s | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8393
                                    |c|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8394
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8395
                                    c := Java at:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8396
                                    self javaClassObjectForClass:(c ? s asSymbol)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8397
                                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8398
                    jMethod instVarNamed:'returnType'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8399
                        put:(self javaClassObjectForClass:retTypeClass).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8400
                    jMethod instVarNamed:'parameterTypes' put:argTypes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8401
                    JavaMethods isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8402
                        JavaMethods := IdentityDictionary new
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8403
                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8404
                    JavaMethods at:jMethod put:mthd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8405
                    JavaMethods at:mthd put:jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8406
                    ^ jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8407
                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8408
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8409
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8410
    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8411
    self throwExceptionClassName:'java.lang.NoSuchMethodException'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8412
        withMessage:'not yet implemented'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8413
    ^ nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8414
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8415
    "Modified: / 22-10-1998 / 01:54:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8416
    "Modified: / 28-01-2011 / 14:36:26 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8417
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8418
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8419
_Class_getMethods0:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8420
    "get a method, given a name and type spec"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8421
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8422
    |jClass cls jmName mTypes whichAccess argSig sel methods|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8423
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8424
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8425
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8426
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8427
    "/ 0 = PUBLIC (i.e. includes inherited) / 1 = DECLARED here
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8428
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8429
    whichAccess := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8430
    methods := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8431
    [cls isJavaClass] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8432
        cls methodDictionary 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8433
            keysAndValuesDo:[:sel :mthd | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8434
                |i1 i2 jMethod argTypes retTypeClass|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8435
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8436
                mthd name printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8437
                i1 := mthd signature indexOf:$(.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8438
                i2 := mthd signature indexOf:$) startingAt:(i1 + 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8439
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8440
                "/ create a java.lang.reflect.Method for it.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8441
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8442
                jMethod := (Java at:'java.lang.reflect.Method') new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8443
                jMethod instVarNamed:'clazz' put:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8444
                jMethod instVarNamed:'slot' put:sel.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8445
                jMethod instVarNamed:'name' put:(Java as_String:mthd name).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8446
                retTypeClass := mthd returnTypeClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8447
                retTypeClass isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8448
                    retTypeClass := #void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8449
                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8450
                argTypes := mthd argSignature.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8451
                argTypes := argTypes 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8452
                            collect:[:s | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8453
                                |c|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8454
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8455
                                c := Java at:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8456
                                self javaClassObjectForClass:(c ? s asSymbol)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8457
                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8458
                jMethod instVarNamed:'returnType'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8459
                    put:(self javaClassObjectForClass:retTypeClass).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8460
                jMethod instVarNamed:'parameterTypes' put:argTypes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8461
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8462
"/ (mthd name includesString:'setName') ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8463
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8464
                JavaMethods isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8465
                    JavaMethods := IdentityDictionary new
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8466
                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8467
                JavaMethods at:jMethod put:mthd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8468
                JavaMethods at:mthd put:jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8469
                methods add:jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8470
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8471
        whichAccess == 1 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8472
            "/ local methods only
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8473
            cls := nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8474
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8475
            cls := cls superclass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8476
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8477
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8478
    methods := methods asArray.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8479
    ^ methods.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8480
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8481
    "Modified: / 22-10-1998 / 01:53:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8482
    "Modified: / 28-01-2011 / 14:36:58 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8483
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8484
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8485
_Class_getName:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8486
    "get a classes name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8487
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8488
    |jClass cls nm|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8489
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8490
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8491
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8492
    cls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8493
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8494
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8495
    cls isJavaClass ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8496
        nm := (cls fullName copyReplaceAll:$/ with:$.)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8497
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8498
        cls isSymbol ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8499
            nm := cls
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8500
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8501
            nm := cls name
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8502
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8503
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8504
    ^ Java as_String:nm.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8505
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8506
    "Modified: / 30-12-1998 / 21:13:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8507
    "Modified: / 28-01-2011 / 15:30:34 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8508
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8509
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8510
_Class_getSigners:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8511
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8512
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8513
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8514
    "Created: / 12.11.1998 / 18:55:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8515
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8516
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  8517
_Class_newInstance: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8518
    "get an instance for a java.lang.Class"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8519
    
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  8520
    | jClass  cls  newInst |
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  8521
self breakPoint:#mh.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8522
    jClass := nativeContext receiver.
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  8523
    cls := self reflection javaClassObjectForClass: jClass.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8524
    cls classInit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8525
    newInst := cls newCleared.
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
  8526
    newInst perform: #'<init>()V'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8527
    ^ newInst
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8528
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8529
    "Created: / 02-01-1998 / 22:41:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8530
    "Modified: / 15-01-1998 / 00:57:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8531
    "Modified: / 28-01-2011 / 14:12:25 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8532
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8533
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8534
_Class_setSigners:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8535
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8536
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8537
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8538
    "Created: / 12.11.1998 / 18:55:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8539
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8541
_ColorModel_deletepData:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8542
    "/ void deletepData ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8543
    UnimplementedNativeMethodSignal raiseRequest
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8544
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8545
    "Created: / 12.11.1998 / 19:22:05 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8546
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8547
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8548
_ColorModel_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8549
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8550
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8551
    "Created: / 28.1.1998 / 22:19:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8552
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8553
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8554
_Constructor_getModifiers:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8555
    "/ int getModifiers ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8556
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8557
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8558
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8559
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8560
    "Created: / 27.1.2000 / 02:54:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8561
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8562
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8563
_Constructor_newInstance:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8564
    "/ java.lang.Object newInstance (java.lang.Object[])
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8565
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8566
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8567
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8568
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8569
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8570
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8571
_Double_doubleToLongBits:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8572
    |f i|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8573
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8574
    f := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8575
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8576
    UninterpretedBytes isBigEndian ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8577
	i := f basicAt:8. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8578
	i := i bitOr:((f basicAt:7) bitShift:8).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8579
	i := i bitOr:((f basicAt:6) bitShift:16).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8580
	i := i bitOr:((f basicAt:5) bitShift:24).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8581
	i := i bitOr:((f basicAt:4) bitShift:32).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8582
	i := i bitOr:((f basicAt:3) bitShift:40).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8583
	i := i bitOr:((f basicAt:2) bitShift:48).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8584
	i := i bitOr:((f basicAt:1) bitShift:56).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8585
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8586
	i := f basicAt:1. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8587
	i := i bitOr:((f basicAt:2) bitShift:8).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8588
	i := i bitOr:((f basicAt:3) bitShift:16).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8589
	i := i bitOr:((f basicAt:4) bitShift:24).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8590
	i := i bitOr:((f basicAt:5) bitShift:32).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8591
	i := i bitOr:((f basicAt:6) bitShift:40).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8592
	i := i bitOr:((f basicAt:7) bitShift:48).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8593
	i := i bitOr:((f basicAt:8) bitShift:56).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8594
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8595
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8596
    ^ i.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8597
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8598
    "Created: / 4.1.1998 / 01:39:12 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8599
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8600
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8601
_Double_valueOf0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8602
    |s d|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8603
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8604
    s := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8605
    s notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8606
	s := Java as_ST_String:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8607
	d := Float readFrom:s onError:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8608
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8609
    d isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8610
	self throwNumberFormatException.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8611
	"/ not reached
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8612
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8613
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8614
    ^ d
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8615
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8616
    "Modified: / 8.8.1997 / 12:03:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8617
    "Created: / 7.1.1998 / 11:09:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8618
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8619
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8620
_Field_get:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8621
    "/ java.lang.Object get (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8622
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8623
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8624
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8625
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8626
    "Created: / 27.1.2000 / 03:04:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8627
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8628
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8629
_Field_getBoolean:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8630
    "/ boolean getBoolean (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8631
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8632
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8633
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8634
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8635
    "Created: / 27.1.2000 / 03:05:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8636
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8637
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8638
_Field_getByte:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8639
    "/ byte getByte (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8640
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8641
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8642
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8643
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8644
    "Created: / 27.1.2000 / 03:05:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8645
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8646
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8647
_Field_getChar:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8648
    "/ char getChar (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8649
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8650
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8651
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8652
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8653
    "Created: / 27.1.2000 / 03:03:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8654
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8655
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8656
_Field_getDouble:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8657
    "/ double getDouble (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8658
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8659
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8660
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8661
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8662
    "Created: / 27.1.2000 / 03:07:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8663
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8664
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8665
_Field_getFloat:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8666
    "/ float getFloat (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8667
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8668
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8669
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8670
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8671
    "Created: / 27.1.2000 / 03:05:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8672
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8673
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8674
_Field_getInt:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8675
    "/ int getInt (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8676
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8677
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8678
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8679
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8680
    "Created: / 27.1.2000 / 03:04:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8681
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8682
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8683
_Field_getLong:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8684
    "/ long getLong (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8685
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8686
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8687
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8688
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8689
    "Created: / 27.1.2000 / 03:05:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8690
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8691
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8692
_Field_getModifiers:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8693
    "/ int getModifiers ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8694
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8695
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8696
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8697
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8698
    "Created: / 27.1.2000 / 03:07:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8699
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8700
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8701
_Field_getShort:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8702
    "/ unsigned short getShort (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8703
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8704
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8705
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8706
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8707
    "Created: / 27.1.2000 / 03:07:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8708
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8709
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8710
_Field_set:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8711
    "/ void set (java.lang.Object java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8712
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8713
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8714
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8715
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8716
    "Created: / 27.1.2000 / 03:04:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8717
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8718
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8719
_Field_setBoolean:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8720
    "/ void setBoolean (java.lang.Object boolean)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8721
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8722
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8723
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8724
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8725
    "Created: / 27.1.2000 / 03:06:06 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8726
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8727
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8728
_Field_setByte:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8729
    "/ void setByte (java.lang.Object byte)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8730
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8731
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8732
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8733
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8734
    "Created: / 27.1.2000 / 03:06:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8735
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8736
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8737
_Field_setChar:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8738
    "/ void setChar (java.lang.Object char)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8739
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8740
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8741
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8742
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8743
    "Created: / 27.1.2000 / 03:03:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8744
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8745
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8746
_Field_setDouble:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8747
    "/ void setDouble (java.lang.Object double)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8748
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8749
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8750
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8751
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8752
    "Created: / 27.1.2000 / 03:04:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8753
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8754
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8755
_Field_setFloat:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8756
    "/ void setFloat (java.lang.Object float)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8757
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8758
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8759
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8760
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8761
    "Created: / 27.1.2000 / 03:06:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8762
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8763
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8764
_Field_setInt:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8765
    "/ void setInt (java.lang.Object int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8766
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8767
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8768
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8769
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8770
    "Created: / 27.1.2000 / 03:05:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8771
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8773
_Field_setLong:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8774
    "/ void setLong (java.lang.Object long)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8775
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8776
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8777
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8778
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8779
    "Created: / 27.1.2000 / 03:06:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8780
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8781
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8782
_Field_setShort:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8783
    "/ void setShort (java.lang.Object unsigned short)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8784
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8785
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8786
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8787
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8788
    "Created: / 27.1.2000 / 03:03:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8789
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8790
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8791
_FileDescriptor_initSystemFD:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8792
    |descriptor fileNo idx myStream|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8793
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8794
    descriptor := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8795
    fileNo := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8796
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8797
    fileNo == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8798
	myStream := Stdin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8799
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8800
	fileNo == 1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8801
	   myStream := JavaConsoleStream ? Stdout
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8802
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8803
	    fileNo == 2 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8804
		myStream := JavaConsoleStream ? Stderr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8805
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8806
		self halt:'invalid fileNo given'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8807
		self internalError:'invalid fileNo given'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8808
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8809
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8810
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8811
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8812
    self setOpenFile:myStream at:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8813
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8814
    descriptor instVarNamed:'fd' put:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8815
    ^ descriptor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8816
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8817
    "Modified: / 27.1.1998 / 18:15:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8818
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8819
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8820
_FileDescriptor_valid:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8821
    "/ boolean valid ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8822
    |descriptor fileNo stream|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8823
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8824
    descriptor := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8825
    fileNo := descriptor instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8826
    stream := self getOpenFileAt:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8827
    stream isNil ifTrue:[^ 0]. "/ FALSE 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8828
    stream isOpen ifFalse:[^ 0].  "/ FALSE 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8829
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8830
    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8831
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8832
    "Modified: / 11.12.1998 / 13:02:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8833
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8834
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8835
_FileInputStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8836
    ^ self anyStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8837
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8838
    "Created: / 4.1.1998 / 17:45:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8839
    "Modified: / 4.2.1998 / 15:20:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8840
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8841
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8842
_FileInputStream_skip:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8843
    "/ long skip (long)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8844
    |file nSkip nSkipped|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8845
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8846
    file := self validateFile:(nativeContext receiver).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8847
    nSkip := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8848
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8849
    file == Stdin ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8850
	file := StdinReplacementFileQuerySignal raiseRequest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8851
	file isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8852
	    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8853
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8854
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8855
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8856
    FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8857
	(('JAVA: skip %1 byte(s) from ' bindWith:nSkip printString) , file pathName) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8858
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8860
    file skip:nSkip.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8861
    ^ nSkip
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8862
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8863
    "Modified: / 27.1.1999 / 20:36:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8864
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8865
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8866
_FileOutputStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8867
    ^ self anyStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8868
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8869
    "Created: / 13.1.1998 / 09:33:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8870
    "Modified: / 4.2.1998 / 15:20:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8871
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8872
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8873
_File_canRead0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8874
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8875
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8876
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8877
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8878
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8879
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8880
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8881
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8882
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8883
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8884
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8885
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8886
	(f := path asFilename) isReadable ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8887
	    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8888
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8889
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8890
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8891
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8892
    "Created: / 4.1.1998 / 18:09:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8893
    "Modified: / 27.1.1999 / 18:57:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8894
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8895
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8896
_File_canWrite0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8897
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8898
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8899
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8900
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8901
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8902
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8903
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8904
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8905
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8906
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8907
	(f := path asFilename) isWritable ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8908
	    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8909
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8910
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8911
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8912
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8913
    "Created: / 4.2.1998 / 00:19:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8914
    "Modified: / 27.1.1999 / 18:57:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8915
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8916
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8917
_File_canonPath:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8918
    "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8919
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8920
    |jPath path realPath|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8921
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8922
    jPath := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8923
    jPath isNil ifTrue:[^ jPath].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8924
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8925
    path := Java as_ST_String:jPath.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8926
    realPath := path asFilename pathName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8927
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8928
    ^ Java as_String:realPath
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8929
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8930
    "Created: / 27.1.1998 / 18:35:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8931
    "Modified: / 27.1.1998 / 21:36:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8932
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8933
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8934
_File_delete0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8935
    "/ boolean delete0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8936
    |oldFile oldPath oldF|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8937
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8938
    oldFile := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8939
    oldPath := oldFile instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8940
    oldPath isNil ifTrue:[^ 0].    "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8942
    oldPath := Java as_ST_String:oldPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8943
    oldF := oldPath asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8944
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8945
    oldF exists ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8946
	^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8947
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8948
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8949
    (self checkWritePermissionOfDirectory:oldF directory message:('JAVA Security check\\Delete of ''' , oldPath , '''.\Grant permission ?'))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8950
    ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8951
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8952
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8953
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8954
    OperatingSystem accessDeniedErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8955
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8956
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8957
	oldF delete.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8958
	^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8959
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8960
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8961
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8962
    "Modified: / 30.12.1998 / 20:15:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8963
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8964
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8965
_File_exists0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8966
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8967
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8968
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8969
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8970
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8971
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8972
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8973
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8974
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8975
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8976
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8977
	    ^ 1 "TRUE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8978
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8979
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8980
    ^ 0 "FALSE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8981
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8982
    "Created: / 5.1.1998 / 02:07:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8983
    "Modified: / 27.1.1999 / 18:57:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8984
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8985
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8986
_File_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8987
    "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8988
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8989
    "Created: / 27.1.1998 / 18:25:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8990
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8991
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8992
_File_isAbsolute:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8993
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8994
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8995
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8996
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8997
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8998
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8999
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9000
	(f := path asFilename) isAbsolute ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9001
	    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9002
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9003
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9004
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9005
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9006
    "Created: / 11.1.1998 / 09:54:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9007
    "Modified: / 20.10.1998 / 20:59:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9008
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9009
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9010
_File_isDirectory0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9011
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9012
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9013
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9014
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9015
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9016
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9017
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9018
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9019
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9020
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9021
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9022
	    f isDirectory ifTrue:[^ 1 "TRUE"]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9023
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9024
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9025
    ^ 0 "FALSE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9026
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9027
    "Created: / 7.1.1998 / 10:31:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9028
    "Modified: / 27.1.1999 / 18:58:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9029
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9030
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9031
_File_isFile0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9032
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9034
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9035
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9036
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9037
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9038
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9039
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9040
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9041
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9042
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9043
	    f isDirectory ifFalse:[^ 1 "TRUE"]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9044
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9045
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9046
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9047
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9048
    "Created: / 11.1.1998 / 11:40:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9049
    "Modified: / 27.1.1999 / 18:58:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9050
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9051
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9052
_File_lastModified0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9053
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9054
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9055
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9056
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9057
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9058
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9059
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9060
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9061
	    ^ f modificationTime getMilliseconds.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9062
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9063
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9064
    ^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9065
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9066
    "Created: / 4.2.1998 / 16:50:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9067
    "Modified: / 20.10.1998 / 21:00:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9068
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9069
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9070
_File_length0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9071
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9072
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9073
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9074
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9075
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9076
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9077
	    thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9078
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9079
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9080
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9081
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9082
	    ^ f fileSize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9083
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9084
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9085
    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9086
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9087
    "Created: / 7.1.1998 / 12:18:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9088
    "Modified: / 27.1.1999 / 18:57:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9089
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9090
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9091
_File_list0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9092
    |file path f files|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9093
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9094
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9095
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9096
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9097
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9098
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9099
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9100
	    f isDirectory ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9101
		files := f directoryContents asArray.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9102
		files := files collect:[:nm | Java as_String:nm].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9103
		^ files
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9104
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9105
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9106
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9107
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9109
    "Created: / 14.1.1998 / 21:30:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9110
    "Modified: / 20.10.1998 / 21:00:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9111
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9113
_File_mkdir0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9114
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9115
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9116
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9117
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9118
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9119
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9120
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9121
	f := path asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9122
	(f exists and:[f isDirectory]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9123
	    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9124
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9125
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9126
	FileOpenConfirmation ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9127
	    (self confirm:('JAVA Security check\\Create directory ''' , path , '''.\Grant permission ?') withCRs)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9128
	    ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9129
		^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9130
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9131
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9132
	OperatingSystem accessDeniedErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9133
	    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9134
	] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9135
	    f makeDirectory.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9136
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9137
	f  exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9138
	    f isDirectory ifTrue:[^ 1 "TRUE"]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9139
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9140
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9141
    ^ 0 "FALSE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9143
    "Created: / 4.2.1998 / 00:19:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9144
    "Modified: / 4.12.1998 / 14:04:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9145
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9146
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9147
_File_renameTo0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9148
    "/ void renameTo0 (java.io.File)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9149
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9150
    |oldFile newFile oldPath newPath oldF newF|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9151
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9152
    oldFile := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9153
    oldPath := oldFile instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9154
    oldPath isNil ifTrue:[^ 0].    "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9155
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9156
    oldPath := Java as_ST_String:oldPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9157
    oldF := oldPath asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9158
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9159
    newFile := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9160
    newPath := newFile instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9161
    newPath isNil ifTrue:[^ 0].    "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9162
    newPath := Java as_ST_String:newPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9164
    newF := newPath asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9165
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9166
    (self checkWritePermissionOfDirectory:oldF directory message:('JAVA Security check\\Rename of ''' , oldPath , ''' to ''' , newPath , '''.\Grant permission ?'))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9167
    ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9168
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9169
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9170
    oldF directory pathName ~= newF directory pathName ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9171
	(self checkWritePermissionOfDirectory:newF directory message:('JAVA Security check\\Rename of ''' , oldPath , ''' to ''' , newPath , '''.\Grant permission ?'))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9172
	ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9173
	    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9174
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9175
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9176
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9177
    OperatingSystem accessDeniedErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9178
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9179
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9180
	oldF renameTo:newF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9181
	^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9182
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9183
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9185
    "Modified: / 3.12.1998 / 21:01:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9186
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9188
_File_rmdir0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9189
    "/ boolean rmdir0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9190
    UnimplementedNativeMethodSignal raiseRequest
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9191
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9192
    "Modified: / 12.11.1998 / 19:01:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9193
    "Created: / 12.11.1998 / 19:03:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9194
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9195
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9196
_Float_floatToIntBits:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9197
    |f i|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9198
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9199
    f := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9200
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9201
    UninterpretedBytes isBigEndian ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9202
	i := f basicAt:4. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9203
	i := i bitOr:((f basicAt:3) bitShift:8).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9204
	i := i bitOr:((f basicAt:2) bitShift:16).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9205
	i := i bitOr:((f basicAt:1) bitShift:24).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9206
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9207
	i := f basicAt:1. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9208
	i := i bitOr:((f basicAt:2) bitShift:8).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9209
	i := i bitOr:((f basicAt:3) bitShift:16).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9210
	i := i bitOr:((f basicAt:4) bitShift:24).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9211
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9212
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9213
    ^ i.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9214
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9215
    "Created: / 4.1.1998 / 01:25:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9216
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9217
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9218
_FontDescriptor_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9219
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9220
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9221
    "Created: / 28.1.1998 / 22:30:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9222
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9223
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9224
_Font_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9225
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9226
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9227
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9228
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9229
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9230
_GifImageDecoder_parseImage:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9231
    |decoder width height bool1 depth subHdrBytes dstBytes i1 i2 colorModel
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9232
     stream byte compressedData compressedSize index count data 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9233
     leftOffs topOffs codeLen flags pixelStore clrModel t buffSize 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9234
     countGot countGot2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9235
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9236
    decoder := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9237
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9238
    i1 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9239
    i2 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9240
    width := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9241
    height := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9242
    bool1 := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9243
    depth := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9244
    subHdrBytes := nativeContext argAt:7.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9245
    dstBytes := nativeContext argAt:8.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9246
    colorModel := nativeContext argAt:9.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9247
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9248
    leftOffs := subHdrBytes wordAt:1 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9249
    topOffs := subHdrBytes wordAt:3 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9250
    width := subHdrBytes wordAt:5 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9251
    height := subHdrBytes wordAt:7 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9252
    flags := subHdrBytes at:9.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9253
    codeLen := subHdrBytes at:10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9254
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9255
    stream := decoder instVarNamed:'input'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9256
    pixelStore := decoder instVarNamed:'store'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9257
    pixelStore isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9258
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9259
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9260
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9261
    buffSize := (width * height // 2) max:4096.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9262
    compressedData := ByteArray uninitializedNew:buffSize.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9263
    "get compressed data"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9264
    index := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9265
    count := stream perform:#'read()I'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9266
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9267
    [count notNil and:[count > 0]] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9268
	(index + count) > buffSize ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9269
	    t := ByteArray uninitializedNew:(buffSize * 2).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9270
	    t replaceFrom:1 to:buffSize with:compressedData startingAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9271
	    compressedData := t.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9272
	    buffSize := buffSize * 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9273
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9274
	[count ~~ 0] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9275
	    countGot := stream 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9276
			perform:#'read([BII)I' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9277
			with:compressedData
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9278
			with:index-1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9279
			with:count.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9280
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9281
	    countGot > 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9282
		count := count - countGot.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9283
		index := index + countGot.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9284
	    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9285
		count := -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9286
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9287
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9288
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9289
	count >= 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9290
	    count := stream perform:#read.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9291
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9292
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9293
    compressedSize := index - 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9294
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9295
    data := pixelStore perform:#'allocateLines(I)Ljava/lang/Object;' with:height.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9296
    (data isMemberOf:ByteArray) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9297
	self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9298
	^ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9299
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9300
"/    'GIFReader: decompressing ...' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9301
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9302
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9303
    GIFReader 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9304
	decompressGIFFrom:compressedData
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9305
	count:compressedSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9306
	into:data
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9307
	startingAt:1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9308
	codeLen:(codeLen + 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9309
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9310
    clrModel := pixelStore instVarNamed:'colormodel'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9311
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9312
    pixelStore 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9313
	perform:#'setPixels(IIII[BII)Z'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9314
	withArguments:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9315
	    (Array 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9316
		with:0        "/ x
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9317
		with:0        "/ y
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9318
		with:width    "/ w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9319
		with:height   "/ h
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9320
		with:data
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9321
		with:0        "/ offs
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9322
		with:width).   "/ scanSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9323
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9324
    pixelStore  perform:#'imageComplete()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9325
"/        perform:#'imageComplete(I)V' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9326
"/        with:((Java at:'java.awt.image.ImageConsumer') instVarNamed:'STATICIMAGEDONE').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9327
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9328
"/ self internalError:'breakPoint'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9329
    ^ 1 "/ true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9330
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9331
    "Modified: / 10.4.1998 / 14:31:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9332
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9333
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9334
_ImageRepresentation_disposeImage:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9335
    |imgRep img|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9336
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9337
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9338
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9339
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9340
    (img notNil and:[img ~~ 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9341
	ImageStretchCache notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9342
	    ImageStretchCache removeKey:img ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9343
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9344
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9345
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9346
    imgRep instVarNamed:'pData' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9347
"/    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9348
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9349
    "Created: / 7.1.1998 / 22:31:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9350
    "Modified: / 17.1.1998 / 13:26:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9351
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9352
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9353
_ImageRepresentation_finish:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9354
    |imgRep bool|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9355
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9356
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9357
    bool := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9358
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9359
"/    'JAVA: ImageRepresentation_finish ignored for now' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9360
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9361
    ^ 1 "/ true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9362
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9363
    "Created: / 8.1.1998 / 00:11:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9364
    "Modified: / 6.2.1998 / 02:12:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9365
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9366
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9367
_ImageRepresentation_imageDraw:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9368
    |imgRep x y img deviceImage jGraphics gc clr|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9369
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9370
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9371
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9372
    (img isNil or:[img == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9373
	"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9374
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9375
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9376
    jGraphics := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9377
    gc := jGraphics instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9378
    gc realized ifFalse:[^ self].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9379
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9380
    x := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9381
    y := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9382
    clr := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9383
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9384
    deviceImage := img onDevice:gc device.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9385
    deviceImage ~~ img ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9386
	imgRep instVarNamed:'pData' put:deviceImage.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9387
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9388
    gc realized ifFalse:[^ self].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9389
    deviceImage displayOn:gc x:x y:y.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9390
    ^ 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9391
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9392
    "Created: / 13.1.1998 / 13:32:28 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9393
    "Modified: / 25.11.1998 / 15:36:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9394
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9395
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9396
_ImageRepresentation_imageStretch:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9397
    |imgRep x1 y1 x2 y2 srcX1 srcY1 w h 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9398
     img deviceImage jGraphics gc clr stretchWidth stretchHeight|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9399
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9400
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9401
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9402
    (img isNil or:[img == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9403
	"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9404
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9405
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9406
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9407
    jGraphics := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9408
    gc := jGraphics instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9409
    gc realized ifFalse:[^ self].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9410
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9411
    x1 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9412
    y1 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9413
    x2 := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9414
    y2:= nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9415
    srcX1 := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9416
    srcY1 := nativeContext argAt:7.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9417
    w := nativeContext argAt:8.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9418
    h := nativeContext argAt:9.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9419
    clr := nativeContext argAt:10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9420
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9421
    (srcX1 ~~ 0 or:[srcY1 ~~ 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9422
	self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9423
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9424
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9425
    (w ~~ img width or:[h ~~ img height]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9426
	self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9427
	^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9428
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9429
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9430
    "/ TODO: remember magnified images somewhere for a while,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9431
    "/ to avoid repeated action ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9432
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9433
    stretchWidth := (x2-x1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9434
    stretchHeight := (y2-y1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9435
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9436
    (stretchWidth == img width
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9437
    and:[stretchHeight == img height]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9438
	deviceImage := img onDevice:gc device.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9439
	deviceImage ~~ img ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9440
	    imgRep instVarNamed:'pData' put:deviceImage.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9441
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9442
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9443
	ImageStretchCache notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9444
	    deviceImage := ImageStretchCache at:img ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9445
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9446
	(deviceImage isNil 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9447
	or:[deviceImage width ~~ stretchWidth
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9448
	or:[deviceImage height ~~ stretchHeight]]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9449
	    deviceImage := (img magnifiedTo:stretchWidth@stretchHeight) onDevice:gc device.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9450
	    ImageStretchCache isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9451
		ImageStretchCache := WeakIdentityDictionary new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9452
	    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9453
	    ImageStretchCache at:img put:deviceImage
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9454
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9455
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9456
    deviceImage displayOn:gc x:x1 y:y1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9457
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9458
    "Created: / 13.1.1998 / 13:32:28 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9459
    "Modified: / 15.1.1998 / 13:14:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9460
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9461
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9462
_ImageRepresentation_offscreenInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9463
    |imgRep jclr w h form screenDevice|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9464
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9465
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9466
    jclr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9467
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9468
    w := imgRep instVarNamed:'width'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9469
    h := imgRep instVarNamed:'height'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9470
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9471
    screenDevice := Screen current.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9472
    form := Form width:w height:h depth:(screenDevice depth) on:screenDevice.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9473
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9474
    imgRep instVarNamed:'pData' put:form.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9475
    "/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9476
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9477
    "Created: / 7.1.1998 / 22:31:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9478
    "Modified: / 17.1.1998 / 12:36:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9479
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9480
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9481
_ImageRepresentation_setBytePixels:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9482
    |imgRep x y w h clrModel bytes offs i2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9483
     img depth cmap rgbMap opaque transparentColorIndex
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9484
     scanLineWidth nBytes srcIdx dstIdx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9485
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9486
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9487
    x := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9488
    y := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9489
    w := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9490
    h := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9491
    clrModel := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9492
    bytes := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9493
    offs := nativeContext argAt:7.  "/ offset ??
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9494
    scanLineWidth := nativeContext argAt:8.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9495
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9496
    depth := clrModel instVarNamed:'pixel_bits'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9497
    (clrModel instVarNamed:'map_size') ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9498
	rgbMap := clrModel instVarNamed:'rgb'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9499
	cmap := Array new:rgbMap size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9500
	rgbMap 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9501
	    keysAndValuesDo:[:idx :rgb |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9502
		cmap at:idx put:(Color rgbValue:(rgb bitAnd:16rFFFFFF))
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9503
	    ].        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9504
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9505
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9506
    opaque := (clrModel instVarNamed:'opaque') ~~ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9507
    opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9508
	transparentColorIndex := clrModel instVarNamed:'transparent_index'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9509
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9510
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9511
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9512
    (img isNil or:[img == 0]) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9513
"/        self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9514
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9515
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9516
    (offs ~~ 0 or:[scanLineWidth ~~ w]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9517
	nBytes := ByteArray new:w*h.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9518
	srcIdx := offs+1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9519
	dstIdx := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9520
	1 to:h do:[:y |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9521
	    nBytes replaceFrom:dstIdx to:(dstIdx+w-1) with:bytes startingAt:srcIdx.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9522
	    srcIdx := srcIdx + scanLineWidth.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9523
	    dstIdx := dstIdx + w.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9524
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9525
	bytes := nBytes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9526
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9527
    img := Image width:w height:h depth:depth fromArray:bytes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9528
    cmap notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9529
	img colorMap:cmap.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9530
	img photometric:#palette
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9531
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9532
    opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9533
	img mask:(ImageReader 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9534
		    buildMaskFromColor:transparentColorIndex 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9535
		    for:bytes
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9536
		    width:w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9537
		    height:h)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9538
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9539
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9540
    imgRep instVarNamed:'pData' put:img.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9541
    ^ 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9542
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9543
    "Created: / 7.1.1998 / 22:31:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9544
    "Modified: / 21.10.1998 / 00:35:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9545
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9546
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9547
_ImageRepresentation_setIntPixels:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9548
    |imgRep x y w h clrModel ints offs scanLineWidth
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9549
     img depth cmap rgbMap opaque transparentColorIndex
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9550
     bytes srcIdx dstIdx val red green blue
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9551
     redMask greenMask blueMask redShift greenShift blueShift|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9552
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9553
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9554
    x := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9555
    y := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9556
    w := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9557
    h := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9558
    clrModel := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9559
    ints := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9560
    offs := nativeContext argAt:7.  "/ offset ??
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9561
    scanLineWidth := nativeContext argAt:8.  "/ scanLineWidth ??
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9562
    opaque := false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9563
offs ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9564
 self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9565
].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9566
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9567
    depth := clrModel instVarNamed:'pixel_bits'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9568
    clrModel class == (Java at:'java.awt.image.DirectColorModel') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9569
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9570
	(clrModel instVarNamed:'map_size') ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9571
	    rgbMap := clrModel instVarNamed:'rgb'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9572
	    cmap := Array new:rgbMap size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9573
	    rgbMap 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9574
		keysAndValuesDo:[:idx :rgb |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9575
		    cmap at:idx put:(Color rgbValue:(rgb bitAnd:16rFFFFFF))
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9576
		].        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9577
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9578
	opaque := (clrModel instVarNamed:'opaque') ~~ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9579
	opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9580
	    transparentColorIndex := clrModel instVarNamed:'transparent_index'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9581
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9582
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9583
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9584
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9585
    (img isNil or:[img == 0]) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9586
"/        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9587
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9589
    depth == 32 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9590
	"/ temporary kludge - ony use 24 bits/pixel
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9591
	bytes := ByteArray new:w*h*3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9592
	srcIdx := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9593
	dstIdx := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9594
	redMask := clrModel instVarNamed:'red_mask'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9595
	greenMask := clrModel instVarNamed:'green_mask'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9596
	blueMask := clrModel instVarNamed:'blue_mask'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9597
	redShift := (clrModel instVarNamed:'red_offset') negated.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9598
	greenShift := (clrModel instVarNamed:'green_offset') negated.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9599
	blueShift := (clrModel instVarNamed:'blue_offset') negated.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9600
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9601
	1 to:h do:[:y |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9602
	    1 to:w do:[:x |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9603
		val := ints at:srcIdx.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9604
		red := (val bitAnd:redMask) bitShift:redShift.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9605
		green := (val bitAnd:greenMask) bitShift:greenShift.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9606
		blue := (val bitAnd:blueMask) bitShift:blueShift.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9607
		bytes at:dstIdx put:red.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9608
		bytes at:dstIdx+1 put:green.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9609
		bytes at:dstIdx+2 put:blue.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9610
		dstIdx := dstIdx + 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9611
		srcIdx := srcIdx + 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9612
	    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9613
	    srcIdx := srcIdx + (scanLineWidth - w).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9614
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9615
	img := Depth24Image width:w height:h depth:24 fromArray:bytes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9616
	img photometric:#rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9617
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9618
	scanLineWidth ~~ w ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9619
	    self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9620
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9621
	img := Image width:w height:h depth:depth fromArray:ints.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9622
	cmap notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9623
	    img colorMap:cmap.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9624
	    img photometric:#palette
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9625
	] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9626
	    img photometric:#rgb
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9627
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9628
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9629
    opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9630
	img mask:(ImageReader 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9631
		    buildMaskFromColor:transparentColorIndex 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9632
		    for:ints
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9633
		    width:w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9634
		    height:h)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9635
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9636
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9637
    imgRep instVarNamed:'pData' put:img.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9638
    ^ 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9639
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9640
    "Created: / 1.2.1998 / 17:38:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9641
    "Modified: / 21.10.1998 / 00:35:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9642
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9643
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9644
_InetAddressImpl_getHostByAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9645
    "/ java.lang.String getHostByAddr (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9646
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9647
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9648
    "Created: / 12.11.1998 / 19:08:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9649
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9650
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9651
_InetAddressImpl_getInetFamily:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9652
    "/ self unimplementedNativeMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9653
    ^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9654
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9655
    "Modified: / 15.8.1997 / 17:04:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9656
    "Created: / 5.1.1998 / 02:05:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9657
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9658
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9659
_InetAddressImpl_getLocalHostName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9660
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9661
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9662
    |hostName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9663
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9664
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9665
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9666
    ^ (Java as_String:hostName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9667
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9668
    "Modified: / 7.8.1997 / 21:16:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9669
    "Created: / 5.1.1998 / 02:07:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9670
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9671
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9672
_InetAddressImpl_lookupAllHostAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9673
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9674
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9675
    |jAddrImpl jHostName hostName addrBytes|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9676
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9677
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9678
    jHostName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9679
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9680
    hostName := Java as_ST_String:jHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9681
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9682
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9683
	addrBytes := #[0 0 0 0] copy
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9684
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9685
    ^ Array with:addrBytes
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9686
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9687
    "Modified: / 8.8.1997 / 12:04:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9688
    "Created: / 7.1.1998 / 18:51:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9689
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9690
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9691
_InetAddressImpl_makeAnyLocalAddress:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9692
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9693
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9694
    |jAddrImpl jAddr hostName addrBytes address|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9695
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9696
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9697
    jAddr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9698
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9699
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9700
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9701
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9702
	addrBytes := #[127 0 0 0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9703
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9704
    "/ MSB first into an integer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9705
    address := (addrBytes at:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9706
    address := (address bitShift:8) bitOr:(addrBytes at:2).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9707
    address := (address bitShift:8) bitOr:(addrBytes at:3).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9708
    address := (address bitShift:8) bitOr:(addrBytes at:4).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9709
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9710
    jAddr instVarNamed:'hostName' put:(Java as_String:hostName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9711
    jAddr instVarNamed:'address' put:address.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9712
    jAddr instVarNamed:'family' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9713
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9714
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9715
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9716
    "Created: / 5.1.1998 / 02:06:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9717
    "Modified: / 21.10.1998 / 03:30:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9718
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9719
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9720
_InetAddress_getInetFamily:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9721
    "/ self unimplementedNativeMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9722
    ^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9723
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9724
    "Modified: / 15.8.1997 / 17:04:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9725
    "Created: / 17.11.1998 / 23:54:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9726
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9727
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9728
_InetAddress_getLocalHostName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9729
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9730
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9731
    |hostName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9732
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9733
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9734
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9735
    ^ Java as_String:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9736
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9737
    "Modified: / 7.8.1997 / 21:16:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9738
    "Created: / 17.11.1998 / 23:54:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9739
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9740
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9741
_InetAddress_lookupAllHostAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9742
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9743
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9744
    |jAddrImpl jHostName hostName addrBytes|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9745
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9746
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9747
    jHostName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9748
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9749
    hostName := Java as_ST_String:jHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9750
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9751
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9752
	addrBytes := #[0 0 0 0] copy
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9753
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9754
    ^ Array with:addrBytes
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9755
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9756
    "Modified: / 8.8.1997 / 12:04:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9757
    "Created: / 17.11.1998 / 23:56:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9758
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9759
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9760
_InetAddress_lookupHostByAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9761
    "java.lang.Object[] lookupHostByAddr (int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9762
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9763
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9764
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9765
    "Created: / 27.1.2000 / 02:59:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9766
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9767
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9768
_InetAddress_lookupHostByName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9769
    "java.lang.Object[] lookupHostByName (java.lang.String)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9770
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9771
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9773
    "Modified: / 27.1.2000 / 02:58:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9774
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9775
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9776
_InetAddress_makeAnyLocalAddress:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9777
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9778
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9779
    |jAddrImpl jAddr hostName addrBytes address|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9780
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9781
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9782
    jAddr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9783
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9784
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9785
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9786
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9787
	addrBytes := #[127 0 0 0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9788
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9789
    "/ MSB first into an integer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9790
    address := (addrBytes at:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9791
    address := (address bitShift:8) bitOr:(addrBytes at:2).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9792
    address := (address bitShift:8) bitOr:(addrBytes at:3).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9793
    address := (address bitShift:8) bitOr:(addrBytes at:4).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9794
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9795
    jAddr instVarNamed:'hostName' put:(Java as_String:hostName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9796
    jAddr instVarNamed:'address' put:address.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9797
    jAddr instVarNamed:'family' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9798
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9799
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9800
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9801
    "Modified: / 21.10.1998 / 03:30:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9802
    "Created: / 17.11.1998 / 23:54:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9803
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9804
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9805
_Inflater_end0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9806
    "/ void end0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9807
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9808
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9809
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9810
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9811
    "Created: / 27.1.2000 / 03:11:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9812
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9813
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9814
_Inflater_getAdler0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9815
    "/ int getAdler0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9816
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9817
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9818
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9819
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9820
    "Created: / 27.1.2000 / 03:12:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9821
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9822
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9823
_Inflater_getTotalIn0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9824
    "/ int getTotalIn0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9825
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9826
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9827
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9828
    "Created: / 27.1.2000 / 03:10:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9829
    "Modified: / 27.1.2000 / 03:11:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9830
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9831
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9832
_Inflater_getTotalOut0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9833
    "/ int getTotalOut0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9834
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9835
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9836
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9837
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9838
    "Created: / 27.1.2000 / 03:12:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9839
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9840
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9841
_Inflater_inflate0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9842
    "/ int inflate0 (byte[] int int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9843
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9844
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9845
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9846
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9847
    "Created: / 27.1.2000 / 03:11:39 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9848
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9849
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9850
_Inflater_reset0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9851
    "/ void reset0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9852
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9853
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9854
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9855
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9856
    "Created: / 27.1.2000 / 03:11:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9857
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9858
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9859
_Inflater_setDictionary0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9860
    "/ void setDictionary0 (byte[] int int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9861
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9862
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9863
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9864
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9865
    "Created: / 27.1.2000 / 03:10:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9866
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9867
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9868
_InputThread_run:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9869
    self _WToolkit_eventLoop:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9870
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9871
    "Created: / 28.1.1998 / 22:34:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9872
    "Modified: / 28.1.1998 / 22:35:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9873
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9874
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9875
_Introspector_getMethodDescriptor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9876
    "java.lang.String getMethodDescriptor (java.lang.reflect.Method)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9877
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9878
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9879
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9880
    "Created: / 27.1.2000 / 02:47:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9881
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9882
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9883
_Introspector_getMethodParameterCount:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9884
    "int getMethodParameterCount (java.lang.reflect.Method)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9885
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9886
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9887
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9888
    "Created: / 27.1.2000 / 02:49:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9889
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9890
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9891
_Introspector_getPublicDeclaredMethods0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9892
    "java.lang.reflect.Method[] getPublicDeclaredMethods0 (java.lang.Class)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9893
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9894
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9895
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9896
    "Created: / 27.1.2000 / 02:48:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9897
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9898
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9899
_JPEGImageDecoder_readImage:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9900
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9901
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9902
    "Created: / 12.11.1998 / 18:53:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9903
    "Modified: / 12.11.1998 / 18:53:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9904
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9905
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9906
_MButtonPeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9907
    ^ self _WButtonPeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9908
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9909
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9910
_MCanvasPeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9911
    |jCanvasPeer jFrame frame subView|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9912
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9913
    jCanvasPeer := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9914
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9915
    jFrame := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9916
    jFrame isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9917
	self halt:'no frame in canvasPeer create'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9918
	self internalError:'no frame in canvasPeer create'.     
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9919
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9920
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9921
    frame := jFrame instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9922
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9923
    subView := JavaView in:frame.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9924
    subView delegate:self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9925
    subView javaPeer:jCanvasPeer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9926
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9927
    self createdWindowsView:subView for:jCanvasPeer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9928
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9929
    WindowCreationTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9930
	'WCanvasPeer_create: ' print. frame print. ' -> ' print. subView printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9931
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9932
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9933
    "Modified: / 16.1.1998 / 13:40:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9934
    "Created: / 18.11.1998 / 00:14:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9935
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9936
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9937
_MComponentPeer_cacheInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9938
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9939
    "Created: / 28.1.1998 / 22:22:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9940
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9941
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9942
_MComponentPeer_handleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9943
    ^ self _WComponentPeer_handleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9944
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9945
    "Created: / 18.11.1998 / 00:21:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9946
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9947
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9948
_MComponentPeer_nativeHandleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9949
    ^ self _WComponentPeer_nativeHandleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9950
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9951
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9952
_MComponentPeer_pHide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9953
    ^ self _WComponentPeer_hide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9954
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9955
    "Created: / 18.11.1998 / 00:15:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9956
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9957
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9958
_MComponentPeer_pInitialize:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9959
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9960
    "Created: / 28.1.1998 / 22:27:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9961
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9962
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9963
_MComponentPeer_pReshape:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9964
    self commonReshapeComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9965
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9966
    "Created: / 18.11.1998 / 00:18:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9967
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9968
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9969
_MComponentPeer_pSetBackground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9970
    |view jClr rgb clr|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9971
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9972
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9973
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9974
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9975
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9976
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9977
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9978
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9979
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9980
        view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9981
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9982
    view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9983
    view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9984
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9985
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9986
_MComponentPeer_pSetFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9987
    |view jFont stFont name style size|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9988
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9989
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9990
    jFont := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9991
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9992
    stFont := jFont instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9993
    (stFont isNil or:[stFont == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9994
        name := jFont instVarNamed:'name'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9995
        style := jFont instVarNamed:'style'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9996
        size := jFont instVarNamed:'size'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9997
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9998
        stFont := self replacementFontFor:(Java as_ST_String:name) style:style size:size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9999
        jFont instVarNamed:'pData' put:stFont.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10000
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10001
    view font:stFont.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10002
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10003
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10004
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10005
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10006
_MComponentPeer_pSetForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10007
    |view jClr rgb clr|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10008
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10009
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10010
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10011
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10012
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10013
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10014
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10015
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10016
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10017
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10018
        view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10019
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10020
    view foregroundColor:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10021
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10022
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10023
_MComponentPeer_pShow:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10024
    |view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10025
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10026
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10027
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10028
    "/ frame views are under my browsers own control
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10029
    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10030
	view beVisible.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10031
	view realize.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10032
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10033
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10034
"/    view windowGroup notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10035
"/        windowServer addGroup:(view windowGroup)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10036
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10037
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10038
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10039
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10040
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10041
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10042
    "Modified: / 25.1.1998 / 09:54:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10043
    "Created: / 18.11.1998 / 00:21:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10044
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10045
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10046
_MComponentPeer_setBackground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10047
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10048
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10049
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10050
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10051
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10052
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10053
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10054
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10055
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10056
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10057
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10058
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10059
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10060
	view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10061
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10062
    view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10063
    view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10064
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10065
    "Created: / 17.11.1998 / 23:49:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10066
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10067
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10068
_MComponentPeer_setCursor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10069
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10070
    "Created: / 28.1.1998 / 22:27:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10071
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10072
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10073
_MComponentPeer_setFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10074
    |view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10075
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10076
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10077
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10078
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10079
    "Modified: / 25.1.1998 / 01:22:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10080
    "Created: / 17.11.1998 / 23:43:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10081
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10082
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10083
_MComponentPeer_setForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10084
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10085
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10086
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10087
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10088
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10089
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10090
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10091
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10092
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10093
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10094
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10095
    view paint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10096
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10097
    "Created: / 17.11.1998 / 23:50:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10098
    "Modified: / 17.11.1998 / 23:57:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10099
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10100
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10101
_MFramePeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10102
    ^ self _WFramePeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10103
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10104
    "Created: / 28.1.1998 / 22:25:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10105
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10106
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10107
_MFramePeer_getWindowBackgroundColor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10108
    ^ View defaultViewBackgroundColor rgbValue.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10109
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10110
    "Created: / 17.11.1998 / 23:55:42 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10111
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10112
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10113
_MFramePeer_pHide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10114
    ^ self _WComponentPeer_hide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10115
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10116
    "Created: / 28.1.1998 / 22:27:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10117
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10118
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10119
_MFramePeer_pReshape:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10120
    self commonReshapeComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10121
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10122
    "Created: / 28.1.1998 / 22:28:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10123
    "Modified: / 28.1.1998 / 22:29:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10124
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10125
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10126
_MFramePeer_pSetTitle:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10127
    self _WWindowPeer__setTitle:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10128
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10129
    "Created: / 28.1.1998 / 22:30:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10130
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10131
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10132
_MFramePeer_pShow:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10133
    |view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10134
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10135
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10136
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10137
    "/ frame views are under my browsers own control
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10138
    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10139
	view beVisible.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10140
	view realize.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10141
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10142
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10143
"/    view windowGroup notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10144
"/        windowServer addGroup:(view windowGroup)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10145
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10146
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10147
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10148
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10149
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10150
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10151
    "Modified: / 25.1.1998 / 09:54:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10152
    "Created: / 18.11.1998 / 00:19:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10153
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10154
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10155
_MFramePeer_setInsets:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10156
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10157
    "Created: / 17.11.1998 / 23:55:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10158
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10159
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10160
_MFramePeer_setResizable:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10161
    |view onOff|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10162
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10163
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10164
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10165
    onOff := (nativeContext argAt:1) == 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10166
    view isTopView ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10167
	onOff ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10168
	    view minExtent:10@10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10169
	    view maxExtent:(Screen current extent).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10170
	] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10171
	    view minExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10172
	    view maxExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10173
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10174
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10175
	(view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10176
	    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10177
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10178
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10179
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10180
"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10181
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10182
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10183
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10184
    "Modified: / 16.1.1998 / 18:08:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10185
    "Created: / 17.11.1998 / 23:51:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10186
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10187
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10188
_MToolkit_callbackLoop:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10189
    |toolKit|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10190
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10191
    toolKit := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10192
^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10193
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10194
    self wakeup:toolKit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10195
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10196
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10197
    (JavaEventThread notNil and:[JavaEventThread isDead not]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10198
	'JavaVM [warning]: oops - two threads executing eventLoop' errorPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10199
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10200
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10201
    JavaEventThread := Processor activeProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10202
    [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10203
	[true] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10204
	    AbortSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10205
		ex return
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10206
	    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10207
		self doWindowsEventThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10208
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10209
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10210
    ] valueNowOrOnUnwindDo:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10211
	JavaEventThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10212
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10213
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10214
    "Created: / 17.11.1998 / 23:58:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10215
    "Modified: / 8.1.1999 / 17:08:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10216
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10217
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10218
_MToolkit_eventLoop:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10219
    |toolKit|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10220
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10221
    (JavaEventThread notNil and:[JavaEventThread isDead not]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10222
	'JavaVM [warning]: oops - two threads executing eventLoop' errorPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10223
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10224
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10225
    toolKit := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10226
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10227
    self wakeup:toolKit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10228
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10229
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10230
    JavaEventThread := Processor activeProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10231
    [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10232
	[true] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10233
	    AbortSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10234
		ex return
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10235
	    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10236
		self doWindowsEventThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10237
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10238
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10239
    ] valueNowOrOnUnwindDo:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10240
	JavaEventThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10241
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10242
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10243
    "Created: / 17.11.1998 / 23:04:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10244
    "Modified: / 8.1.1999 / 17:08:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10245
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10246
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10247
_MToolkit_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10248
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10249
    "Created: / 28.1.1998 / 22:21:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10250
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10251
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10252
_MToolkit_loadSystemColors:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10253
    ^ self _WToolkit_loadSystemColors:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10254
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10255
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10256
_MToolkit_run:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10257
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10258
    "Created: / 28.1.1998 / 22:22:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10259
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10260
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10261
_Math_IEEEremainder:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10262
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10264
    "Created: / 12.11.1998 / 18:52:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10265
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10266
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10267
_Math_acos:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10268
    "arc cosine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10269
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10270
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10271
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10272
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10273
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10274
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10275
"/            'JAVAVM [info]: missing double flag in Math>>acos' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10276
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10277
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10278
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10279
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10280
    ^ dVal arcCos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10281
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10282
    "Created: / 7.5.1998 / 00:34:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10283
    "Modified: / 11.11.1998 / 15:08:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10284
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10285
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10286
_Math_asin:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10287
    "arc sine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10288
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10289
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10290
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10291
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10292
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10293
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10294
"/            'JAVAVM [info]: missing double flag in Math>>asin' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10295
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10296
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10297
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10298
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10299
    ^ dVal arcSin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10300
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10301
    "Created: / 7.5.1998 / 00:34:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10302
    "Modified: / 11.11.1998 / 15:08:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10303
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10304
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10305
_Math_atan2:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10306
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10307
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10308
    "Created: / 12.11.1998 / 18:52:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10309
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10311
_Math_atan:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10312
    "arc tangens"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10313
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10314
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10315
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10316
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10317
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10318
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10319
"/            'JAVAVM [info]: missing double flag in Math>>atan' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10320
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10321
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10322
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10323
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10324
    ^ dVal arcTan
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10325
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10326
    "Created: / 6.2.1998 / 01:24:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10327
    "Modified: / 11.11.1998 / 15:08:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10328
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10329
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10330
_Math_ceil:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10331
    "ceiling"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10332
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10333
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10334
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10335
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10336
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10337
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10338
"/            'JAVAVM [info]: missing double flag in Math>>ceil' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10339
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10340
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10341
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10342
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10343
    ^ dVal ceilingAsFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10344
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10345
    "Created: / 7.1.1998 / 15:43:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10346
    "Modified: / 11.11.1998 / 15:08:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10347
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10349
_Math_cos:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10350
    "cosine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10352
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10353
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10354
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10355
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10356
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10357
"/            'JAVAVM [info]: missing double flag in Math>>cos' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10358
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10359
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10360
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10361
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10362
    ^ dVal cos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10363
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10364
    "Created: / 7.1.1998 / 15:41:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10365
    "Modified: / 11.11.1998 / 15:07:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10366
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10367
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10368
_Math_exp:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10369
    "exponential"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10370
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10371
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10372
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10373
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10374
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10375
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10376
"/            'JAVAVM [info]: missing double flag in Math>>exp' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10377
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10378
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10379
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10380
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10381
    ^ dVal exp
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10382
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10383
    "Created: / 7.5.1998 / 00:36:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10384
    "Modified: / 11.11.1998 / 15:07:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10385
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10386
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10387
_Math_floor:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10388
    "floor"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10389
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10390
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10391
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10392
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10393
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10394
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10395
"/            'JAVAVM [info]: missing double flag in Math>>floor' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10396
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10397
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10398
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10399
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10400
    ^ dVal floorAsFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10401
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10402
    "Created: / 7.1.1998 / 19:09:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10403
    "Modified: / 11.11.1998 / 15:07:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10404
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10405
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10406
_Math_log:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10407
    "natural logarithm"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10408
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10409
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10410
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10411
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10412
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10413
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10414
"/            'JAVAVM [info]: missing double flag in Math>>log' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10415
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10416
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10417
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10418
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10419
    ^ dVal ln
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10421
    "Created: / 7.1.1998 / 15:42:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10422
    "Modified: / 30.12.1998 / 17:41:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10423
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10424
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10425
_Math_pow:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10426
    "power"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10427
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10428
    |dVal1 dVal2|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10429
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10430
    dVal1 := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10431
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10432
"/        dVal1 isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10433
"/            'JAVAVM [info]: missing double flag in Math>>pow' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10434
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10435
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10436
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10437
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10438
    dVal2 := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10439
"/    (nativeContext argAt:4) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10440
"/        dVal2 isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10441
"/            'JAVAVM [info]: missing double flag in Math>>pow' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10442
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10443
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10444
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10445
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10446
    ^ dVal1 raisedTo:dVal2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10447
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10448
    "Created: / 7.1.1998 / 15:44:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10449
    "Modified: / 11.11.1998 / 15:07:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10450
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10451
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10452
_Math_rint:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10453
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10454
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10455
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10456
    ^ dVal rounded asFloat.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10457
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10458
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10459
_Math_sin:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10460
    "sine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10461
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10462
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10463
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10464
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10465
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10466
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10467
"/            'JAVAVM [info]: missing double flag in Math>>sin' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10468
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10469
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10470
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10471
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10472
    ^ dVal sin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10473
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10474
    "Created: / 7.1.1998 / 15:41:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10475
    "Modified: / 11.11.1998 / 15:07:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10476
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10477
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10478
_Math_sqrt:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10479
    "square root"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10480
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10481
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10482
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10483
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10484
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10485
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10486
"/            'JAVAVM [info]: missing double flag in Math>>sqrt' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10487
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10488
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10489
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10490
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10491
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10492
    "/ how about domain errors ?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10493
    dVal < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10494
	^ 0.0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10495
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10496
    ^ dVal sqrt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10497
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10498
    "Created: / 7.1.1998 / 15:42:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10499
    "Modified: / 29.12.1998 / 13:22:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10500
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10502
_Math_tan:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10503
    "tangent"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10504
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10505
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10506
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10507
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10508
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10509
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10510
"/            'JAVAVM [info]: missing double flag in Math>>tan' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10511
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10512
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10513
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10514
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10515
    ^ dVal tan
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10516
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10517
    "Created: / 7.5.1998 / 00:34:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10518
    "Modified: / 11.11.1998 / 15:07:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10519
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10520
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10521
_MemoryAdvice_register0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10522
    "private native void register0()"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10523
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10524
    "/ UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10525
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10526
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10527
_Method_getModifiers:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10528
    |jMethod mthd retVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10529
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10530
    jMethod := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10531
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10532
    mthd := JavaMethods at:jMethod ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10533
    mthd isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10534
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10535
	^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10536
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10537
    ^ mthd accessFlags
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10538
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10539
    "Modified: / 9.4.1998 / 17:50:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10540
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10541
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10542
_Method_invoke:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10543
    "invoke a javaMethod"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10544
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10545
    |jMethod mthd rec args retVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10546
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10547
    jMethod := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10548
    rec := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10549
    args := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10551
    mthd := JavaMethods at:jMethod ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10552
    mthd isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10553
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10554
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10555
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10556
    "/ check for arguments to match the expected types ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10557
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10558
    mthd argSignature keysAndValuesDo:[:index :argSig |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10559
	|cls arg|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10560
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10561
	cls := Java at:argSig.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10562
	arg := args at:index.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10563
	(arg isKindOf:cls) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10564
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10565
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10566
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10567
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10568
    mthd isStatic ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10569
	retVal := mthd valueWithReceiver:(mthd javaClass) arguments:args selector:mthd selector.        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10570
	^ retVal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10571
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10572
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10573
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10574
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10575
    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10576
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10577
    "Created: / 13.2.1998 / 15:15:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10578
    "Modified: / 13.2.1998 / 15:35:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10579
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10580
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10581
_MozillaAppletContext_pMochaOnLoad:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10582
    |id|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10583
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10584
    id := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10585
"/ 'JAVA: MozillaAppletContext_pMochaOnLoad: ' print. id printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10586
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10587
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10588
    "Created: / 6.1.1998 / 20:37:13 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10589
    "Modified: / 6.2.1998 / 02:13:09 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10590
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10591
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10592
_MozillaAppletContext_pShowDocument:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10593
    |jAppletContext s1 s2 s3 js|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10594
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10595
    jAppletContext := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10596
    js := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10597
    s1 := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10598
    js := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10599
    s2 := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10600
    js := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10601
    s2 := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10602
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10603
    "/ somehow pass it to the html browser ....
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10604
Transcript show:'pShowDocument: '; show:s1; show:' / '; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10605
	   show:s2; show:' / '; showCR:s3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10606
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10607
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10608
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10609
    "Created: / 29.3.1998 / 15:53:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10610
    "Modified: / 29.12.1998 / 13:32:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10611
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10612
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10613
_MozillaAppletContext_pShowStatus:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10614
    |s js|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10615
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10616
    js := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10617
    js isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10618
	s := ''
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10619
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10620
	s := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10621
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10622
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10623
    self activityNotification:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10624
"/ Transcript showCR:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10625
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10626
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10627
    "Created: / 6.1.1998 / 18:31:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10628
    "Modified: / 22.10.1998 / 01:17:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10629
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10630
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10631
_MozillaAppletContext_setConsoleState0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10632
    "/ void setConsoleState0 (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10633
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10634
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10635
    "Created: / 12.11.1998 / 19:23:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10636
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10637
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10638
_ObjectInputStream_allocateNewArray:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10639
    "/ java.lang.Object allocateNewArray (java.lang.Class int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10640
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10641
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10642
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10643
    "Created: / 12.11.1998 / 19:02:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10644
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10645
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10646
_ObjectInputStream_allocateNewObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10647
    "/ java.lang.Object allocateNewObject (java.lang.Class java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10648
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10649
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10650
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10651
    "Created: / 12.11.1998 / 19:02:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10652
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10653
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10654
_ObjectInputStream_inputClassFields:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10655
    "/ void inputClassFields (java.lang.Object java.lang.Class int[])
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10656
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10658
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10659
    "Created: / 12.11.1998 / 19:02:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10660
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10661
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10662
_ObjectInputStream_invokeDefaultReadObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10663
    "/ void invokeDefaultReadObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10664
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10665
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10666
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10667
    "Created: / 27.1.2000 / 03:00:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10668
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10669
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10670
_ObjectInputStream_invokeObjectReader:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10671
    "/ boolean invokeObjectReader (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10672
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10673
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10674
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10675
    "Created: / 12.11.1998 / 19:03:06 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10676
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10677
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10678
_ObjectInputStream_invokeReadObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10679
    "/ void invokeReadObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10680
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10681
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10682
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10683
    "Created: / 27.1.2000 / 03:01:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10684
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10685
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10686
_ObjectInputStream_loadClass0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10687
    "/ java.lang.Class loadClass0 (java.lang.Class java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10688
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10689
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10690
    "Created: / 12.11.1998 / 19:01:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10691
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10692
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10693
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10694
_ObjectOutputStream_invokeDefaultWriteObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10695
    "/ void invokeDefaultWriteObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10696
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10697
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10698
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10699
    "Created: / 27.1.2000 / 03:01:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10700
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10701
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10702
_ObjectOutputStream_invokeObjectWriter:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10703
    "/ boolean invokeObjectWriter (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10704
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10705
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10706
    "Created: / 12.11.1998 / 19:00:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10707
    "Modified: / 12.11.1998 / 19:01:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10708
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10709
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10710
_ObjectOutputStream_invokeWriteObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10711
    "/ void invokeWriteObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10712
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10713
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10714
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10715
    "Created: / 27.1.2000 / 03:01:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10716
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10717
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10718
_ObjectOutputStream_outputClassFields:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10719
    "/ void outputClassFields (java.lang.Object java.lang.Class int[])
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10720
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10721
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10722
    "Created: / 12.11.1998 / 19:00:09 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10723
    "Modified: / 12.11.1998 / 19:01:42 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10724
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10725
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10726
_ObjectStreamClass_doMismatchedRead:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10727
    "/ void doMismatchedRead (java.io.ObjectInputStream java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10728
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10729
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10730
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10731
    "Created: / 27.1.2000 / 02:50:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10732
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10733
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10734
_ObjectStreamClass_findObjectMethod0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10735
    "/ boolean findObjectMethod0 (java.lang.Class int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10736
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10737
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10738
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10739
    "Created: / 27.1.2000 / 02:51:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10740
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10741
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10742
_ObjectStreamClass_getClassAccess:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10743
    "/ int getClassAccess (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10744
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10745
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10746
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10747
    "Created: / 12.11.1998 / 19:04:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10748
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10749
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10750
_ObjectStreamClass_getClassDefinedUID:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10751
    "/ long getClassDefinedUID (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10752
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10753
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10754
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10755
    "Created: / 27.1.2000 / 02:51:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10756
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10757
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10758
_ObjectStreamClass_getFieldAccess:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10759
    "/ int getFieldAccess (java.lang.Class java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10760
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10762
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10763
    "Created: / 12.11.1998 / 19:05:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10764
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10765
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10766
_ObjectStreamClass_getFieldSignatures:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10767
    "/ java.lang.String[] getFieldSignatures (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10768
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10769
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10770
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10771
    "Created: / 12.11.1998 / 19:05:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10772
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10773
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10774
_ObjectStreamClass_getFields0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10775
    "/ java.io.ObjectStreamField[] getFields0 (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10776
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10777
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10778
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10779
    "Created: / 12.11.1998 / 19:05:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10780
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10781
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10782
_ObjectStreamClass_getMethodAccess:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10783
    "/ int getMethodAccess (java.lang.Class java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10784
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10785
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10786
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10787
    "Created: / 12.11.1998 / 19:04:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10788
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10789
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10790
_ObjectStreamClass_getMethodSignatures:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10791
    "/ java.lang.String[] getMethodSignatures (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10792
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10793
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10794
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10795
    "Created: / 12.11.1998 / 19:04:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10796
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10797
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10798
_ObjectStreamClass_getSerialVersionUID:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10799
    "/ long getSerialVersionUID (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10800
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10801
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10802
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10803
    "Created: / 12.11.1998 / 19:05:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10804
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10805
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10806
_ObjectStreamClass_hasWriteObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10807
    "/ boolean hasWriteObject (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10808
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10809
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10810
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10811
    "Created: / 12.11.1998 / 19:05:53 / cg"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10812
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10813
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10814
_OffScreenImageSource_sendPixels:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10815
    "/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10816
    "/ UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10817
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10818
    "Modified: / 16.1.1998 / 18:22:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10819
    "Created: / 17.1.1998 / 12:36:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10820
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10821
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10822
_PackedColorModel_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10823
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10824
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10825
    "Created: / 28.1.1998 / 22:19:35 / cg"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10826
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10827
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10828
_PlainDatagramSocketImpl_bind:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10829
    |jsock jaddr port sock hostName ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10830
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10831
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10832
    port := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10833
    jaddr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10834
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10835
    hostName := jaddr instVarNamed:'hostName'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10836
    hostName isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10837
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10838
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10839
	hostName := Java as_ST_String:hostName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10840
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10841
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10842
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10843
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10844
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10845
	    ('JAVA: socket bind to ' , hostName printString, ' port ' , port printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10846
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10847
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10848
	ok := sock bindTo:port address:nil "hostName".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10849
	ok ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10850
	    err := OperatingSystem lastErrorString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10851
	    Transcript showCR:'sock err: ' , err printString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10852
	    self throwIOExceptionWithMessage:'bind failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10853
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10854
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10855
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10856
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10857
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10858
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10860
_PlainDatagramSocketImpl_join:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10861
    "/ native void join (InetAddress arg1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10862
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10863
    |jsock addr sock ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10864
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10865
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10866
    addr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10867
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10868
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10869
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10870
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10871
	    ('JAVA: socket join ' , addr printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10872
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10873
	self throwIOExceptionWithMessage:'unimplemented: join'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10874
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10875
	^ nil.  "/ void
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10876
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10877
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10878
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10879
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10880
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10881
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10882
_PlainDatagramSocketImpl_receive:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10883
    |jsock jdatagramPacket sock ok|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10884
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10885
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10886
    jdatagramPacket := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10887
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10888
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10889
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10890
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10891
	    ('JAVA: socket receive') infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10892
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10893
	^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10894
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10895
    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10897
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10898
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10899
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10900
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10901
_PlainDatagramSocketImpl_socketGetOption:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10902
    |jsock opt port sock hostName ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10903
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10904
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10905
    opt := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10906
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10907
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10908
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10909
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10910
	    ('JAVA: socket getOption ' , opt printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10911
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10912
	self throwIOExceptionWithMessage:'unimplemented: getOption'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10913
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10914
	^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10915
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10916
    ^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10917
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10918
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10919
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10920
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10921
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10922
_PlainDatagramSocketImpl_socketSetOption:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10923
    "/ native void socketSetOption (int arg1, java.lang.Object arg2)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10924
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10925
    |jsock opt optVal sock ok err jSocketOptions|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10926
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10927
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10928
    opt := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10929
    optVal := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10930
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10931
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10932
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10933
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10934
	    ('JAVA: socket setOption ' , opt printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10935
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10936
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10937
	jSocketOptions := Java at:'java.net.SocketOptions'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10938
	(opt == (jSocketOptions instVarNamed:'TCP_NODELAY')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10939
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10940
	    (opt == (jSocketOptions instVarNamed:'SO_BINDADDR')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10941
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10942
		(opt == (jSocketOptions instVarNamed:'SO_REUSEADDR')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10943
		] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10944
		    (opt == (jSocketOptions instVarNamed:'IP_MULTICAST_IF')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10945
		    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10946
			(opt == (jSocketOptions instVarNamed:'SO_LINGER')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10947
			] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10948
			    (opt == (jSocketOptions instVarNamed:'SO_TIMEOUT')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10949
			    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10950
				self throwIOExceptionWithMessage:'bad arg to setOption'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10951
			    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10952
			]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10953
		    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10954
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10955
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10956
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10957
	self throwIOExceptionWithMessage:'unimplemented: setOption'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10958
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10959
	^ nil.  "/ void
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10960
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10961
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10962
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10963
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10964
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10965
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10966
_PlainSocketImpl_socketAvailable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10967
    |jSock sock n|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10968
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10969
    jSock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10970
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10971
    sock := self validateFile:jSock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10972
    sock isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10973
	self throwIOExceptionWithMessage:'socketAvailable on closed socket'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10974
	^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10975
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10976
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10977
    n := sock numAvailable.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10978
    ^ n
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10979
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10980
    "Created: / 4.2.1998 / 16:58:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10981
    "Modified: / 30.12.1998 / 20:10:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10982
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10983
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10984
_PlainSocketImpl_socketClose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10985
    |jsock sock|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10986
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10987
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10988
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10989
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10990
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10991
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10992
	    'JAVA: close socket' infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10993
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10994
	sock close.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10995
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10996
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10997
    "Modified: / 21.8.1997 / 17:09:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10998
    "Created: / 25.1.1998 / 20:04:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10999
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11000
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11001
_PlatformFont_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11002
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11003
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11004
    "Created: / 28.1.1998 / 22:30:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11005
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11006
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11007
_PrintStream_isOutputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11008
    "/ boolean isOutputStreamLocalised (java.io.DataOutputStream)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11009
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11010
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11011
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11012
    "Created: / 27.1.2000 / 03:00:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11013
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11014
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11015
_RandomAccessFile_close:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11016
    ^ self anyStream_close:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11017
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11018
    "Created: / 4.2.1998 / 13:26:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11019
    "Modified: / 4.2.1998 / 15:21:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11020
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11021
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11022
_RandomAccessFile_length:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11023
    |file sz|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11024
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11025
    file := self validateFile:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11026
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11027
    FileIOTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11028
	('JAVA: length of ' , file pathName) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11029
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11030
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11031
    sz := file size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11032
    ^ sz.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11033
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11034
    "Created: / 4.2.1998 / 13:27:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11035
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11036
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11037
_RandomAccessFile_read:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11038
    |file byte|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11039
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11040
    file := self validateFile:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11041
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11042
    FileIOTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11043
	('JAVA: read 1 byte from ' , file pathName) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11044
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11045
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11046
    byte := file nextByte.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11047
    byte isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11048
	^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11049
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11050
    ^ byte
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11051
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11052
    "Modified: / 5.1.1998 / 02:17:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11053
    "Created: / 27.1.1999 / 19:01:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11054
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11055
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11056
_RandomAccessFile_readBytes:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11057
    ^ self anyStream_readBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11058
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11059
    "Modified: / 4.2.1998 / 15:23:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11060
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11061
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11062
_RandomAccessFile_seek:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11063
    |file pos|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11064
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11065
    file := self validateFile:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11066
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11067
    FileIOTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11068
	('JAVA: seek on ' , file pathName) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11069
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11070
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11071
    pos := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11072
    file position:pos+1 "/ ST/X position starts at 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11073
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11074
    "Created: / 4.2.1998 / 13:25:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11075
    "Modified: / 4.2.1998 / 13:28:12 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11076
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11077
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11078
_RandomAccessFile_writeBytes:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11079
    ^ self anyStream_writeBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11080
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11081
    "Modified: / 4.2.1998 / 15:24:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11082
    "Created: / 4.2.1998 / 15:24:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11083
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11084
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11085
_Runtime_buildLibName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11086
    |jPath jFileName path fileName libName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11087
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11088
    jPath := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11089
    jFileName := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11090
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11091
    path := Java as_ST_String:jPath.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11092
    fileName := Java as_ST_String:jFileName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11093
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11094
    path = '__builtIn__' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11095
	libName := path , '/' , fileName
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11096
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11097
	libName := path , '/lib' , fileName , '.so'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11098
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11099
    ^ Java as_String:libName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11100
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11101
    "Modified: / 8.8.1997 / 12:05:05 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11102
    "Created: / 4.1.1998 / 19:07:14 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11103
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11104
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11105
_Runtime_execInternal: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11106
    "Run a unix-command; return a process object."
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11107
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11108
    | cmdAndArgArray  envArray  cmd  jProcessClass  jProcess |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11109
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11110
    cmdAndArgArray := nativeContext argAt: 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11111
    envArray := nativeContext argAt: 2.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11112
    cmd := cmdAndArgArray at: 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11113
    OperatingSystem isUNIXlike ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11114
        jProcessClass := self classForName: 'java.lang.UNIXProcess'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11115
    ] ifFalse: [ jProcessClass := Java classForName: 'java.lang.Win32Process'. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11116
    
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11117
"/
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11118
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11119
    jProcessClass notNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11120
        self halt.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11121
        jProcess := jProcessClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11122
        jProcess 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11123
            perform: #'<init>([Ljava/lang/String;[Ljava/lang/String;)V'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11124
            with: cmdAndArgArray
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11125
            with: envArray.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11126
        ^ jProcess
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11127
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11128
    self halt.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11129
    self 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 11130
        throwIOExceptionWithMessage: 'Process execution disabled/unimplemented'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11131
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11132
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11133
    "Created: / 15.1.1998 / 01:50:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11134
    "Modified: / 11.12.1998 / 13:09:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11135
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11136
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11137
_Runtime_exitInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11138
    "exit - here, we only shut down java threads"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11139
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11140
    |enteredMonitors|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11141
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11142
    ExitDebug == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11143
	self halt:'Java code called exit'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11144
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11145
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11146
    self syncMonitorCache.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11147
    (enteredMonitors := self enteredMonitors) size > 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11148
	enteredMonitors do:[:handle | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11149
	    | mon |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11150
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11151
	    mon := LockTable at:handle ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11152
	    mon isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11153
		self halt:'no monitor in exitInternal'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11154
	    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11155
		mon exit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11156
('====> terminateThread - exit monitor for ' , handle displayString , ' in ' , Processor activeProcess name , ' ...') infoPrintCR. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11157
	    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11158
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11159
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11160
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11161
    "/ TODO: shut down all threads created by this one ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11162
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11163
    AbortSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11164
    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11165
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11166
    "Created: / 7.1.1998 / 22:48:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11167
    "Modified: / 8.1.1999 / 14:09:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11168
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11169
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11170
_Runtime_freeMemory:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11171
    "free memory - Returns the number of free bytes"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11172
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11173
    ^ ObjectMemory freeListSpace + ObjectMemory freeSpace
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11174
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11175
    "Created: / 12.1.1998 / 12:59:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11176
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11177
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11178
_Runtime_initializeLinkerInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11179
    "init sharedLib linker, return searchPath as javaString"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11180
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11181
    |path|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11182
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11183
    "/ mhmh - what is done here ?
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11184
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11185
    path := ''.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11186
    LibPath do:[:comp | path size == 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11187
			    path := path , comp
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11188
			] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11189
			    path := path , ':' , comp
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11190
			]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11191
	       ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11192
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11193
    ^ Java as_String:path
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11194
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11195
    "Modified: / 7.8.1997 / 21:17:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11196
    "Created: / 4.1.1998 / 17:53:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11197
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11198
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11199
_Runtime_isInputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11200
    "/ boolean isInputStreamLocalised (java.io.DataInputStream)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11201
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11202
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11203
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11204
    "Created: / 27.1.2000 / 03:03:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11205
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11206
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11207
_Runtime_isOutputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11208
    "/ boolean isOutputStreamLocalised (java.io.DataOutputStream)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11209
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11210
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11211
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11212
    "Created: / 27.1.2000 / 03:02:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11213
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11214
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11215
_Runtime_loadFileInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11216
    "load a sharedLib, return boolean 0 (false) if fail; 1 (true) if ok"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11217
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11218
    |ret|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11219
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11220
    ret := self _Runtime_loadFileInternalI:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11221
    ret < 0 ifTrue:[ ret := 0 ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11222
    ^ ret
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11223
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11224
    "Created: / 4.1.1998 / 19:10:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11225
    "Modified: / 4.1.1998 / 19:11:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11226
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11227
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11228
_Runtime_loadFileInternalI:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11229
    "1.1b3 change; load a sharedLib like 'loadFileInternal',
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11230
     but return integer:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11231
	-1   outOfMemory error
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11232
	0    failed to load
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11233
	1    loaded or already loaded (i.e. ok)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11234
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11235
    |jLibName libName libHandle|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11236
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11237
    jLibName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11238
    libName := Java as_ST_String:jLibName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11239
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11240
    (SimulatedLibs includes:libName) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11241
"/        ('JAVA: builtIn libLoad simulated: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11242
	^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11243
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11244
    (LoadedLibs notNil and:[LoadedLibs includesKey:libName]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11245
"/        ('JAVA: already loaded: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11246
	^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11247
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11248
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11249
    libName asFilename exists ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11250
	('JAVA: no file to load: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11251
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11252
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11253
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11254
    (self confirm:'permission to load native library: ' , libName , ' ?') ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11255
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11256
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11257
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11258
    libHandle := ObjectFileLoader loadLibrary:libName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11259
    libHandle isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11260
	('JAVA: failed to load: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11261
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11262
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11263
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11264
    LoadedLibs isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11265
	LoadedLibs := Dictionary new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11266
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11267
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11268
    LoadedLibs at:libName put:libHandle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11269
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11270
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11271
    "Created: / 4.1.1998 / 19:10:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11272
    "Modified: / 6.2.1998 / 03:11:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11273
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11274
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11275
_Runtime_runFinalization:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11276
    "/ void runFinalization ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11277
"/    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11278
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11279
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11280
    "Created: / 12.11.1998 / 18:59:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11281
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11282
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11283
_Runtime_runFinalizersOnExit0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11284
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11285
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11286
    |onOff|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11287
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11288
    onOff := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11289
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11290
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11291
    "Modified: / 6.2.1998 / 03:11:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11292
    "Created: / 15.10.1998 / 23:34:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11293
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11294
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11295
_Runtime_setInputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11296
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11297
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11298
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11299
    "Modified: / 27.1.2000 / 03:02:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11300
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11301
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11302
_Runtime_setOutputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11303
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11304
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11305
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11306
    "Modified: / 27.1.2000 / 03:02:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11307
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11308
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11309
_Runtime_totalMemory:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11310
    "free memory - Returns the total number of bytes"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11311
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11312
    ^ ObjectMemory oldSpaceSize + ObjectMemory newSpaceSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11313
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11314
    "Created: / 12.1.1998 / 12:59:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11315
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11316
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11317
_Runtime_traceInstructions:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11318
    "/ void traceInstructions (boolean)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11319
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11320
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11321
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11322
    "Created: / 12.11.1998 / 18:59:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11323
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11324
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11325
_Runtime_traceMethodCalls:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11326
    "/ void traceMethodCalls (boolean)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11327
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11328
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11329
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11330
    "Created: / 12.11.1998 / 18:59:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11331
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11332
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11333
_ScrollPane_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11334
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11335
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11336
    "Created: / 28.1.1998 / 22:19:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11337
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11338
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11339
_SecurityManager_classDepth:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11340
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11341
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11342
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11343
    "Created: / 12.11.1998 / 18:56:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11344
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11345
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11346
_SecurityManager_classLoaderDepth:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11347
    |con depth|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11348
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11349
    con := thisContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11350
    depth := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11351
    [con notNil] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11352
	con receiver == JavaClassReader classLoaderQuerySignal ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11353
	    con selector == #handle:do: ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11354
		depth := depth + 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11355
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11356
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11357
	con := con sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11358
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11359
'JAVA: classLoaderDepth -> ' infoPrint. depth infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11360
    ^ depth.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11361
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11362
    "Created: / 13.1.1998 / 09:21:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11363
    "Modified: / 13.1.1998 / 09:33:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11364
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11365
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11366
_SecurityManager_currentClassLoader:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11367
    |loader|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11368
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11369
    loader := JavaClassReader classLoaderQuerySignal query.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11370
"/ 'JAVA: currentClassLoader -> ' infoPrint. loader displayString infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11371
    ^ loader.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11372
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11373
    "Created: / 13.1.1998 / 09:23:28 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11374
    "Modified: / 11.12.1998 / 12:39:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11375
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11376
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11377
_SecurityManager_currentLoadedClass0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11378
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11379
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11380
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11381
    "Created: / 12.11.1998 / 18:56:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11382
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11383
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11384
_SocketInputStream_socketRead:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11385
    ^ self anyStream_readBytes:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11386
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11387
    "Created: / 25.1.1998 / 20:56:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11388
    "Modified: / 4.2.1998 / 15:52:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11389
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11390
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11391
_SocketOutputStream_socketWrite:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11392
    ^ self anyStream_writeBytes:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11393
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11394
    "Created: / 25.1.1998 / 21:06:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11395
    "Modified: / 4.2.1998 / 15:52:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11396
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11397
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11398
_String_compareTo:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11399
    "int compareTo (java.lang.String)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11400
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11401
    |jString1 jString2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11402
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11403
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11404
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11405
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11406
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11407
    "Created: / 27.1.2000 / 02:28:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11408
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11409
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11410
_String_equals:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11411
    |jString1 jString2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11412
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11413
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11414
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11415
    ^ (jString1 instVarAt:1) = (jString2 instVarAt:1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11416
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11417
    "Created: / 18.11.1998 / 00:52:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11418
    "Modified: / 18.11.1998 / 00:53:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11419
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11420
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11421
_String_equalsIgnoreCase:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11422
    "boolean equalsIgnoreCase (java.lang.String)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11423
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11424
    |jString1 jString2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11425
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11426
self halt:'untested'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11427
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11428
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11429
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11430
    ^ (jString1 instVarAt:1) sameAs: (jString2 instVarAt:1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11431
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11432
    "Modified: / 18.11.1998 / 00:53:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11433
    "Created: / 27.1.2000 / 02:27:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11434
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11435
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11436
_String_indexOf:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11437
    "int indexOf (java.lang.String int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11438
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11439
    |jString1 jString2 idx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11440
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11441
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11442
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11443
    idx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11444
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11445
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11446
    "Created: / 27.1.2000 / 02:30:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11447
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11448
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11449
_String_lastIndexOf:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11450
    "int lastIndexOf (java.lang.String int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11451
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11452
    |jString1 jString2 idx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11453
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11454
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11455
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11456
    idx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11457
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11458
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11459
    "Created: / 27.1.2000 / 02:33:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11460
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11461
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11462
_String_length:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11463
    |jString|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11464
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11465
    jString := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11466
    ^ (jString instVarAt:3)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11467
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11468
    "Created: / 18.11.1998 / 00:53:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11469
    "Modified: / 18.11.1998 / 00:54:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11470
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11471
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11472
_String_regionMatches2:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11473
    "boolean regionMatches (boolean int java.lang.String int int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11474
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11475
    |jString1 bool jString2 idx1 idx2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11476
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11477
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11478
    bool := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11479
    jString2 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11480
    idx1 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11481
    idx2 := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11482
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11483
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11484
    "Created: / 27.1.2000 / 02:33:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11485
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11486
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11487
_String_regionMatches:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11488
    "boolean regionMatches (int java.lang.String int int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11489
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11490
    |jString1 jString2 idx1 idx2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11491
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11492
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11493
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11494
    idx1 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11495
    idx2 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11496
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11497
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11498
    "Created: / 27.1.2000 / 02:32:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11499
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11500
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11501
_String_startsWith:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11502
    "boolean startsWith (java.lang.String int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11503
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11504
    |jString1 jString2 idx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11505
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11506
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11507
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11508
    idx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11509
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11510
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11511
    "Created: / 27.1.2000 / 02:31:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11512
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11513
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11514
_SystemColor_GetSysColor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11515
    "/ int GetSysColor (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11516
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11517
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11518
    "Created: / 27.1.2000 / 02:44:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11519
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11520
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11521
_SystemResourceManager_getEntryFromKey:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11522
    "get a resource by name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11523
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11524
    |key s|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11525
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11526
    key := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11527
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11528
    s := Java effectiveClassPath at:(key+1) ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11529
    s isNil ifTrue:[^ nil].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11530
    ^ Java as_String:s
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11531
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11532
    "Modified: / 22-11-2010 / 13:44:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11533
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11534
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11535
_SystemResourceManager_validateSystemResource:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11536
    "check a resource"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11537
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11538
    |bool str1 str2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11539
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11540
    bool := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11541
    str1 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11542
    str2 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11543
    ^ 1 "/ true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11544
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11545
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11546
_System_getCallerClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11547
    "/ introduced with jdk1.2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11548
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11549
    |senderContext cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11550
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11551
    senderContext := nativeContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11552
    [senderContext receiver == (Java at:'java.lang.System')] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11553
	senderContext := senderContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11554
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11555
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11556
    senderContext method isStatic ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11557
	cls := senderContext receiver
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11558
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11559
	cls := senderContext receiver class
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11560
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11561
    cls isJavaClass ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11562
	^ self javaClassObjectForClass:cls
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11563
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11564
    (cls isMemberOf:(Java at:'java.lang.Class')) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11565
	^ Java at:'java.lang.Class'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11566
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11567
    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11568
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11569
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11570
    "Modified: / 27.1.1998 / 18:33:13 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11571
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11572
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11573
_System_validateSecurityManager:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11574
    "void validateSecurityManager (java.lang.SecurityManager)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11575
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11576
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11577
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11578
    "Created: / 27.1.2000 / 02:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11579
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11580
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11581
_ThreadGroup_initMainThreadGroup0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11582
    "void initMainThreadGroup0 (java.lang.ThreadGroup)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11583
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11584
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11585
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11586
    "Created: / 27.1.2000 / 02:45:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11587
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11589
_Thread_countStackFrames:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11590
    "/ int countStackFrames ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11591
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11592
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11593
    "Created: / 12.11.1998 / 19:06:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11594
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11595
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11596
_Thread_resume0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11597
    "yield"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11598
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11599
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11600
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11601
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11602
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11603
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11604
	ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11605
	    ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11606
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11607
	^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11608
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11609
    stProcess resume
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11610
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11611
    "Created: / 8.1.1998 / 01:06:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11612
    "Modified: / 6.2.1998 / 02:15:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11613
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11614
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11615
_Thread_start:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11616
    "start the thread"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11617
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11618
    |jThread jName name stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11619
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11620
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11621
    (jThread instVarNamed:'priority') < 1 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11622
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11623
        jThread instVarNamed:'priority' put:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11624
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11625
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11626
    stProcess := JavaProcess 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11627
                    for:[   
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11628
                          |procName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11629
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11630
                          Object abortSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11631
                            procName := stProcess name.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11632
                            (procName startsWith:'JAVA-AWT-EventQueue') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11633
                                ('JAVA [info]: thread ' , procName , ' aborted - restarting process.') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11634
                                ex restart.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11635
                            ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11636
                                (stProcess == JavaScreenUpdaterThread 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11637
                                or:[stProcess == JavaEventQueueThread]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11638
                                    ('JAVA [info]: thread ' , procName , ' aborted - restarting process.') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11639
                                    ex restart
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11640
                                ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11641
                                    ('JAVA [info]: thread ' , procName , ' aborted.') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11642
                                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11643
                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11644
                          ] do:[ 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11645
                            [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11646
                                JavaVM javaExceptionSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11647
                                    |exClass|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11648
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11649
                                    procName := stProcess name.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11650
                                    exClass := ex parameter class.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11651
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11652
                                    exClass == (Java at:'java.lang.ThreadDeath') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11653
                                        ('JAVA: thread ' , procName , ' terminated') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11654
                                    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11655
                                        Transcript 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11656
                                            showCR:('JAVA: thread ''' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11657
                                                    , procName 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11658
                                                    , ''' terminated with exception: ' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11659
                                                    , exClass name).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11660
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11661
                                    ex return.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11662
                                ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11663
                                    Object messageNotUnderstoodSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11664
                                        "/ remap doesNotUnderstand with nil-receiver to
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11665
                                        "/ a nullPointerException ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11666
                                        |con m|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11667
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11668
                                        con := ex suspendedContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11669
                                        con receiver isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11670
                                            ((m := con sender method) notNil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11671
                                            and:[m isJavaMethod]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11672
                                                self throwNullPointerException.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11673
                                                AbortSignal raise. "/ ex proceed.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11674
                                            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11675
                                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11676
                                        ex reject.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11677
                                    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11678
"/ Transcript showCR:(Timestamp now printString , 'start thread: ', stProcess name).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11679
                                        jThread perform:#'run()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11680
                                        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11681
                                            ('JAVA: thread ' , stProcess name , ' terminated') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11682
                                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11683
                                        jThread perform:#'exit()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11684
                                        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11685
                                            ('JAVA: after exit of thread ' , stProcess name) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11686
                                        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11687
                                    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11688
                                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11689
                            ] ensure:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11690
                                |monitors|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11691
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11692
                                monitors := EnteredMonitorsPerProcess at:stProcess ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11693
                                monitors notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11694
                                    monitors do:[:obj |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11695
                                        | mon |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11696
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11697
                                        mon := self monitorFor:obj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11698
                                        mon notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11699
                                            mon owningProcess == stProcess ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11700
                                                ('JAVA: release monitor owned by dying thread: ' , stProcess name) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11701
                                                mon exit
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11702
                                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11703
                                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11704
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11705
                                    EnteredMonitorsPerProcess removeKey:stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11706
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11707
                                    stProcess == JavaScreenUpdaterThread ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11708
                                        JavaScreenUpdaterThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11709
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11710
                                    stProcess == JavaEventQueueThread ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11711
                                        JavaEventQueueThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11712
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11713
"/                                    screenUpdaterClass := Java at:'sun.awt.ScreenUpdater'.    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11714
"/                                    screenUpdaterClass notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11715
"/                                        screenUpdaterClass instVarNamed:'updater' put:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11716
"/                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11717
                                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11718
                                Java threads removeKey:jThread ifAbsent:[].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11719
                            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11720
                          ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11721
                        ] 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11722
                    priority:(Processor activePriority).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11723
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11724
    jName := jThread instVarNamed:'name'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11725
    jName isString ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11726
        name := Java as_ST_String:jName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11727
    ] ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11728
        name := jName
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11729
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11730
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11731
    "/ kludge - remember the ScreenUpdater ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11732
    name = 'Screen Updater' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11733
        JavaScreenUpdaterThread := stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11734
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11735
        name = 'AWT-Windows' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11736
            JavaEventThread := stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11737
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11738
            (name startsWith:'AWT-EventQueue') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11739
                JavaEventQueueThread := stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11740
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11741
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11742
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11743
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11744
"/name = 'UserDialogShowThread' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11745
"/self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11746
"/].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11747
    "/ when that process terminates, wakup any waiters
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11748
    stProcess addExitAction:[self wakeup:jThread].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11749
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11750
    stProcess name:'JAVA-' , name.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11751
    stProcess restartable:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11752
    stProcess resume.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11753
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11754
    Java threads at:jThread put:stProcess.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11755
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11756
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11757
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11758
    "Created: / 3.1.1998 / 02:05:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11759
    "Modified: / 24.12.1999 / 03:14:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11760
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11762
_Thread_stop0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11763
    "terminate a thread"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11764
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11765
    |jThread stProcess death|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11766
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11767
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11768
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11769
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11770
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11771
        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11772
            ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11773
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11774
        ^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11775
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11776
stProcess == JavaScreenUpdaterThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11777
stProcess == JavaEventQueueThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11778
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11779
    death := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11780
    stProcess 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11781
        interruptWith:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11782
                        JavaVM javaExceptionSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11783
Processor activeProcess == JavaScreenUpdaterThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11784
Processor activeProcess == JavaEventQueueThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11785
                            Processor activeProcess terminate
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11786
                        ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11787
                            ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11788
                                ('JAVA: thread exit: ' , jThread displayString) infoPrintNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11789
                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11790
                            jThread perform:#'exit()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11791
                            self throwException:death.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11792
                        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11793
                      ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11794
    stProcess resume.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11795
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11796
    [stProcess isDead] whileFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11797
        stProcess resume.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11798
        'JavaVM: wait for death' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11799
        Delay waitForSeconds:0.1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11800
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11801
    stProcess terminate
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11802
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11803
    "Created: / 8.1.1998 / 13:11:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11804
    "Modified: / 24.12.1999 / 02:32:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11805
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11806
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11807
_Thread_suspend0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11808
    "yield"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11809
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11810
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11811
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11812
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11813
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11814
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11815
	ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11816
	    ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11817
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11818
	^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11819
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11820
    stProcess suspend
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11821
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11822
    "Created: / 8.1.1998 / 01:05:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11823
    "Modified: / 6.2.1998 / 02:15:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11824
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11825
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11826
_Thread_yield:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11827
    "yield"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11828
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11829
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11830
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11831
    Processor yield.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11832
"/    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11833
"/    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11834
"/    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11835
"/        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11836
"/            ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11837
"/        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11838
"/        ^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11839
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11840
"/    stProcess == Processor activeProcess ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11841
"/        Processor yield.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11842
"/    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11843
"/        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11844
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11845
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11846
    "Created: / 5.1.1998 / 02:03:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11847
    "Modified: / 23.12.1998 / 19:19:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11848
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11849
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11850
_Throwable_printStackTrace0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11851
    |out outStream exceptionObject contextList|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11852
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11853
    outStream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11854
    exceptionObject := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11855
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11856
    contextList := exceptionObject instVarNamed:'backtrace'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11857
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11858
    out := self javaConsoleStream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11859
    out cr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11860
    out nextPutLine:'JAVA: stackTrace:'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11861
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11862
    contextList do:[:con |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11863
	out 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11864
	    nextPutAll:'  '; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11865
	    nextPutAll:(con method javaClass fullName);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11866
	    nextPutAll:'.';
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11867
	    nextPutAll:(con method selector);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11868
	    nextPutAll:' ['; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11869
	    nextPutAll:(con method javaClass sourceFile); 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11870
	    nextPutAll:' '; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11871
	    nextPutAll:(con quickLineNumber displayString); 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11872
	    nextPutAll:']'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11873
	out cr
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11874
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11875
    out nextPutLine:'----------------------------------------------------'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11876
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11877
    "Created: / 4.1.1998 / 14:27:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11878
    "Modified: / 10.11.1998 / 14:19:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11879
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11880
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11881
_URLConnection_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11882
    "/ void close ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11883
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11884
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11885
    "Created: / 12.11.1998 / 19:26:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11886
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11887
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11888
_URLConnection_finalize:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11889
    "/ void finalize ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11890
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11891
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11892
    "Created: / 12.11.1998 / 19:25:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11893
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11894
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11895
_URLConnection_getContentLength0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11896
    "/ int getContentLength0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11897
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11898
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11899
    "Created: / 12.11.1998 / 19:25:34 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11900
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11901
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11902
_URLConnection_getContentType0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11903
    "/ java.lang.String getContentType0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11904
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11905
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11906
    "Created: / 12.11.1998 / 19:25:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11907
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11908
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11909
_URLConnection_getHeaderField0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11910
    "/ java.lang.String getHeaderField0 (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11911
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11912
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11913
    "Created: / 12.11.1998 / 19:25:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11914
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11915
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11916
_URLConnection_pCreate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11917
    "/ void pCreate (java.lang.String java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11918
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11919
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11920
    "Created: / 12.11.1998 / 19:25:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11921
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11922
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11923
_URLInputStream_available:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11924
    "/ int available ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11925
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11926
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11927
    "Created: / 12.11.1998 / 19:24:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11928
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11929
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11930
_URLInputStream_open:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11931
    "/ void open ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11932
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11933
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11934
    "Created: / 12.11.1998 / 19:24:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11935
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11936
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11937
_URLInputStream_read:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11938
    "/ int read (byte[] int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11939
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11940
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11941
    "Created: / 12.11.1998 / 19:24:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11942
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11943
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11944
_URLOutputStream_open:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11945
    "/ void open ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11946
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11947
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11948
    "Created: / 12.11.1998 / 19:24:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11949
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11950
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11951
_URLOutputStream_pClose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11952
    "/ void pClose ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11953
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11954
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11955
    "Created: / 12.11.1998 / 19:25:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11956
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11957
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11958
_URLOutputStream_write:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11959
    "/ void write (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11960
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11961
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11962
    "Created: / 12.11.1998 / 19:24:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11963
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11964
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11965
_URLOutputStream_writeBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11966
    "/ void writeBytes (byte[] int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11967
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11968
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11969
    "Created: / 12.11.1998 / 19:24:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11970
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11971
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11972
_URLStreamHandlerFactory_pInit:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11973
    "/ self unimplementedNativeMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11974
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11975
    "Created: / 10.1.1998 / 15:47:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11976
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11977
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11978
_URLStreamHandlerFactory_pSupportsProtocol:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11979
    "/ boolean pSupportsProtocol (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11980
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11981
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11982
    "Created: / 12.11.1998 / 19:23:43 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11983
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11984
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11985
_VM_getState:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11986
    "/ int getState ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11987
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11988
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11989
    "Created: / 12.11.1998 / 19:06:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11990
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11991
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11992
_VM_resetJavaMonitor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11993
    "/ void resetJavaMonitor ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11994
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11995
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11996
    "Created: / 14.11.1998 / 10:43:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11997
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11998
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11999
_VM_resumeJavaMonitor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12000
    "/ void resumeJavaMonitor ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12001
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12002
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12003
    "Created: / 14.11.1998 / 10:42:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12004
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12005
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12006
_VM_suspendJavaMonitor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12007
    "/ void suspendJavaMonitor ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12008
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12009
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12010
    "Created: / 14.11.1998 / 10:43:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12011
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12012
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12013
_VM_threadsSuspended:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12014
    "/ boolean threadsSuspended ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12015
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12016
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12017
    "Created: / 12.11.1998 / 19:07:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12018
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12019
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12020
_VM_unsuspendSomeThreads:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12021
    "/ void unsuspendSomeThreads ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12022
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12023
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12024
    "Created: / 12.11.1998 / 19:07:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12025
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12026
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12027
_VM_unsuspendThreads:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12028
    "/ void unsuspendThreads ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12029
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12030
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12031
    "Created: / 12.11.1998 / 19:07:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12032
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12033
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12034
_VM_writeJavaMonitorReport:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12035
    "/ void writeJavaMonitorReport ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12036
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12037
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12038
    "Created: / 14.11.1998 / 10:43:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12039
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12040
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12041
_WButtonPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12042
    |jButtonPeer jButton jFrame frame button
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12043
     lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12044
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12045
    jButtonPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12046
    jButton := jButtonPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12047
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12048
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12049
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12050
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12051
    button := Button in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12052
    button sizeFixed:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12053
    button action:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12054
			jButtonPeer perform:#'handleAction()V'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12055
		  ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12056
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12057
    lbl := jButton instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12058
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12059
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12060
	button label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12061
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12062
    self createdWindowsView:button for:jButtonPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12063
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12064
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12065
	'WButtonPeer_create: ' print. frame print. ' -> ' print. button printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12066
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12067
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12068
    "Created: / 5.1.1998 / 01:53:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12069
    "Modified: / 11.12.1998 / 00:19:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12070
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12071
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12072
_WButtonPeer_setLabel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12073
    |label jString|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12074
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12075
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12076
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12077
    label := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12078
    label label:(Java as_ST_String:jString)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12079
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12080
    "Modified: / 8.1.1998 / 17:35:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12081
    "Created: / 1.2.1998 / 17:05:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12082
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12083
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12084
_WCanvasPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12085
    |jCanvasPeer jFrame frame subView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12086
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12087
    jCanvasPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12088
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12089
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12090
    jFrame isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12091
	self halt:'no frame in canvasPeer create'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12092
	subView := JavaView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12093
"/        self internalError:'no frame in canvasPeer create'.     
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12094
"/        ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12095
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12096
	frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12097
	subView := JavaView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12098
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12099
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12100
    subView delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12101
    subView javaPeer:jCanvasPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12102
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12103
    self createdWindowsView:subView for:jCanvasPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12105
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12106
	'WCanvasPeer_create: ' print. frame print. ' -> ' print. subView printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12107
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12109
    "Created: / 5.1.1998 / 00:59:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12110
    "Modified: / 16.1.1998 / 13:40:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12111
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12113
_WCheckboxMenuItemPeer_setState:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12114
    "/ void setState (boolean)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12115
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12116
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12117
    "Created: / 12.11.1998 / 19:14:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12118
    "Modified: / 3.12.1998 / 21:41:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12119
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12120
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12121
_WCheckboxPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12122
    |jCheckboxPeer jCheckbox jFrame frame checkBox lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12124
    jCheckboxPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12125
    jCheckbox := jCheckboxPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12126
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12127
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12128
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12129
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12130
    checkBox := CheckBox in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12131
    checkBox action:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12132
			jCheckboxPeer 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12133
			    perform:#'handleAction(Z)V' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12134
			    with:(checkBox isOn ifTrue:[1] ifFalse:[0])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12135
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12136
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12137
    lbl := jCheckbox instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12138
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12139
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12140
	checkBox label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12141
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12143
    self createdWindowsView:checkBox for:jCheckboxPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12144
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12145
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12146
	'WCheckboxPeer_create: ' print. frame print. ' -> ' print. checkBox printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12147
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12148
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12149
    "Created: / 7.1.1998 / 21:48:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12150
    "Modified: / 15.1.1998 / 12:27:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12151
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12152
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12153
_WCheckboxPeer_setCheckboxGroup:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12154
    |checkBox jGroup|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12155
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12156
    checkBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12157
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12158
    jGroup := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12159
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12160
    "Created: / 7.1.1998 / 21:48:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12161
    "Modified: / 25.1.1998 / 01:20:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12162
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12164
_WCheckboxPeer_setLabel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12165
    "/ void setLabel (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12166
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12167
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12168
    "Created: / 12.11.1998 / 19:14:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12169
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12170
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12171
_WCheckboxPeer_setState:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12172
    |checkBox state|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12173
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12174
    checkBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12176
    state := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12177
    state ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12178
	checkBox turnOn
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12179
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12180
	checkBox turnOff
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12181
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12182
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12183
    "Created: / 7.1.1998 / 21:49:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12184
    "Modified: / 25.1.1998 / 01:26:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12185
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12186
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12187
_WChoicePeer_addItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12188
    |jString index comboBox|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12189
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12190
    comboBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12191
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12192
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12193
    index := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12194
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12195
    comboBox model list addLast:(Java as_ST_String:jString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12196
    comboBox model changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12197
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12198
    "Created: / 7.1.1998 / 21:45:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12199
    "Modified: / 24.1.1998 / 18:51:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12200
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12201
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12202
_WChoicePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12203
    |jChoicePeer jChoice jFrame frame comboBox|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12204
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12205
    jChoicePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12206
    jChoice := jChoicePeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12207
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12208
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12209
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12210
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12211
    comboBox := ComboListView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12212
    comboBox model:(SelectionInList new list:(OrderedCollection new)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12213
    comboBox action:[:index | 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12214
			jChoicePeer 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12215
			    perform:#'handleAction(I)V' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12216
			    with:(comboBox model selectionIndex - 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12217
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12218
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12219
    self createdWindowsView:comboBox for:jChoicePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12220
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12221
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12222
	'WChoicePeer_create: ' print. frame print. ' -> ' print. comboBox printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12223
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12224
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12225
    "Created: / 7.1.1998 / 21:44:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12226
    "Modified: / 28.1.1998 / 23:19:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12227
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12228
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12229
_WChoicePeer_remove:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12230
    "/ void remove (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12231
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12232
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12233
    "Created: / 12.11.1998 / 19:12:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12234
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12235
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12236
_WChoicePeer_reshape:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12237
    self commonReshapeComponent:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12238
"/    self pReshape:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12239
    ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12240
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12241
    "Created: / 7.1.1998 / 21:46:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12242
    "Modified: / 23.12.1998 / 19:08:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12243
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12244
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12245
_WChoicePeer_select:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12246
    |comboBox index|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12247
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12248
    comboBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12249
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12250
    index := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12251
    comboBox model selectionIndex:(index + 1).  "/ JAVA indexing starts at 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12253
    "Created: / 7.1.1998 / 21:45:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12254
    "Modified: / 25.1.1998 / 09:55:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12255
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12256
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12257
_WClipboard_getClipboardText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12258
    "/ java.lang.String getClipboardText ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12259
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12260
    |str|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12261
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12262
    str := Screen current rootView getTextSelection.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12263
    str isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12264
	str := ''.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12265
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12266
    ^ Java as_String:''.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12267
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12268
    "Modified: / 10.12.1998 / 21:28:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12269
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12270
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12271
_WClipboard_init:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12272
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12273
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12274
    "Modified: / 18.3.1997 / 18:43:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12275
    "Created: / 4.1.1998 / 19:03:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12276
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12277
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12278
_WClipboard_setClipboardText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12279
    "/ void setClipboardText (java.awt.datatransfer.StringSelection)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12280
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12281
    |strSel data|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12282
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12283
    strSel := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12284
    data := strSel instVarNamed:'data'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12285
    data class == (Java at:'java.lang.String') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12286
	Screen current rootView setTextSelection:(Java as_ST_String:data)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12287
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12288
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12289
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12290
    "Created: / 12.11.1998 / 19:15:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12291
    "Modified: / 10.12.1998 / 21:25:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12292
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12293
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12294
_WColor_getDefaultColor: nativeContext 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12295
    | clrIndex  jClr  clr |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12296
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12297
    clrIndex := nativeContext argAt: 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12298
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12299
    "/ windows defaults:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12300
    "/  1: view background
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12301
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12302
    clrIndex == 1 ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12303
        clr := View defaultViewBackgroundColor.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12304
        clr isColor ifFalse: [ clr := Color gray: 50. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12305
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12306
    clrIndex == 2 ifTrue: [ clr := Color black. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12307
    clr isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12308
        self halt.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12309
        self internalError: 'breakpoint'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12310
        ^ nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12311
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12312
    clr := clr on: (Screen current).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12313
    jClr := (self classForName: 'java.awt.Color') new.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12314
    jClr instVarNamed: 'pData' put: clr.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12315
    jClr instVarNamed: 'value' put: (clr rgbValue).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12316
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12317
"/ self halt.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12318
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12319
    ^ jClr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12320
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12321
    "Created: / 15.8.1997 / 15:38:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12322
    "Modified: / 4.1.1998 / 18:06:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12323
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12324
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12325
_WComponentPeer__beginValidate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12326
    "/ void _beginValidate ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12327
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12328
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12329
    "Created: / 12.11.1998 / 19:10:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12330
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12332
_WComponentPeer__dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12333
    |view jPeer|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12334
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12335
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12337
    Object errorSignal catch:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12338
	view destroy.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12339
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12340
    JavaWindowGroup removeView:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12341
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12342
    jPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12343
    jPeer instVarNamed:'pData' put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12344
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12345
    "Created: / 7.1.1998 / 22:36:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12346
    "Modified: / 25.1.1998 / 16:43:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12347
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12349
_WComponentPeer__setBackground:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12350
    |rgb clr view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12352
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12353
    view isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12354
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12355
    rgb := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12356
    clr := Color rgbValue:rgb.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12357
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12358
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12359
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12361
    clr := clr on:(view device).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12362
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12363
"/    (view superView isMemberOf:JavaEmbeddedFrameView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12364
"/        view viewBackground:(view superView viewBackground).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12365
"/        view backgroundPaint:(view superView viewBackground).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12366
"/    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12367
"/        (view isMemberOf:JavaView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12368
"/            view viewBackground:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12369
"/            view backgroundPaint:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12370
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12371
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12372
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12373
    (view isKindOf:ScrollableView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12374
	view := view scrolledView
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12375
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12376
    view viewBackground:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12377
    view backgroundPaint:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12378
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12379
    "Created: / 4.1.1998 / 18:07:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12380
    "Modified: / 4.12.1998 / 17:26:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12381
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12382
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12383
_WComponentPeer__setForeground:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12384
    |rgb clr view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12385
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12386
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12387
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12388
    rgb := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12389
    clr := Color rgbValue:rgb.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12390
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12391
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12392
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12393
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12394
    clr := clr on:(view device).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12395
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12396
    view paint:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12397
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12398
    "Created: / 4.1.1998 / 18:08:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12399
    "Modified: / 8.1.1998 / 17:32:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12400
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12401
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12402
_WComponentPeer_disable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12403
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12404
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12405
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12407
    Object errorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12408
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12409
	view disable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12410
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12411
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12412
    "Created: / 6.1.1998 / 18:26:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12413
    "Modified: / 8.1.1998 / 17:32:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12414
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12415
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12416
_WComponentPeer_enable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12417
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12418
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12419
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12421
    Object errorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12422
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12423
	view enable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12424
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12425
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12426
    "Modified: / 8.1.1998 / 17:32:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12427
    "Created: / 13.1.1998 / 23:08:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12428
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12429
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12430
_WComponentPeer_endValidate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12431
    "/ void endValidate ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12432
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12433
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12434
    "Created: / 12.11.1998 / 19:10:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12435
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12436
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12437
_WComponentPeer_getLocationOnScreen: nativeContext 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12438
    "/ java.awt.Point getLocationOnScreen ()
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12439
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12440
    | view  p  jP |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12441
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12442
    view := self viewForWPeer: nativeContext.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12443
    view isNil ifTrue: [ ^ nil ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12444
    p := view originRelativeTo: nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12445
    jP := (self classForName: 'java.awt.Point') basicNew.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12446
    jP instVarNamed: 'x' put: p x.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 12447
    jP instVarNamed: 'y' put: p y.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12448
    ^ jP
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12449
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12450
    "Modified: / 5.12.1998 / 14:44:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12451
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12452
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12453
_WComponentPeer_handleEvent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12454
    "this is invoked by java, to let a widget handle any event which
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12455
     was not consumed (eaten) by java.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12456
     If the view in question is some ST-widget, forward it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12457
     Ignore for JavaViews."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12458
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12459
    |view jEv stEv ignore|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12460
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12461
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12462
    view notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12463
	jEv := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12464
	stEv := jEv instVarNamed:'data'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12465
	(stEv notNil and:[stEv ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12466
	    ignore := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12467
	    view isJavaView ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12468
		ignore := false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12469
	    ] ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12470
		view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12471
		    stEv type == #terminate ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12472
			ignore := false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12473
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12474
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12475
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12476
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12477
	    ignore ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12478
		EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12479
		    ('JAVA: WComponent - handleEvent: ' , stEv type , ' for ' , view printString) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12480
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12481
		view dispatchEvent:stEv. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12482
		^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12483
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12484
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12485
	    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12486
		('JAVA: WComponent - handleEvent ignored:' , stEv type) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12487
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12488
	    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12489
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12490
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12491
    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12492
	('JAVA: WComponent - handleEvent ignored') infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12493
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12494
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12495
    "Created: / 6.1.1998 / 21:10:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12496
    "Modified: / 11.12.1998 / 01:04:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12497
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12498
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12499
_WComponentPeer_hide:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12500
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12502
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12503
"/ view isPopUpView ifTrue:[self halt].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12504
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12505
    Object errorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12506
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12507
	view beInvisible
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12508
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12509
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12510
    "Created: / 7.1.1998 / 22:35:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12511
    "Modified: / 4.12.1998 / 17:53:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12512
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12513
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12514
_WComponentPeer_nativeHandleEvent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12515
    "this is invoked by java, to let a widget handle any event which
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12516
     was not consumed (eaten) by java.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12517
     If the view in question is some ST-widget, forward it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12518
     Ignore for JavaViews."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12519
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12520
    |view jEv stEv|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12521
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12522
^self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12523
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12524
    view notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12525
	(view isKindOf:JavaView) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12526
	    jEv := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12527
	    stEv := jEv instVarNamed:'data'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12528
	    (stEv notNil and:[stEv ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12529
		EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12530
		    ('JAVA: WComponent - handleEvent: ' , stEv type , ' for ' , view printString) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12531
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12532
		stEv sendEventWithFocusOn:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12533
		^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12534
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12535
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12536
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12537
    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12538
	('JAVA: WComponent - handleEvent ignored') infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12539
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12541
    "Created: / 19.10.1998 / 21:26:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12542
    "Modified: / 19.10.1998 / 23:26:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12543
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12544
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12545
_WComponentPeer_requestFocus:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12546
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12547
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12548
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12549
"/ 'getFocus - ' print. view displayString printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12551
"/    view getKeyboardFocus
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12552
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12553
    "Created: / 7.1.1998 / 22:30:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12554
    "Modified: / 4.12.1998 / 19:42:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12555
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12556
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12557
_WComponentPeer_reshape:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12558
    self commonReshapeComponent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12559
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12560
    "Modified: / 18.3.1997 / 19:30:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12561
    "Created: / 4.1.1998 / 18:01:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12562
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12563
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12564
_WComponentPeer_setBackground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12565
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12566
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12567
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12568
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12569
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12570
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12571
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12572
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12573
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12574
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12575
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12576
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12577
"/    (view superView isMemberOf:JavaEmbeddedFrameView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12578
"/        view viewBackground:(view superView viewBackground).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12579
"/        view backgroundPaint:(view superView viewBackground).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12580
"/    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12581
"/        (view isMemberOf:JavaView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12582
"/            view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12583
"/            view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12584
"/        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12585
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12586
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12587
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12588
	view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12589
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12590
    view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12591
    view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12592
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12593
    "Created: / 16.10.1998 / 02:16:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12594
    "Modified: / 16.10.1998 / 02:26:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12595
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12596
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12597
_WComponentPeer_setCursor:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12598
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12599
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12600
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12601
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12602
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12603
    "Created: / 5.1.1998 / 01:52:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12604
    "Modified: / 25.1.1998 / 01:21:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12605
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12606
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12607
_WComponentPeer_setFont:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12608
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12609
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12610
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12611
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12612
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12613
    "Created: / 5.1.1998 / 00:55:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12614
    "Modified: / 25.1.1998 / 01:22:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12615
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12616
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12617
_WComponentPeer_setForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12618
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12619
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12620
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12621
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12622
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12623
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12624
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12625
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12626
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12627
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12628
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12629
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12630
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12631
	view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12632
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12633
    view paint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12634
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12635
    "Created: / 16.10.1998 / 02:18:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12636
    "Modified: / 16.10.1998 / 02:26:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12637
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12638
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12639
_WComponentPeer_setZOrderPosition:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12640
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12641
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12642
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12643
"/    self unimplementedNativeMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12644
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12645
"/ self internalError:'breakPoint'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12646
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12647
    "Created: / 4.1.1998 / 17:59:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12648
    "Modified: / 25.1.1998 / 01:22:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12649
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12650
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12651
_WComponentPeer_show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12652
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12653
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12654
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12655
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12656
    "/ frame views are under my browsers own control
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12657
    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12658
	view beVisible.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12659
	view realize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12660
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12661
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12662
"/    view windowGroup notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12663
"/        windowServer addGroup:(view windowGroup)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12664
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12665
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12666
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12667
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12668
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12669
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12670
    "Created: / 5.1.1998 / 01:26:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12671
    "Modified: / 4.12.1998 / 17:43:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12672
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12673
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12674
_WComponentPeer_start:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12675
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12676
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12677
    "Modified: / 18.3.1997 / 18:43:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12678
    "Created: / 5.1.1998 / 00:58:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12679
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12680
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12681
_WContainerPeer_calculateInsets:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12682
    "/ new with ns4.0 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12683
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12684
    "Created: / 16.10.1998 / 02:12:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12685
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12686
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12687
_WDefaultFontCharset_canConvert:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12688
    ^ 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12689
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12690
    "Modified: / 21.8.1997 / 15:56:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12691
    "Created: / 5.1.1998 / 01:55:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12692
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12693
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12694
_WDialogPeer__hide:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12695
    |dialog|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12696
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12697
    dialog := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12698
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12699
    dialog hide.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12700
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12701
    "Created: / 7.1.1998 / 22:34:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12702
    "Modified: / 8.1.1998 / 17:34:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12703
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12705
_WDialogPeer__show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12706
    |dialog|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12707
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12708
    dialog := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12709
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12710
"/ show does not work (yet); must setup windowgroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12711
"/ for it to get events ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12712
"/    dialog realize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12713
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12714
dialog show.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12715
"/dialog fixSize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12716
"/dialog makeFullyVisible.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12717
"/dialog openModal:[true] inGroup:JavaWindowGroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12718
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12719
    "Created: / 7.1.1998 / 21:52:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12720
    "Modified: / 11.12.1998 / 14:43:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12721
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12722
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12723
_WDialogPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12724
    |jDialogPeer dialog|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12725
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12726
    jDialogPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12727
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12728
    dialog := ModalBox new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12729
    jDialogPeer instVarNamed:'pData' put:dialog.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12730
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12731
    self createdWindowsView:dialog for:jDialogPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12732
    dialog windowGroup:JavaWindowGroup.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12733
    JavaWindowGroup addTopView:dialog.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12734
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12735
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12736
	'WDialogPeer_create: ' print. dialog printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12737
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12738
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12739
    "Created: / 7.1.1998 / 21:51:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12740
    "Modified: / 15.1.1998 / 16:12:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12741
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12742
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12743
_WDrawingSurfaceInfo_getDepth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12744
    "/ int getDepth ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12745
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12746
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12747
    "Created: / 12.11.1998 / 19:21:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12748
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12749
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12750
_WDrawingSurfaceInfo_getHBitmap:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12751
    "/ int getHBitmap ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12752
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12753
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12754
    "Created: / 12.11.1998 / 19:20:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12755
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12756
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12757
_WDrawingSurfaceInfo_getHDC:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12758
    "/ int getHDC ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12759
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12760
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12761
    "Created: / 12.11.1998 / 19:20:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12762
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12764
_WDrawingSurfaceInfo_getHPalette:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12765
    "/ int getHPalette ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12766
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12767
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12768
    "Created: / 12.11.1998 / 19:21:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12769
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12771
_WDrawingSurfaceInfo_getHWnd:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12772
    "/ int getHWnd ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12773
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12774
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12775
    "Created: / 12.11.1998 / 19:20:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12776
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12777
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12778
_WDrawingSurfaceInfo_getPBits:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12779
    "/ int getPBits ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12780
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12781
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12782
    "Created: / 12.11.1998 / 19:20:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12783
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12784
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12785
_WDrawingSurfaceInfo_lock:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12786
    "/ int lock ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12787
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12788
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12789
    "Created: / 12.11.1998 / 19:20:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12790
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12791
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12792
_WDrawingSurfaceInfo_unlock:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12793
    "/ void unlock ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12794
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12795
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12796
    "Created: / 12.11.1998 / 19:20:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12797
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12798
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12799
_WEmbeddedFramePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12800
    "/ void create (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12801
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12802
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12803
    "Created: / 12.11.1998 / 19:16:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12804
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12805
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12806
_WFileDialogPeer_show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12807
    |jDialogPeer jDialog dialogView stDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12808
     title dir pattern f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12809
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12810
    jDialogPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12811
    jDialog := jDialogPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12812
    dialogView := jDialogPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12813
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12814
    stDialog := FileSelectionBox new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12815
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12816
    dir := jDialog instVarNamed:'dir'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12817
    dir notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12818
	stDialog directory:(Java as_ST_String:dir).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12819
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12820
    pattern := jDialog instVarNamed:'file'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12821
    pattern notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12822
	stDialog pattern:(Java as_ST_String:pattern).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12823
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12824
    title := jDialog instVarNamed:'title'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12825
    title notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12826
	stDialog title:(Java as_ST_String:title).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12827
	stDialog label:(Java as_ST_String:title).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12828
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12829
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12830
    stDialog show.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12831
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12832
    stDialog accepted ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12833
	f := stDialog pathName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12834
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12835
	"/ cannot use the one below - it has a builtIn fileSeparator if '\' (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12836
	"/ jDialogPeer perform:#'handleSelected(Ljava/lang/String;)V' with:(Java as_String:f).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12837
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12838
	jDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12839
	    perform:#'setFile(Ljava/lang/String;)V' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12840
	    with:(Java as_String:(f asFilename baseName)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12841
	jDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12842
	    perform:#'setDirectory(Ljava/lang/String;)V'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12843
	    with:(Java as_String:(f asFilename directoryName , Filename separator asString)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12844
	jDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12845
	    perform:#'setVisible(Z)V'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12846
	    with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12847
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12848
	jDialogPeer 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12849
	    perform:#'handleCancel()V'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12850
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12851
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12852
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12853
    "Created: / 7.1.1998 / 22:38:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12854
    "Modified: / 15.1.1998 / 13:04:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12855
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12857
_WFontMetrics_bytesWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12858
    "/ int bytesWidth (byte[] int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12859
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12860
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12861
    "Created: / 12.11.1998 / 19:11:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12862
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12863
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12864
_WFontMetrics_getMFCharSegmentWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12865
    "get multi-font string-segment width.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12866
     Not yet supported - use standard strings width"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12867
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12868
    |jMetrics jFont jFontDescr stFont w
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12869
     bool1 cp offs lenght bp int1|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12870
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12871
    jMetrics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12872
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12873
    jFontDescr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12874
    bool1 := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12875
    cp := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12876
    offs := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12877
    lenght := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12878
    bp := nativeContext argAt:7.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12879
    int1 := nativeContext argAt:8.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12880
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12881
    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12882
    (stFont isNil or:[stFont == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12883
	self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12884
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12885
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12886
    stFont device isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12887
	stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12888
	jFont instVarNamed:'pData' put:stFont.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12889
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12890
    w := stFont widthOf:cp from:offs+1 to:offs+lenght.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12891
    ^ w.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12892
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12893
    "Created: / 5.1.1998 / 01:57:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12894
    "Modified: / 13.1.1998 / 23:44:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12895
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12897
_WFontMetrics_init:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12898
    |jMetrics jFont stFont widths family name style size|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12899
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12900
    jMetrics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12901
    jFont := jMetrics instVarNamed:'font'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12902
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12903
    family := jFont instVarNamed:'family'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12904
    family := Java as_ST_String:family.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12905
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12906
    name := jFont instVarNamed:'name'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12907
    name := Java as_ST_String:name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12908
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12909
    style := jFont instVarNamed:'style'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12910
    size := jFont instVarNamed:'size'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12911
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12912
    stFont := Font family:family size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12913
    stFont isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12914
        stFont := Font family:'helvetica' size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12915
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12916
    stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12917
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12918
"/    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12919
"/    stFont isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12920
"/        self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12921
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12922
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12923
    stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12924
    jFont instVarNamed:'pData' put:stFont.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12925
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12926
    jMetrics instVarNamed:'ascent'     put:stFont ascent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12927
    jMetrics instVarNamed:'descent'    put:stFont descent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12928
    jMetrics instVarNamed:'leading'    put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12929
    jMetrics instVarNamed:'height'     put:stFont height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12930
    jMetrics instVarNamed:'maxAscent'  put:stFont maxAscent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12931
    jMetrics instVarNamed:'maxDescent' put:stFont maxDescent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12932
    jMetrics instVarNamed:'maxHeight'  put:stFont maxHeight.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12933
    jMetrics instVarNamed:'maxAdvance' put:stFont maxWidth.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12934
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12935
    widths := Array new:256.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12936
    0 to:255 do:[:i |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12937
        widths at:(i+1) put:(stFont widthOf:(Character value:i))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12938
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12939
    jMetrics instVarNamed:'widths' put:widths.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12940
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12942
    "Modified: / 8.8.1997 / 12:06:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12943
    "Created: / 5.1.1998 / 01:54:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12944
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12945
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12946
_WFontMetrics_needsConversion:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12947
    |jFont jFontDescr stFont|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12948
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12949
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12950
    jFontDescr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12951
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12952
    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12953
"/    stFont isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12954
"/        self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12955
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12956
"/    stFont device isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12957
"/        stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12958
"/        jFont instVarNamed:'pData' put:stFont.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12959
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12960
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12961
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12962
    ^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12963
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12964
    "Modified: / 17.8.1997 / 17:16:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12965
    "Created: / 5.1.1998 / 01:56:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12966
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12967
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12968
_WFramePeer__setIconImage:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12969
    |frame imgRep image|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12970
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12971
    frame := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12972
    imgRep := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12973
    imgRep notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12974
	image := imgRep instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12975
	(image notNil and:[image ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12976
	    frame icon:image.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12977
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12978
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12979
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12980
    "Created: / 27.4.1998 / 17:15:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12981
    "Modified: / 27.4.1998 / 17:18:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12982
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12983
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12984
_WFramePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12985
    |jFramePeer jFrame top frame pDataIdx|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12986
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12987
    jFramePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12988
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12989
    "/ for now: a kludge to create an embedded frame for
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12990
    "/ mozillaFrames
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12991
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12992
    jFrame := jFramePeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12993
    (jFrame notNil 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12994
    and:[(pDataIdx := jFrame class instVarOffsetOf:'pData') notNil])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12995
    ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12996
	((frame := jFrame instVarAt:pDataIdx) notNil 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12997
	and:[frame ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12998
	    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12999
		'JAVA: targetFrame view already created: ' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13000
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13001
	    "/ sigh; pData was renamed to pNativeWidget in jdk1.2 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13002
	    pDataIdx := jFramePeer class instVarOffsetOf:'pNativeWidget'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13003
	    pDataIdx isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13004
		"/ ok, we are < 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13005
		pDataIdx := jFramePeer class instVarOffsetOf:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13006
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13007
	    jFramePeer instVarAt:pDataIdx put:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13008
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13009
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13010
	frame := jFramePeer instVarNamed:'pData'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13011
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13012
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13013
    (frame notNil and:[frame ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13014
	WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13015
	    'JAVA: frame view already created: ' infoPrint.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13016
	    jFramePeer class name infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13017
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13018
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13019
"/ OLD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13020
"/        frame := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13021
"/        self createdWindowsView:frame for:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13022
"/        JavaWindowGroup addTopView:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13023
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13024
	frame := JavaTopView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13025
	frame delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13026
	frame javaPeer:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13027
	self createdWindowsView:frame for:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13028
	JavaWindowGroup addTopView:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13030
"/        top := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13031
"/        frame := JavaView origin:0.0@0.0 corner:1.0@1.0 in:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13032
"/        frame delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13033
"/        frame javaPeer:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13034
"/        self createdWindowsView:frame for:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13035
"/        JavaWindowGroup addTopView:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13036
        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13037
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13038
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13039
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13040
	'JAVA: WFramePeer_create: ' print. jFramePeer displayString print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13041
	' frame: ' print. frame printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13042
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13043
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13044
    "Created: / 4.1.1998 / 17:56:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13045
    "Modified: / 3.12.1998 / 00:10:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13046
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13047
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13048
_WFramePeer_setMenuBar0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13049
    |frame jMenuBarPeer menuPanel|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13050
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13051
    frame := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13052
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13053
    jMenuBarPeer := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13054
    jMenuBarPeer isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13055
	"/ mhmh - JAVA wants to remove the frames menuPanel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13056
	"/ but I have no handle on it (for destroy).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13057
	"/ search it in subViews of the frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13058
	frame subViews copy do:[:v |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13059
	    (v isKindOf:MenuPanel) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13060
		v destroy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13061
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13062
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13063
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13064
	menuPanel := jMenuBarPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13065
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13066
	menuPanel origin:0.0@0.0 corner:1.0@(menuPanel preferredExtent y).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13067
	frame addSubView:menuPanel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13068
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13069
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13070
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13071
    "Created: / 7.1.1998 / 21:41:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13072
    "Modified: / 8.1.1998 / 17:35:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13073
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13074
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13075
_WFramePeer_setResizable:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13076
    |view onOff|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13077
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13078
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13079
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13080
    onOff := (nativeContext argAt:1) == 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13081
    view isTopView ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13082
	onOff ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13083
	    view minExtent:10@10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13084
	    view maxExtent:(Screen current extent).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13085
	] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13086
	    view minExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13087
	    view maxExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13088
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13089
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13090
	(view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13091
	    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13092
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13093
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13094
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13095
"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13096
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13097
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13098
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13099
    "Modified: / 16.1.1998 / 18:08:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13100
    "Created: / 16.10.1998 / 02:21:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13101
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13102
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13103
_WFramePeer_setTitle:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13104
    |view jString string|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13105
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13106
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13107
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13108
    jString := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13109
    string := Java as_ST_String:jString.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13110
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13111
"/ 'JAVA: WFramePeer_pSetTitle: ' print. string print. ' ' print. view printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13112
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13113
    view label:string.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13114
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13115
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13116
    "Modified: / 8.1.1998 / 17:37:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13117
    "Created: / 27.1.1998 / 21:42:57 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13118
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13119
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13120
_WGraphics__dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13121
    "/ void _dispose()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13122
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13124
    "Created: / 12.11.1998 / 19:17:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13125
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13126
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13127
_WGraphics_changeClip:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13128
    |gc x y w h r bool|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13129
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13130
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13131
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13132
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13133
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13134
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13135
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13136
    bool := (nativeContext argAt:5) ~~ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13137
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13138
    r := Rectangle left:x top:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13139
"/ 'WGraphics_changeClip: ' infoPrint. r infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13140
    gc clippingRectangle:r.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13141
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13142
    "Created: / 6.1.1998 / 20:57:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13143
    "Modified: / 20.10.1998 / 19:40:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13144
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13146
_WGraphics_clearRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13147
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13148
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13149
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13150
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13151
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13152
    gc realized ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13153
	'JAVA: drawing on unrealized gc - ignored' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13154
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13155
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13156
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13157
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13158
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13159
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13160
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13161
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13162
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13163
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13165
    gc clearRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13167
    "Created: / 8.1.1998 / 00:16:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13168
    "Modified: / 8.1.1998 / 00:21:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13169
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13170
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13171
_WGraphics_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13172
    "/ void close (sun.awt.windows.WPrintJob)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13173
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13174
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13175
    "Created: / 12.11.1998 / 19:19:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13176
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13177
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13178
_WGraphics_copyArea:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13179
    |gc srcX srcY w h deltaX deltaY|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13180
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13181
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13182
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13183
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13184
    gc realized ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13185
	'JAVA: copyArea on unrealized gc - ignored' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13186
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13187
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13188
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13189
    srcX := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13190
    srcY := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13191
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13192
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13193
    deltaX := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13194
    deltaY := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13195
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13196
    gc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13197
	copyFrom:gc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13198
	x:srcX y:srcY 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13199
	toX:srcX+deltaX y:srcY+deltaY 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13200
	width:w height:h
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13201
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13202
    "Created: / 8.1.1998 / 00:16:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13203
    "Modified: / 9.4.1998 / 22:01:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13204
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13206
_WGraphics_createFromComponent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13207
    |jGraphics jWin view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13208
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13209
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13210
    jWin := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13211
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13212
    view := KnownWindows at:jWin ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13213
    view isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13214
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13215
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13216
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13217
    view clippingRectangle:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13218
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13219
"/    "/ just a consistency check ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13220
"/    (jWin instVarNamed:'xid') ~~ view ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13221
"/        self halt:'consistency check'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13222
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13224
    jGraphics instVarNamed:'pData' put:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13226
    "Created: / 6.1.1998 / 20:55:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13227
    "Modified: / 20.10.1998 / 19:38:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13228
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13229
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13230
_WGraphics_createFromGraphics:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13231
    |jGraphics graphics gc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13232
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13233
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13234
    graphics := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13235
    gc := graphics instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13236
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13237
    jGraphics instVarNamed:'pData' put:gc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13238
    gc clippingRectangle:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13239
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13240
    "Created: / 8.1.1998 / 00:47:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13241
    "Modified: / 20.10.1998 / 19:37:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13242
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13243
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13244
_WGraphics_createFromHDC:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13245
    "/ void createFromHDC (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13246
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13247
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13248
    "Created: / 12.11.1998 / 19:17:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13249
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13250
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13251
_WGraphics_createFromPrintJob:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13252
    "/ void createFromPrintJob (sun.awt.windows.WPrintJob)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13253
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13254
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13255
    "Created: / 12.11.1998 / 19:17:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13256
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13258
_WGraphics_dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13259
    |gc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13260
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13261
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13262
    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13263
    gc clippingRectangle:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13264
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13265
    "Created: / 6.1.1998 / 20:58:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13266
    "Modified: / 20.10.1998 / 19:35:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13267
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13268
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13269
_WGraphics_drawArc:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13270
    |gc x y w h startAngle endAngle|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13271
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13272
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13273
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13274
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13275
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13276
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13277
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13278
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13279
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13280
    startAngle := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13281
    endAngle := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13282
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13283
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13284
	'drawArc x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13285
	       ' w/h= ' print. w print. '@' print. h print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13286
	       ' startAngle= ' print. startAngle print. ' endAngle= ' print. endAngle printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13287
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13288
    gc 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13289
	displayArcX:x y:y 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13290
	width:w height:h 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13291
	from:startAngle angle:(endAngle - startAngle).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13292
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13293
    "Created: / 6.1.1998 / 21:00:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13294
    "Modified: / 28.1.1999 / 17:38:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13295
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13297
_WGraphics_drawBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13298
    "/ void drawBytes (byte[] int int int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13299
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13300
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13301
    "Created: / 12.11.1998 / 19:18:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13302
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13304
_WGraphics_drawLine:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13305
    |gc x y x2 y2|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13306
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13307
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13308
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13309
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13311
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13312
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13313
    x2 := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13314
    y2 := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13315
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13316
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13317
	'drawLine x/y= ' print. x print. '@' print. y print. ' x2/y2= ' print. x2 print. '@' print. y2 printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13318
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13319
    gc displayLineFromX:x y:y toX:x2 y:y2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13320
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13321
    "Created: / 6.1.1998 / 20:59:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13322
    "Modified: / 8.1.1998 / 00:34:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13323
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13324
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13325
_WGraphics_drawMFCharsConvertedSegment:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13326
    "/ int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13327
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13328
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13329
    "Created: / 12.11.1998 / 19:18:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13330
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13332
_WGraphics_drawMFCharsSegment:nativeContext       
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13333
    |jFont jFontDescr s gc x y offs len|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13334
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13335
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13336
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13337
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13338
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13339
    jFontDescr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13340
    s := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13341
    offs := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13342
    len := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13343
    x := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13344
    y := nativeContext argAt:7.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13345
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13346
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13347
	'drawMFCharsSegment x/y= ' print. x print. '@' print. y print. ' s= ' print. s printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13348
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13349
    gc displayString:s from:offs+1 to:offs+len x:x y:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13350
    ^ (gc font onDevice:(gc graphicsDevice)) widthOf:s.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13352
    "Created: / 6.1.1998 / 21:01:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13353
    "Modified: / 25.1.1998 / 20:45:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13354
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13355
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13356
_WGraphics_drawOval:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13357
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13358
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13359
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13360
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13361
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13362
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13363
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13364
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13365
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13366
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13367
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13368
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13369
	'drawOval x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13370
		' w/h= ' print. w print. '@' print. h printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13371
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13372
    gc displayArcX:x y:y width:w height:h from:0 angle:360.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13373
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13374
    "Created: / 8.1.1998 / 00:44:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13375
    "Modified: / 9.4.1998 / 22:10:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13376
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13378
_WGraphics_drawPolygon:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13379
    |gc xVector yVector count points|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13380
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13381
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13382
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13383
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13384
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13385
    xVector := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13386
    yVector := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13387
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13388
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13389
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13390
	'drawPolgon' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13391
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13392
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13393
    points := (1 to:count) collect:[:i | (xVector at:i) @ (yVector at:i)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13394
    gc displayPolygon:points
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13395
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13396
    "Created: / 8.1.1998 / 00:57:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13397
    "Modified: / 8.1.1998 / 00:57:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13398
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13399
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13400
_WGraphics_drawPolyline:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13401
    "/ void drawPolyline (int[] int[] int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13402
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13403
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13404
    "Created: / 12.11.1998 / 19:19:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13405
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13407
_WGraphics_drawRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13408
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13409
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13410
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13411
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13412
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13413
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13414
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13415
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13416
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13417
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13418
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13419
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13420
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13421
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13422
    gc displayRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13423
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13424
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13425
    "Created: / 8.1.1998 / 00:59:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13426
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13427
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13428
_WGraphics_drawRoundRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13429
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13430
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13431
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13432
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13433
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13434
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13435
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13436
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13437
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13438
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13439
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13440
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13441
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13442
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13443
    gc displayRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13444
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13445
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13446
    "Created: / 8.1.1998 / 00:59:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13447
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13448
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13449
_WGraphics_drawSFChars:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13450
    "/ void drawSFChars (char[]s, int pos1, int len, int x, int y)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13451
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13452
    |gc str x y idx1 nChars|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13453
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13454
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13455
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13456
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13457
    str := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13458
    idx1 := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13459
    nChars := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13460
    x := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13461
    y := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13462
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13463
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13464
	'drawSFChars x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13465
	       ' s= ' print. str printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13466
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13467
    gc displayString:str from:idx1+1 to:idx1+nChars x:x y:y
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13468
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13469
    "Created: / 6.1.1998 / 21:11:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13470
    "Modified: / 8.1.1998 / 00:33:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13471
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13472
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13473
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13474
_WGraphics_fillArc:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13475
    |gc x y w h startAngle endAngle|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13476
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13477
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13478
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13479
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13480
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13481
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13482
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13483
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13484
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13485
    startAngle := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13486
    endAngle := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13487
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13488
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13489
	'fillArc x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13490
	       ' w/h= ' print. w print. '@' print. h print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13491
	       ' startAngle= ' print. startAngle print. ' endAngle= ' print. endAngle printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13492
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13493
    gc fillArcX:x y:y width:w height:h from:startAngle angle:(endAngle - startAngle)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13494
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13495
    "Created: / 6.1.1998 / 21:11:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13496
    "Modified: / 8.1.1998 / 00:33:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13497
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13498
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13499
_WGraphics_fillOval:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13500
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13502
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13503
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13504
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13505
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13506
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13507
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13508
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13509
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13510
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13511
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13512
	'drawOval x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13513
		' w/h= ' print. w print. '@' print. h printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13514
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13515
    gc fillArcX:x y:y width:w height:h from:0 angle:360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13516
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13517
    "Created: / 8.1.1998 / 00:46:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13518
    "Modified: / 8.1.1998 / 00:46:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13519
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13520
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13521
_WGraphics_fillPolygon:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13522
    |gc xVector yVector count points|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13523
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13524
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13525
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13526
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13527
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13528
    xVector := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13529
    yVector := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13530
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13531
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13532
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13533
	'fillPolgon' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13534
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13535
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13536
    points := (1 to:count) collect:[:i | (xVector at:i) @ (yVector at:i)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13537
    gc fillPolygon:points
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13538
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13539
    "Created: / 8.1.1998 / 00:58:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13540
    "Modified: / 25.1.1998 / 11:03:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13541
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13542
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13543
_WGraphics_fillRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13544
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13545
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13546
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13547
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13548
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13549
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13550
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13551
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13552
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13553
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13555
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13556
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13557
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13558
    gc fillRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13559
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13560
    "Created: / 15.8.1997 / 15:43:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13561
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13562
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13563
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13564
_WGraphics_fillRoundRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13565
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13566
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13567
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13568
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13569
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13570
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13571
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13572
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13573
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13574
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13575
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13576
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13577
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13578
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13579
    gc displayRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13580
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13581
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13582
    "Created: / 8.1.1998 / 00:59:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13583
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13584
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13585
_WGraphics_getClipBounds: nativeContext 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13586
    | gc  rect  r  x  y  w  h |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13587
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13588
    gc := self gcForWGraphics: nativeContext.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13589
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13590
"/    gc isNil ifTrue:[^ nil].
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13591
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13592
    rect := (self classForName: 'java.awt.Rectangle') basicNew.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13593
    (gc isMemberOf: JavaView) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13594
        "/ r := gc clippingRectangleOrNil. 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13595
        r := gc getNextUpdateRectangle.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13596
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13597
    r isNil ifTrue: [ r := gc clippingRectangleOrNil. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13598
    r isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13599
        x := y := 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13600
        w := (gc width).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13601
        h := (gc height).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13602
    ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13603
        x := (r left).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13604
        y := (r top).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13605
        w := (r width).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13606
        h := (r height).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13607
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13608
    rect instVarNamed: 'x' put: x.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13609
    rect instVarNamed: 'y' put: y.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13610
    rect instVarNamed: 'width' put: w.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13611
    rect instVarNamed: 'height' put: h.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13612
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13613
"/ 'WGraphics__getClipBounds ' infoPrint. (x@y extent:w@h) infoPrintCR.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 13614
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13615
    ^ rect
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13616
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13617
    "Created: / 6.1.1998 / 20:58:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13618
    "Modified: / 23.12.1998 / 20:14:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13619
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13620
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13621
_WGraphics_imageCreate:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13622
    |jGraphics imgRep|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13623
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13624
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13625
    imgRep := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13626
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13627
    jGraphics instVarNamed:'pData' put:(imgRep instVarNamed:'pData').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13628
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13629
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13630
    "Created: / 11.1.1998 / 16:34:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13631
    "Modified: / 17.1.1998 / 12:37:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13632
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13633
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13634
_WGraphics_pSetFont:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13635
    |gc jFont stFont|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13636
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13637
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13638
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13639
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13640
    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13641
    (stFont isNil or:[stFont == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13642
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13643
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13644
	gc font:stFont
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13645
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13646
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13647
    "Created: / 6.1.1998 / 20:56:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13648
    "Modified: / 15.1.1998 / 12:31:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13649
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13650
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13651
_WGraphics_pSetForeground:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13652
    |gc rgb clr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13653
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13654
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13655
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13656
    rgb := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13657
    rgb isInteger ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13658
        "/ its a java.awt.Color
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13659
        rgb := rgb instVarNamed:'value'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13660
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13661
    clr := Color rgbValue:rgb.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13662
    gc paint:(clr nearestOn:gc device).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13663
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13664
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13665
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13666
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13667
    "Created: / 6.1.1998 / 20:56:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13668
    "Modified: / 23.12.1998 / 20:10:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13669
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13670
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13671
_WGraphics_print:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13672
    "/ void print (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13673
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13674
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13675
    "Created: / 12.11.1998 / 19:19:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13676
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13677
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13678
_WGraphics_removeClip:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13679
    "/ void removeClip ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13680
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13681
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13682
    "Created: / 12.11.1998 / 19:18:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13683
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13684
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13685
_WGraphics_setPaintMode:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13686
    |gc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13687
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13688
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13689
    gc function:#copy.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13691
    true "DrawOPTrace" ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13692
	'copyMode' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13693
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13694
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13695
    "Created: / 8.1.1998 / 00:33:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13696
    "Modified: / 28.1.1998 / 23:25:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13697
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13698
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13699
_WGraphics_setXORMode:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13700
    |gc jColor rgb invColor device|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13701
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13702
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13703
    jColor := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13704
    device := gc graphicsDevice.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13705
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13706
"/    "/ on trueColor systems, use the provided
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13707
"/    "/ rgb value for inverting.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13708
"/    "/ on palette systems, use white ^ black
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13709
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13710
"/    device visualType == #TrueColor ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13711
"/        rgb := jColor instVarNamed:'value'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13712
"/        rgb := rgb bitAnd:16rFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13713
"/        rgb == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13714
"/            rgb := 16rFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13715
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13716
"/        invColor := rgb
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13717
"/    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13718
"/        invColor := device blackpixel bitXor:device whitepixel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13719
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13720
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13721
    invColor := device blackpixel bitXor:device whitepixel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13722
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13723
"/    gc foreground:(Color colorId:invColor)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13724
"/       background:device blackColor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13725
    device 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13726
	setForeground:invColor background:0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13727
	in:gc gcId.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13728
    gc function:#xor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13729
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13730
    true "DrawOPTrace" ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13731
	'xorMode' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13732
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13733
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13734
    "Created: / 8.1.1998 / 00:36:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13735
    "Modified: / 28.1.1998 / 23:45:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13736
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13737
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13738
_WLabelPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13739
    |jLabelPeer jLabel jFrame frame label
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13740
     lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13741
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13742
    jLabelPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13743
    jLabel := jLabelPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13744
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13745
    lbl := jLabel instVarNamed:'text'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13746
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13747
	lbl := Java as_ST_String:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13748
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13749
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13750
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13751
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13753
    label := Label in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13754
    label sizeFixed:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13755
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13756
	label label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13757
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13758
    self createdWindowsView:label for:jLabelPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13759
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13760
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13761
	'WLabelPeer_create: ' print. frame print. ' -> ' print. label printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13762
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13764
    "Created: / 7.1.1998 / 21:42:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13765
    "Modified: / 13.1.1998 / 22:10:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13766
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13767
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13768
_WLabelPeer_setAlignment:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13769
    |label alignNr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13771
    alignNr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13772
    label := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13773
    label notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13774
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13775
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13776
    "Created: / 7.1.1998 / 21:43:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13777
    "Modified: / 8.1.1998 / 17:35:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13778
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13779
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13780
_WLabelPeer_setText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13781
    |label jString str|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13782
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13783
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13784
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13785
    label := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13786
    jString notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13787
	str := Java as_ST_String:jString
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13788
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13789
    label label:str
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13790
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13791
    "Created: / 7.1.1998 / 21:43:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13792
    "Modified: / 3.12.1998 / 14:59:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13793
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13794
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13795
_WListPeer__addItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13796
    |jString index1 length selListView m|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13797
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13798
    selListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13799
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13800
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13801
    index1 := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13802
    length := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13803
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13804
    (m := selListView model) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13805
	m list addLast:(Java as_ST_String:jString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13806
	m changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13807
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13808
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13809
    "Created: / 26.10.1998 / 20:11:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13810
    "Modified: / 14.11.1998 / 01:21:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13811
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13812
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13813
_WListPeer_addItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13814
    |jString index selListView m|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13815
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13816
    selListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13817
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13818
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13819
    index := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13820
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13821
    m := selListView model.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13822
    m isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13823
	Transcript showCR:'JAVA: access to listModel of closed view'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13824
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13825
	m list addLast:(Java as_ST_String:jString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13826
	m changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13827
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13828
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13829
    "Created: / 24.1.1998 / 21:10:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13830
    "Modified: / 2.11.1998 / 17:12:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13831
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13832
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13833
_WListPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13834
    |jListPeer jFrame frame selectionInListView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13835
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13836
    jListPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13837
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13838
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13839
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13840
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13841
    selectionInListView := ScrollableView for:SelectionInListView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13842
    selectionInListView action:[:index | jListPeer perform:#'handleListChanged(I)V' with:(index - 1)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13843
    selectionInListView doubleClickAction:[:index | jListPeer perform:#'handleAction(I)V' with:(index - 1)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13844
    selectionInListView model:(SelectionInList new list:(List new)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13845
    selectionInListView useIndex:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13846
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13847
    self createdWindowsView:selectionInListView for:jListPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13848
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13849
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13850
	'WTextAreaPeer_create: ' print. frame print. ' -> ' print. selectionInListView printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13851
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13852
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13853
    "Created: / 24.1.1998 / 19:58:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13854
    "Modified: / 9.4.1998 / 22:19:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13855
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13857
_WListPeer_delItems:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13858
    |jString index1 index2 selListView model list|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13860
    selListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13861
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13862
    index1 := (nativeContext argAt:1) + 1. "/ java indices are 0-based.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13863
    index2 := (nativeContext argAt:2) + 1. "/ st indices are 1-based.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13864
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13865
    model := selListView model.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13866
    model isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13867
    list := model list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13868
    list size >= index1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13869
	list removeFromIndex:index1 toIndex:(index2 min:list size).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13870
	model changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13871
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13872
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13873
    "Created: / 9.4.1998 / 22:19:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13874
    "Modified: / 30.12.1998 / 20:00:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13875
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13876
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13877
_WListPeer_deselect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13878
    "/ void deselect (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13879
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13880
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13881
    "Created: / 12.11.1998 / 19:15:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13882
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13883
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13884
_WListPeer_getMaxWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13885
    "/ int getMaxWidth ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13886
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13887
    ^ 1000 "/ a dummy value
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13888
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13889
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13890
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13891
    "Created: / 14.11.1998 / 10:44:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13892
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13893
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13894
_WListPeer_isSelected:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13895
    |selectionInListView index model|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13897
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13898
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13899
    index := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13900
    (model := selectionInListView model) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13901
	(model selectionIndex == (index + 1))  "/ JAVA indexing starts at 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13902
	ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13903
	    ^ 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13904
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13905
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13906
    ^ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13907
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13908
    "Created: / 24.1.1998 / 22:42:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13909
    "Modified: / 25.1.1998 / 01:35:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13910
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13911
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13912
_WListPeer_makeVisible:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13913
    |selectionInListView lineNr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13914
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13915
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13916
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13917
    lineNr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13918
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13919
    selectionInListView makeLineVisible:(lineNr + 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13920
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13921
    "Modified: / 24.1.1998 / 20:01:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13922
    "Created: / 20.10.1998 / 14:14:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13923
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13924
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13925
_WListPeer_select:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13926
    |selectionInListView index model|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13927
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13928
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13929
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13930
    index := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13931
    (model := selectionInListView model) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13932
	model selectionIndex:(index + 1).  "/ JAVA indexing starts at 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13933
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13934
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13935
    "Created: / 24.1.1998 / 22:32:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13936
    "Modified: / 25.1.1998 / 01:28:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13937
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13938
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13939
_WListPeer_setMultipleSelections:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13940
    |selectionInListView onOff|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13942
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13943
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13944
    onOff := (nativeContext argAt:1) ~~ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13945
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13946
    selectionInListView multipleSelectOk:onOff.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13947
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13948
    "Modified: / 24.1.1998 / 20:01:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13949
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13950
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13951
_WListPeer_updateMaxItemWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13952
    |selectionInListView lineNr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13953
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13954
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13955
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13956
    "Created: / 26.10.1998 / 20:09:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13957
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13958
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13959
_WMenuBarPeer_addMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13960
    "/ void addMenu (java.awt.Menu)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13961
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13962
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13963
    "Created: / 12.11.1998 / 19:14:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13964
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13965
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13966
_WMenuBarPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13967
    |jMenuBarPeer jMenuBar jFrame frame menuBar|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13968
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13969
    jMenuBarPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13970
    jMenuBar := jMenuBarPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13971
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13972
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13973
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13974
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13975
    menuBar := MenuPanel in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13976
    menuBar verticalLayout:false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13977
    menuBar realize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13978
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13979
    self createdWindowsView:menuBar for:jMenuBarPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13980
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13981
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13982
	'WMenuBarPeer_create: ' print. frame print. ' -> ' print. menuBar printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13983
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13984
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13985
    "Created: / 7.1.1998 / 21:38:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13986
    "Modified: / 25.1.1998 / 13:19:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13987
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13988
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13989
_WMenuBarPeer_delMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13990
    "/ void delMenu (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13991
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13992
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13993
    "Created: / 12.11.1998 / 19:14:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13994
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13995
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13996
_WMenuItemPeer__dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13997
    |jMenuItemPeer item|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13998
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13999
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14000
    item := jMenuItemPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14001
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14002
"/ what should be done here ?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14003
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14004
    "Created: / 29.3.1998 / 17:16:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14005
    "Modified: / 29.3.1998 / 17:16:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14006
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14007
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14008
_WMenuItemPeer__setLabel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14009
    "/ void _setLabel (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14010
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14011
    |jMenuItemPeer item label|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14012
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14013
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14014
    item := jMenuItemPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14015
    (item isNil or:[item == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14016
	'JAVA [warning]: NULL menu item in setLabel' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14017
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14018
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14019
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14020
    label := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14021
    label isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14022
	label := ''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14023
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14024
	label := Java as_ST_String:label
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14025
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14026
    item label:label.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14027
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14028
    "Modified: / 11.12.1998 / 16:40:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14029
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14030
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14031
_WMenuItemPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14032
    |jMenuItemPeer jMenuItem jMenuPeer menu item lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14034
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14035
    jMenuItem := jMenuItemPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14036
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14037
    jMenuPeer := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14038
    menu := jMenuPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14039
    (menu isNil or:[menu == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14040
	'JAVA: no menu to create item in' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14041
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14042
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14043
    item := menu createAtIndex:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14044
    item value:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14045
		jMenuItemPeer perform:#'handleAction(I)V' with:0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14046
	       ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14047
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14048
    lbl := jMenuItem instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14049
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14050
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14051
	item label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14052
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14053
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14054
    jMenuItemPeer instVarNamed:'pData' put:item.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14055
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14056
    WindowOPTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14057
	'WMenuItem_create: ' print. menu print. ' -> ' print. item printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14058
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14059
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14060
    "Created: / 7.1.1998 / 21:40:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14061
    "Modified: / 3.12.1998 / 20:43:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14062
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14063
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14064
_WMenuItemPeer_enable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14065
    |jMenuItemPeer item state|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14066
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14067
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14068
    item := jMenuItemPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14069
    (item isNil or:[item == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14070
	'JAVA [warning]: NULL menu item in enable' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14071
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14072
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14073
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14074
    state := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14075
    item enabled:(state ~~ 0)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14076
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14077
    "Created: / 7.1.1998 / 22:41:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14078
    "Modified: / 11.12.1998 / 16:40:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14079
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14080
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14081
_WMenuPeer_addSeparator:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14082
    "/ void addSeparator ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14083
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14084
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14085
    "Created: / 12.11.1998 / 19:13:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14086
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14087
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14088
_WMenuPeer_createMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14089
    |jMenuPeer jMenu jMenuBarPeer menuPanel menu
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14090
     lbl item|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14091
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14092
    jMenuPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14093
    jMenu := jMenuPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14094
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14095
    jMenuBarPeer := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14096
    menuPanel := jMenuBarPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14097
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14098
    item := menuPanel createAtIndex:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14099
    lbl := jMenu instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14100
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14101
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14102
	item label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14103
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14105
    menu := MenuPanel new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14106
    item submenu:menu.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14107
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14108
    jMenuPeer instVarNamed:'pData' put:menu.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14109
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14110
'createMenuPeer: ' print. menuPanel print. ' -> ' print. menu printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14111
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14112
    "Created: / 7.1.1998 / 21:39:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14113
    "Modified: / 13.1.1998 / 22:11:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14114
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14115
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14116
_WMenuPeer_createSubMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14117
    "/ void createSubMenu (sun.awt.windows.WMenuPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14118
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14119
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14120
    "Created: / 12.11.1998 / 19:13:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14121
    "Modified: / 3.12.1998 / 21:41:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14122
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14124
_WMenuPeer_delItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14125
    "/ void delItem (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14126
    |jMenuPeer jMenu menuPanel itemIndex|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14127
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14128
    jMenuPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14129
    menuPanel := jMenuPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14131
    itemIndex := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14132
    menuPanel remove:itemIndex.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14134
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14135
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14136
    "Created: / 12.11.1998 / 19:13:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14137
    "Modified: / 10.12.1998 / 21:12:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14138
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14139
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14140
_WPanelPeer_calculateInsets:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14141
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14142
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14143
    "Created: / 27.1.1998 / 21:40:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14144
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14145
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14146
_WPopupMenuPeer__show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14147
    "/ void _show (java.awt.Event)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14148
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14149
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14150
    "Created: / 12.11.1998 / 19:12:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14151
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14152
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14153
_WPopupMenuPeer_createMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14154
    "/ void createMenu (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14155
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14156
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14157
    "Created: / 12.11.1998 / 19:12:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14158
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14159
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14160
_WPrintJob_end:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14161
    "/ void end ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14162
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14164
    "Created: / 12.11.1998 / 19:11:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14165
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14167
_WScrollPanePeer__getHScrollbarHeight:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14168
    |scrollPane|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14169
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14170
    scrollPane := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14171
    ^ HorizontalScrollBar new preferredExtent y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14172
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14173
    "Created: / 9.4.1998 / 17:30:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14174
    "Modified: / 10.4.1998 / 14:59:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14175
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14176
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14177
_WScrollPanePeer__getVScrollbarWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14178
    |scrollPane|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14179
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14180
    scrollPane := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14181
    ^ ScrollBar new preferredExtent x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14182
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14183
    "Created: / 9.4.1998 / 17:29:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14184
    "Modified: / 10.4.1998 / 15:00:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14185
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14186
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14187
_WScrollPanePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14188
    |jScrollPanePeer jScrollPane jFrame frame scrollPane
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14189
     lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14190
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14191
    jScrollPanePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14192
    jScrollPane := jScrollPanePeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14193
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14194
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14195
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14196
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14197
    "/ create with a simple view ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14198
    scrollPane := ScrollableView for:JavaView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14199
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14200
    self createdWindowsView:scrollPane for:jScrollPanePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14201
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14202
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14203
	'WScrollPanePeer_create: ' print. frame print. ' -> ' print. scrollPane printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14204
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14206
    "Created: / 9.4.1998 / 17:25:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14207
    "Modified: / 9.4.1998 / 22:06:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14208
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14209
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14210
_WScrollPanePeer_getOffset:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14211
    "/ int getOffset (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14212
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14213
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14214
    "Created: / 12.11.1998 / 19:16:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14215
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14216
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14217
_WScrollPanePeer_getScrollChild:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14218
    "/ java.awt.Component getScrollChild ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14219
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14220
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14221
    "Created: / 12.11.1998 / 19:17:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14222
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14224
_WScrollPanePeer_setInsets:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14226
    "Modified: / 9.4.1998 / 17:26:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14227
    "Created: / 9.4.1998 / 17:29:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14228
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14229
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14230
_WScrollPanePeer_setScrollPosition:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14231
    "/ void setScrollPosition (int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14232
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14233
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14234
    "Created: / 12.11.1998 / 19:16:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14235
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14236
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14237
_WScrollPanePeer_setSpans:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14239
    "Created: / 9.4.1998 / 17:31:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14240
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14241
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14242
_WScrollbarPeer__setValues:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14243
    |scrollBar value visibleAmount min max|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14244
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14245
    scrollBar := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14246
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14247
    value := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14248
    visibleAmount := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14249
    min := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14250
    max := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14251
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14252
    (min ~~ 0 or:[max ~~ 100]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14253
	scrollBar thumb start:min stop:max.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14254
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14256
    scrollBar thumbOrigin:value thumbHeight:visibleAmount.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14258
    "Created: / 13.1.1998 / 22:13:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14259
    "Modified: / 14.10.1998 / 14:53:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14260
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14261
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14262
_WScrollbarPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14263
    |jScrollbarPeer jScrollbar jFrame frame scrollBar
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14264
     min max|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14265
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14266
    jScrollbarPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14267
    jScrollbar := jScrollbarPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14268
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14269
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14270
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14271
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14272
    (jScrollbar instVarNamed:'orientation') == 0 "HORIZONTAL" ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14273
	scrollBar := HorizontalScrollBar in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14274
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14275
	scrollBar := ScrollBar in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14276
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14277
    min := jScrollbar instVarNamed:'minimum'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14278
    max := jScrollbar instVarNamed:'maximum'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14279
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14280
    scrollBar scrollDownAction:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14281
			scrollBar thumbOrigin:(scrollBar thumbOrigin + ((max-min)/10) min:max).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14282
			jScrollbarPeer perform:#'dragAbsolute(I)V' with:scrollBar thumbOrigin rounded.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14283
		     ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14284
    scrollBar scrollUpAction:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14285
			scrollBar thumbOrigin:(scrollBar thumbOrigin - ((max-min)/10) max:min).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14286
			jScrollbarPeer perform:#'dragAbsolute(I)V' with:scrollBar thumbOrigin rounded.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14287
		     ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14288
    scrollBar scrollAction:[:org |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14289
			jScrollbarPeer perform:#'dragAbsolute(I)V' with:org rounded.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14290
		     ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14291
    self createdWindowsView:scrollBar for:jScrollbarPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14292
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14293
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14294
	'WScrollbarPeer_create: ' print. frame print. ' -> ' print. scrollBar printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14295
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14297
    "Created: / 5.1.1998 / 01:53:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14298
    "Modified: / 14.10.1998 / 15:36:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14299
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14300
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14301
_WScrollbarPeer_setLineIncrement:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14302
    |scrollBar inc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14304
Transcript showCR:'JavaVM: WScrollbarPeer_setLineIncrement unimplemented'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14305
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14306
    scrollBar := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14307
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14308
    inc := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14309
"/    scrollBar thumb lineIncrement:inc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14311
    "Created: / 25.1.1998 / 11:52:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14312
    "Modified: / 14.10.1998 / 14:53:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14313
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14314
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14315
_WScrollbarPeer_setPageIncrement:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14316
    |scrollBar inc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14317
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14318
Transcript showCR:'JavaVM: WScrollbarPeer_setPageIncrement unimplemented'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14319
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14320
    scrollBar := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14321
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14322
    inc := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14323
"/    scrollBar thumb pageIncrement:inc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14324
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14325
    "Created: / 25.1.1998 / 11:52:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14326
    "Modified: / 14.10.1998 / 14:54:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14327
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14328
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14329
_WTextAreaPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14330
    |jTextAreaPeer jFrame frame editTextView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14332
    jTextAreaPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14333
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14334
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14335
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14337
    editTextView := HVScrollableView for:EditTextView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14338
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14339
    self createdWindowsView:editTextView for:jTextAreaPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14340
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14341
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14342
	'WTextAreaPeer_create: ' print. frame print. ' -> ' print. editTextView printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14343
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14344
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14345
    "Created: / 7.1.1998 / 21:49:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14346
    "Modified: / 15.1.1998 / 12:56:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14347
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14349
_WTextAreaPeer_insertText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14350
    |textView pos string jstring|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14352
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14353
    (textView isKindOf:ScrollableView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14354
	textView := textView scrolledView
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14355
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14356
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14357
    jstring := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14358
    string := Java as_ST_String:jstring.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14359
    pos := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14361
    textView insert:string at:pos.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14362
    textView cursorToCharacterPosition:pos + string size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14363
    textView makeCursorVisible.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14364
"/ textView invalidateRepairNow:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14365
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14366
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14367
    "Created: / 7.1.1998 / 21:50:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14368
    "Modified: / 5.4.1998 / 17:37:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14369
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14370
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14371
_WTextAreaPeer_replaceText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14372
    "/ void replaceText (java.lang.String int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14373
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14374
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14375
    "Created: / 12.11.1998 / 19:11:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14376
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14378
_WTextComponentPeer_enableEditing:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14379
    |textView enabled|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14380
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14381
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14382
    enabled := (nativeContext argAt:1) ~~ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14383
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14384
    ^ textView readOnly:enabled not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14385
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14386
    "Created: / 5.1.1998 / 01:29:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14387
    "Modified: / 25.1.1998 / 16:29:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14388
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14389
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14390
_WTextComponentPeer_getSelectionEnd:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14391
    |textView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14392
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14393
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14394
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14395
    ^ textView characterPositionOfSelectionEnd
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14396
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14397
    "Created: / 8.1.1998 / 17:41:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14398
    "Modified: / 15.1.1998 / 15:47:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14399
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14400
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14401
_WTextComponentPeer_getSelectionStart:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14402
    |textView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14403
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14404
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14405
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14406
    ^ textView characterPositionOfSelection - 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14407
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14408
    "Created: / 15.8.1997 / 15:45:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14409
    "Modified: / 15.1.1998 / 15:46:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14410
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14411
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14412
_WTextComponentPeer_getText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14413
    |textView string jString|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14414
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14415
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14416
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14417
    string := textView contents asString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14418
    jString := Java as_String:string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14419
    ^ jString
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14421
    "Created: / 6.1.1998 / 21:05:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14422
    "Modified: / 8.1.1998 / 17:36:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14423
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14424
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14425
_WTextComponentPeer_select:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14426
    |textView selStart selEnd|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14427
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14428
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14429
    selStart := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14430
    selEnd := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14432
    selStart == selEnd ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14433
	"/ clear selection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14434
	textView unselect.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14435
	"/ and set caret
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14436
	textView cursorToCharacterPosition:selStart + 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14437
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14438
	"/ change selection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14439
	textView selectFromCharacterPosition:selStart+1 to:selEnd
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14440
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14441
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14442
    "Created: / 15.8.1997 / 15:45:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14443
    "Modified: / 15.1.1998 / 21:55:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14444
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14445
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14446
_WTextComponentPeer_setText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14447
    |textView string jstring|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14448
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14449
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14450
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14451
    jstring := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14452
    jstring notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14453
	string := Java as_ST_String:jstring
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14454
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14455
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14456
    textView contents:string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14457
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14458
    "Created: / 5.1.1998 / 01:28:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14459
    "Modified: / 11.12.1998 / 12:16:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14460
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14461
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14462
_WTextFieldPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14463
    |jTextFieldPeer jFrame frame editField|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14464
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14465
    jTextFieldPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14466
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14467
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14468
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14469
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14470
    editField := EditField in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14471
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14472
    self createdWindowsView:editField for:jTextFieldPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14473
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14474
    editField crAction:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14475
			jTextFieldPeer perform:#handleAction.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14476
		  ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14477
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14478
	'WTextFieldPeer_create: ' print. frame print. ' -> ' print. editField printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14479
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14480
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14481
    "Created: / 5.1.1998 / 01:27:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14482
    "Modified: / 4.11.1998 / 21:07:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14483
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14484
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14485
_WTextFieldPeer_setEchoCharacter:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14486
    |editField char|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14487
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14488
    editField := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14489
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14490
    char := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14491
    editField passwordCharacter:(Character value:char).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14492
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14493
    "Created: / 25.1.1998 / 16:28:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14494
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14495
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14496
_WToolkit_beep:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14497
    "/ void beep ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14498
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14499
    Screen current beep
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14500
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14501
    "Created: / 12.11.1998 / 19:09:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14502
    "Modified: / 11.12.1998 / 12:15:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14503
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14504
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14505
_WToolkit_eventLoop:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14506
    (JavaEventThread notNil and:[JavaEventThread isDead not]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14507
	'JavaVM [warning]: oops - two threads executing eventLoop' errorPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14508
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14509
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14510
    JavaEventThread := Processor activeProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14511
    [
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14512
	[true] whileTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14513
	    AbortSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14514
		ex return
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14515
	    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14516
		self doWindowsEventThread.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14517
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14518
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14519
    ] valueNowOrOnUnwindDo:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14520
	JavaEventThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14521
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14522
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14523
    "Created: / 6.1.1998 / 21:01:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14524
    "Modified: / 8.1.1999 / 17:08:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14525
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14526
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14527
_WToolkit_getComboHeightOffset:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14528
    ^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14529
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14530
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14531
    "Created: / 22.10.1998 / 00:59:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14532
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14533
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14534
_WToolkit_getScreenHeight:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14535
    ^ Screen current height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14536
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14537
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14538
    "Created: / 13.1.1998 / 09:24:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14539
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14541
_WToolkit_getScreenResolution:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14542
    ^ Screen current resolution x rounded
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14543
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14544
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14545
    "Created: / 17.1.1998 / 21:54:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14546
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14547
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14548
_WToolkit_getScreenWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14549
    ^ Screen current width
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14551
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14552
    "Created: / 13.1.1998 / 09:24:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14553
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14555
_WToolkit_init:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14556
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14557
    "Created: / 3.1.1998 / 02:30:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14558
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14559
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14560
_WToolkit_loadSystemColors:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14561
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14562
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14563
    "Modified: / 18.3.1997 / 18:43:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14564
    "Created: / 5.1.1998 / 02:19:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14565
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14566
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14567
_WToolkit_makeColorModel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14568
    "/ java.awt.image.ColorModel makeColorModel ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14569
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14570
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14571
    "Created: / 12.11.1998 / 19:08:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14572
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14573
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14574
_WToolkit_sync:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14575
    "/ void sync ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14576
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14577
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14578
    "Created: / 12.11.1998 / 19:09:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14579
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14580
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14581
_WWindowPeer__setResizable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14582
    |view onOff|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14583
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14584
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14585
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14586
    onOff := (nativeContext argAt:1) == 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14587
    view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14588
	onOff ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14589
	    view minExtent:10@10.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14590
	    view maxExtent:(Screen current extent).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14591
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14592
	    view minExtent:view extent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14593
	    view maxExtent:view extent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14594
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14595
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14596
	(view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14597
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14598
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14599
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14600
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14601
"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14602
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14603
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14604
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14605
    "Created: / 5.1.1998 / 00:57:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14606
    "Modified: / 16.1.1998 / 18:08:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14607
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14608
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14609
_WWindowPeer__setTitle:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14610
    |view jString string|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14611
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14612
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14613
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14614
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14615
    string := Java as_ST_String:jString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14616
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14617
"/ 'JAVA: WWindowPeer_pSetTitle: ' print. string print. ' ' print. view printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14618
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14619
    view label:string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14620
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14621
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14622
    "Created: / 5.1.1998 / 00:57:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14623
    "Modified: / 8.1.1998 / 17:37:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14624
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14625
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14626
_WWindowPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14627
    "/ void create (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14628
    |jWindowPeer jWindow top window pDataIdx|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14629
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14630
    jWindowPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14631
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14632
    jWindow := jWindowPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14633
    window := jWindowPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14634
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14635
    (window notNil and:[window ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14636
	WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14637
	    'JAVA: window view already created: ' infoPrint.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14638
	    jWindowPeer class name infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14639
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14640
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14641
"/ OLD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14642
"/        window := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14643
"/        self createdWindowsView:window for:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14644
"/        JavaWindowGroup addTopView:window.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14645
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14646
	window := JavaPopUpView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14647
	window borderWidth:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14648
	window level:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14649
	window delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14650
	window javaPeer:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14651
	self createdWindowsView:window for:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14652
	JavaWindowGroup addTopView:window.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14653
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14654
"/        top := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14655
"/        window := JavaView origin:0.0@0.0 corner:1.0@1.0 in:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14656
"/        window delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14657
"/        window javaPeer:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14658
"/        self createdWindowsView:window for:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14659
"/        JavaWindowGroup addTopView:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14660
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14661
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14662
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14663
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14664
	'JAVA: WWindowPeer_create: ' print. jWindowPeer displayString print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14665
	' window: ' print. window printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14666
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14667
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14668
    "Created: / 4.1.1998 / 17:56:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14669
    "Modified: / 4.12.1998 / 17:37:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14670
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14671
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14672
_WWindowPeer_getContainerElement:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14673
    "/ java.awt.Component getContainerElement (java.awt.Container int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14674
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14675
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14676
    "Created: / 12.11.1998 / 19:10:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14677
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14678
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14679
_WWindowPeer_toBack:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14680
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14681
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14682
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14683
    view lower.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14684
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14685
    "Created: / 7.5.1998 / 00:23:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14686
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14687
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14688
_WWindowPeer_toFront:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14689
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14691
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14692
    view raise.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14693
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14694
    "Created: / 9.4.1998 / 22:17:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14695
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14696
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14697
_WWindowPeer_updateInsets:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14698
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14699
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14700
    "Modified: / 18.3.1997 / 18:43:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14701
    "Created: / 4.1.1998 / 18:09:04 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14702
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14703
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14704
_Win32Process_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14705
    "really create a win32 process"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14706
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14707
    |env cmd jProcess p inPipe outPipe errorPipe|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14708
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14709
    jProcess := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14710
    cmd := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14711
    cmd := Java as_ST_String:cmd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14712
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14713
    env := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14714
    env notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14715
	self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14716
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14717
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14718
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14719
    p := Win32Process new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14720
    p command:cmd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14721
    p environment:env.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14722
    p inStream:inPipe.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14723
    p outStream:outPipe.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14724
    p errorStream:errorPipe.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14725
    p directory:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14726
    p startProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14727
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14728
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14729
    jProcess instVarNamed:'handle' put:p.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14730
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14731
    "Created: / 10.11.1998 / 19:50:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14732
    "Modified: / 10.11.1998 / 21:34:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14733
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14734
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14735
_X11FontMetrics_getMFCharSegmentWidth:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14736
    "get multi-font string-segment width.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14737
     Not yet supported - use standard strings width"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14738
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14739
    |jMetrics jFont jFontDescr stFont w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14740
     bool1 cp offs lenght bp int1|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14741
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14742
    jMetrics := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14743
    jFont := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14744
    jFontDescr := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14745
    cp := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14746
    lenght := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14747
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14748
    stFont := jFont instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14749
    (stFont isNil or:[stFont == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14750
        self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14751
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14752
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14753
    stFont device isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14754
        stFont := stFont on:Display.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14755
        jFont instVarNamed:'pData' put:stFont.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14756
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14757
    w := stFont widthOf:cp from:1 to:lenght.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14758
    ^ w.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14759
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14760
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14761
_X11FontMetrics_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14762
    ^ self _WFontMetrics_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14763
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14764
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14765
_X11GraphicsDevice_getConfigType:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14766
    "/ new with jdk1.2 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14767
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14768
    |configNr cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14769
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14770
    "/ for now, only one config.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14771
    configNr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14773
    cls := Java classNamed:'java.awt.GraphicsDevice'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14774
    ^ cls instVarNamed:'TYPE_RASTER_SCREEN'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14775
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14776
    "Created: / 28.1.1998 / 22:19:05 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14777
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14778
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14779
_X11GraphicsDevice_getNumConfigs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14780
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14781
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14782
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14783
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14784
    "Created: / 28.1.1998 / 22:13:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14785
    "Modified: / 28.1.1998 / 22:14:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14786
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14787
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14788
_X11GraphicsEnvironment_getNumScreens:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14789
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14790
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14791
    "/ could return the actual number of screens ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14792
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14793
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14794
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14795
    "Created: / 28.1.1998 / 01:50:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14796
    "Modified: / 28.1.1998 / 22:12:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14797
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14798
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14799
_X11GraphicsEnvironment_initDisplay:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14800
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14801
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14802
    "Created: / 28.1.1998 / 01:50:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14803
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14804
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14805
_X11Graphics_changeClip:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14806
    ^ self _WGraphics_changeClip:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14807
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14808
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14809
_X11Graphics_createFromComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14810
    ^ self _WGraphics_createFromComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14811
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14812
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14813
_X11Graphics_disposeImpl:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14814
    ^ self _WGraphics_dispose:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14815
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14816
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14817
_X11Graphics_drawMFCharsSegment:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14818
    ^ self _WGraphics_drawMFCharsSegment:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14819
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14820
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14821
_X11Graphics_drawRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14822
    ^ self _WGraphics_drawRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14823
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14824
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14825
_X11Graphics_fillOval:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14826
    ^ self _WGraphics_fillOval:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14827
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14828
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14829
_X11Graphics_fillRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14830
    ^ self _WGraphics_fillRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14831
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14832
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14833
_X11Graphics_pSetFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14834
    ^ self _WGraphics_pSetFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14835
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14836
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14837
_X11Graphics_pSetForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14838
    ^ self _WGraphics_pSetForeground:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14839
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14840
1090
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14841
!JavaVM class methodsFor:'native - stx.libjava.tests'!
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14842
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14843
_stx_libjava_tests_MonitorTests_abort: nativeContext
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14844
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14845
    <javanative: 'stx/libjava/tests/MonitorTests' name: 'abort()V'>
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14846
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14847
    AbortOperationRequest raiseRequest.
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14848
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14849
    "Modified: / 04-11-2011 / 21:50:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14850
! !
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 14851
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14852
!JavaVM class methodsFor:'native - sun.io'!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14853
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14854
_sun_io_Win32ErrorMode_setErrorMode: nativeContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14855
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14856
    <javanative: 'sun/io/Win32ErrorMode' name: 'setErrorMode(J)J'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14857
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14858
    "FIXME: Ignored for now"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14859
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14860
    ^0
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 14861
! !
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 14862
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14863
!JavaVM class methodsFor:'native - sun.java2d'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14864
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14865
_sun_java2d_Disposer_initIDs: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14866
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14867
    <javanative: 'sun/java2d/Disposer' name: 'initIDs()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14868
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14869
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14870
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14871
850
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14872
!JavaVM class methodsFor:'native - sun.management'!
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14873
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14874
_sun_management_VMManagementImpl_getStartupTime: nativeContext 
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14875
    <javanative: 'sun/management/VMManagementImpl' name: 'getStartupTime()J'>
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14876
    ^ StartupTime.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14877
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14878
    "Modified: / 03-11-2011 / 19:17:57 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14879
!
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14880
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14881
_sun_management_VMManagementImpl_getVersion0: nativeContext 
850
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14882
    <javanative: 'sun/management/VMManagementImpl' name: 'getVersion0'>
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14883
    ^ Java as_String: '1.2'.
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14884
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14885
    "Modified: / 03-11-2011 / 18:42:48 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14886
!
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14887
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14888
_sun_management_VMManagementImpl_initOptionalSupportFields: nativeContext 
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14889
    <javanative: 'sun/management/VMManagementImpl' name: 'initOptionalSupportFields()V'>
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14890
    | cls |
1080
f842a3bac28a playing with tomcat natives
hlopkmar
parents: 1079
diff changeset
 14891
    cls := nativeContext receiver.
1081
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14892
    self breakPoint:#mh.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14893
    cls instVarNamed: #compTimeMonitoringSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14894
    cls instVarNamed: #threadContentionMonitoringSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14895
    cls instVarNamed: #currentThreadCpuTimeSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14896
    cls instVarNamed: #otherThreadCpuTimeSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14897
    cls instVarNamed: #bootClassPathSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14898
    cls instVarNamed: #synchronizerUsageSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14899
    cls instVarNamed: #objectMonitorUsageSupport put: 0.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14900
    ^ self.
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14901
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14902
    "Modified: / 03-11-2011 / 19:29:37 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14903
!
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14904
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14905
_sun_management_VMManagementImpl_isThreadCpuTimeEnabled: nativeContext
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14906
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14907
    <javanative: 'sun/management/VMManagementImpl' name: 'isThreadCpuTimeEnabled()Z'>
0c91ffb1ef21 few more natives.. pls review I have bad feelings about that
hlopkmar
parents: 1080
diff changeset
 14908
1083
vranyj1
parents: 1081
diff changeset
 14909
    ^ 0 "/false should be safe, we'll see...
vranyj1
parents: 1081
diff changeset
 14910
vranyj1
parents: 1081
diff changeset
 14911
    "Modified: / 03-11-2011 / 22:45:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
850
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14912
! !
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14913
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14914
!JavaVM class methodsFor:'native - sun.misc'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14915
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14916
_sun_misc_Signal_findSignal: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14917
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14918
    <javanative: 'sun/misc/Signal' name: 'findSignal'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14919
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14920
        | input signame |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14921
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14922
    input := Java as_ST_String: (aJavaContext argAt: 1).
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14923
    OperatingSystem isUNIXlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14924
        signame := 'SIG', (input asUppercase).
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14925
        ^UnixOperatingSystem signalNamed: signame asSymbol.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14926
    ].
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14927
    OperatingSystem isMSWINDOWSlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14928
        signame := 'sig', (input asUppercase).
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14929
        ^Win32OperatingSystem perform: signame asSymbol.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14930
    ].
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14931
    self error: 'Unsupported OS'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14932
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14933
    "Created: / 11-12-2010 / 15:22:07 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14934
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14935
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14936
_sun_misc_Signal_handle0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14937
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14938
    <javanative: 'sun/misc/Signal' name: 'handle0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14939
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14940
        self breakPoint: #libjava.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14941
    ^ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14942
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14943
    "Created: / 11-12-2010 / 16:33:38 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14944
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14945
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14946
_sun_misc_Unsafe_allocateInstance: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14947
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14948
    <javanative: 'sun/misc/Unsafe' name: 'allocateInstance'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14949
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14950
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14951
    /** Allocate an instance but do not run any constructor.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14952
        Initializes the class if it has not yet been. */
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14953
    public native Object allocateInstance(Class cls)
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14954
        throws InstantiationException;
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14955
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14956
    | cls |
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14957
    cls := self reflection classForJavaClassObject: (nativeContext argAt:1).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14958
    cls classInit.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14959
    ^cls newCleared
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14960
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14961
    "Created: / 05-02-2011 / 23:10:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14962
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14963
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14964
_sun_misc_Unsafe_allocateMemory: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14965
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14966
    <javanative: 'sun/misc/Unsafe' name: 'allocateMemory'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14967
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14968
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14969
    | size |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14970
    size := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14971
    ^SimulatedNativeMemory malloc: size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14972
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14973
    "Created: / 07-12-2010 / 21:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14974
    "Modified: / 07-12-2010 / 23:46:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14975
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14976
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14977
_sun_misc_Unsafe_arrayBaseOffset: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14978
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14979
    <javanative: 'sun/misc/Unsafe' name: 'arrayBaseOffset'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14980
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14981
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14982
    * Report the offset of the first element in the storage allocation of a
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14983
    * given array class.  If {@link #arrayIndexScale} returns a non-zero value
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14984
    * for the same class, you may use that scale factor, together with this
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14985
    * base offset, to form new offsets to access elements of arrays of the
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14986
    * given class.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14987
    *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14988
    * @see #getInt(Object, long)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14989
    * @see #putInt(Object, long, int)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14990
    */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14991
    public native int arrayBaseOffset(Class arrayClass);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14992
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14993
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14994
    ^ 1
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14995
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14996
    "Modified (comment): / 10-08-2011 / 01:22:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14997
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14998
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14999
_sun_misc_Unsafe_arrayIndexScale: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15000
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15001
    <javanative: 'sun/misc/Unsafe' name: 'arrayIndexScale'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15002
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15003
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15004
      /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15005
      * Report the scale factor for addressing elements in the storage
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15006
      * allocation of a given array class.  However, arrays of 'narrow' types
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15007
      * will generally not work properly with accessors like {@link
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15008
      * #getByte(Object, int)}, so the scale factor for such classes is reported
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15009
      * as zero.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15010
      *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15011
      * @see #arrayBaseOffset
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15012
      * @see #getInt(Object, long)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15013
      * @see #putInt(Object, long, int)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15014
      */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15015
    public native int arrayIndexScale(Class arrayClass);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15016
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15017
    ^ 1
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15018
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15019
    "Modified: / 10-08-2011 / 01:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15020
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15021
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15022
_sun_misc_Unsafe_compareAndSwapInt: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15023
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15024
    <javanative: 'sun/misc/Unsafe' name: 'compareAndSwapInt'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15025
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15026
    ^self _sun_misc_Unsafe_compareAndSwapObject: aJavaContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15027
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15028
    "Created: / 22-11-2010 / 18:40:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15029
    "Modified: / 07-08-2011 / 21:50:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15030
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15031
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15032
_sun_misc_Unsafe_compareAndSwapLong: aJavaContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15033
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15034
    <javanative: 'sun/misc/Unsafe' name: 'compareAndSwapLong'>
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15035
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15036
        "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15037
    /**
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15038
     * Atomically update Java variable to <tt>x</tt> if it is currently
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15039
     * holding <tt>expected</tt>.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15040
     * @return <tt>true</tt> if successful
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15041
     */
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15042
    public final native boolean compareAndSwapInt(Object o, long offset,
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15043
                                                  long expected,
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15044
                                                  long new);
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15045
    "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15046
    | o offset expected real new ok |
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15047
    o := aJavaContext argAt:1.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15048
    offset := aJavaContext argAt:2.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15049
    "offset is long, so aJavaContext at:3 is dummy nil!!!!!!"
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15050
    expected := aJavaContext argAt:4.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15051
    new := aJavaContext argAt:6.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15052
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15053
    OperatingSystem blockInterrupts.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15054
    real := o instVarAt: offset.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15055
    (real == expected)
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15056
            ifTrue:[o instVarAt: offset put: new. ok := 1]
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15057
            ifFalse:[ok := 1].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15058
    OperatingSystem unblockInterrupts.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15059
    ^ok
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15060
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15061
    "Modified: / 18-10-2011 / 21:59:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15062
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15063
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15064
_sun_misc_Unsafe_compareAndSwapObject: aJavaContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15065
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15066
    <javanative: 'sun/misc/Unsafe' name: 'compareAndSwapInt'>
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15067
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15068
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15069
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15070
     * Atomically update Java variable to <tt>x</tt> if it is currently
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15071
     * holding <tt>expected</tt>.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15072
     * @return <tt>true</tt> if successful
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15073
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15074
    public final native boolean compareAndSwapInt(Object o, long offset,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15075
                                                  int expected,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15076
                                                  int new);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15077
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15078
    | o offset expected real new ok |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15079
    o := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15080
    offset := aJavaContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15081
    "offset is long, so aJavaContext at:3 is dummy nil!!!!!!"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15082
    expected := aJavaContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15083
    new := aJavaContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15084
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15085
    OperatingSystem blockInterrupts.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15086
    real := o instVarAt: offset.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15087
    (real == expected)
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15088
            ifTrue:[o instVarAt: offset put: new. ok := 1]
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15089
            ifFalse:[ok := 1].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15090
    OperatingSystem unblockInterrupts.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15091
    ^ok
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15092
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 15093
    "Modified: / 07-08-2011 / 21:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15094
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15095
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15096
_sun_misc_Unsafe_defineClass: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15097
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15098
    <javanative: 'sun/misc/Unsafe' name: 'defineClass'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15099
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15100
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15101
    /**
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15102
     * Tell the VM to define a class, without security checks.  By default, the
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15103
     * class loader and protection domain come from the caller's class.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15104
     */
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15105
    public native Class defineClass(String name, byte[] b, int off, int len,
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15106
                                    ClassLoader loader,
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15107
                                    ProtectionDomain protectionDomain);
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15108
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15109
    | name b off len loader protectionDomain bs cls |
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15110
    name := nativeContext argAt: 1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15111
    b := nativeContext argAt: 2.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15112
    off := nativeContext argAt: 3.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15113
    len := nativeContext argAt: 4.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15114
    loader := nativeContext argAt: 5.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15115
    protectionDomain := nativeContext argAt: 6.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15116
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15117
    bs := (off = 0 and: [len = b size]) 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15118
            ifTrue:[b readStream]
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15119
            ifFalse:[(b copyFrom: off + 1 to: off + len) readStream].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15120
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15121
    cls := JavaClassReader readStream: bs.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15122
    cls classLoader: loader.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15123
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15124
    ^self reflection javaClassObjectForClass: cls.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15125
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15126
    "Created: / 05-02-2011 / 22:57:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15127
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15128
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15129
_sun_misc_Unsafe_ensureClassInitialized: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15130
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15131
    <javanative: 'sun/misc/Unsafe' name: 'ensureClassInitialized'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15132
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15133
        |class|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15134
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15135
    class := self reflection classForJavaClassObject:(aJavaContext argAt:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15136
     "Sometimes there is a nil. I don't know why, so I did quickfix"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15137
    self breakPoint:#libjava.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15138
    class ifNotNil:[class classInit.].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15139
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15140
    "Created: / 11-12-2010 / 15:01:36 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15141
    "Modified: / 25-12-2010 / 09:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15142
    "Modified: / 08-01-2011 / 15:11:21 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15143
    "Modified: / 28-01-2011 / 15:19:31 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15144
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15145
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15146
_sun_misc_Unsafe_freeMemory: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15147
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15148
    <javanative: 'sun/misc/Unsafe' name: 'freeMemory'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15149
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15150
         | address  |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15151
    address := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15152
    ^SimulatedNativeMemory free: address
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15153
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15154
    "Created: / 09-12-2010 / 17:56:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15155
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15156
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15157
_sun_misc_Unsafe_getBoolean: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15158
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15159
    <javanative: 'sun/misc/Unsafe' name: 'getBoolean(Ljava/lang/Object;J)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15160
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15161
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15162
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15163
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15164
_sun_misc_Unsafe_getByte: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15165
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15166
    <javanative: 'sun/misc/Unsafe' name: 'getByte'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15167
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15168
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15169
     | address  |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15170
    address := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15171
    ^SimulatedNativeMemory byteAt: address
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15172
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15173
    "Created: / 09-12-2010 / 17:29:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15174
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15175
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15176
_sun_misc_Unsafe_getFloatVolatile: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15177
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15178
    <javanative: 'sun/misc/Unsafe' name: 'getFloatVolatile(Ljava/lang/Object;J)F'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15179
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15180
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15181
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15182
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15183
_sun_misc_Unsafe_getInt: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15184
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15185
    <javanative: 'sun/misc/Unsafe' name: 'getInt'>
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15186
    "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15187
    /**
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15188
    * Fetches a integer value from a given Java variable.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15189
    */
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15190
    public native int getInt(Object o, long offset);
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15191
    "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15192
    | o offset |
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15193
    o := nativeContext argAt: 1.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15194
    offset := nativeContext argAt: 2.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15195
    ^o instVarAt: offset
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15196
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15197
    "Modified: / 18-10-2011 / 20:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15198
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15199
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15200
_sun_misc_Unsafe_getLongVolatile: nativeContext
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15201
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15202
    <javanative: 'sun/misc/Unsafe' name: 'getLongVolatile(Ljava/lang/Object;J)J'>
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15203
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15204
    | o offset |
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15205
    o := nativeContext argAt: 1.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15206
    offset := nativeContext argAt: 2.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15207
    ^o instVarAt: offset
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15208
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15209
    "Modified: / 31-08-2011 / 23:57:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15210
!
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15211
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15212
_sun_misc_Unsafe_getObject: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15213
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15214
    <javanative: 'sun/misc/Unsafe' name: 'getObject'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15215
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15216
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15217
    * Fetches a reference value from a given Java variable.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15218
    * @see #getInt(Object, long)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15219
    */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15220
    public native Object getObject(Object o, long offset);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15221
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15222
    | o offset |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15223
    o := nativeContext argAt: 1.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15224
    offset := nativeContext argAt: 2.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15225
    ^o instVarAt: offset
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15226
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15227
    "Modified: / 10-08-2011 / 01:40:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15228
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15229
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15230
_sun_misc_Unsafe_getObjectVolatile: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15231
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15232
    <javanative: 'sun/misc/Unsafe' name: 'getObjectVolatile(Ljava/lang/Object;J)Ljava/lang/Object;'>
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15233
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15234
    /**
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15235
    * Fetches a reference value from a given Java variable, with volatile
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15236
    * load semantics. Otherwise identical to {@link #getObject(Object, long)}
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15237
    */
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15238
    public native Object getObjectVolatile(Object o, long offset);
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15239
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15240
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15241
    | o offset |
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15242
    o := nativeContext argAt: 1.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15243
    offset := nativeContext argAt: 2.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15244
    ^o instVarAt: offset
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15245
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15246
    "Modified (comment): / 17-08-2011 / 09:42:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15247
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15248
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15249
_sun_misc_Unsafe_objectFieldOffset: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15250
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15251
    <javanative: 'sun/misc/Unsafe' name: 'objectFieldOffset'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15252
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15253
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15254
    | javaFieldObject |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15255
    javaFieldObject := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15256
    ^javaFieldObject instVarNamed: #slot
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15257
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15258
    "Created: / 22-11-2010 / 17:58:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15259
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15260
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15261
_sun_misc_Unsafe_pageSize: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15262
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15263
    <javanative: 'sun/misc/Unsafe' name: 'pageSize'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15264
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15265
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15266
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 15267
1053
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15268
_sun_misc_Unsafe_putBoolean: nativeContext
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15269
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15270
    <javanative: 'sun/misc/Unsafe' name: 'putBoolean(Ljava/lang/Object;JZ)V'>
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15271
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15272
    "Like putInt:, see _sun_misc_Unsafe_putInt:"
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15273
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15274
    | o offset x |
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15275
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15276
    o := nativeContext argAt: 1.
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15277
    offset := nativeContext argAt: 2.
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15278
    x := nativeContext argAt: 4.
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15279
    ^o instVarAt: offset put: x.
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15280
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15281
    "Modified: / 27-10-2011 / 16:23:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15282
!
8ea28b9a7cb0 Few fixes for class loaders
vranyj1
parents: 1042
diff changeset
 15283
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15284
_sun_misc_Unsafe_putDouble: nativeContext
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15285
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15286
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(Ljava/lang/Object;JD)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15287
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(JD)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15288
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15289
    | o offset x |
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15290
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15291
    nativeContext numArgs == 5 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15292
        "putDouble(Ljava/lang/Object;JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15293
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15294
        offset := nativeContext argAt: 2.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15295
        x := nativeContext argAt: 4.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15296
        o instVarAt: offset put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15297
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15298
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15299
    nativeContext numArgs == 4 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15300
        "putDouble(JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15301
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15302
        x := nativeContext argAt: 3.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15303
        SimulatedNativeMemory doubleAt: o put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15304
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15305
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15306
    self internalError:'Unknown variant of putDouble() native!!'
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15307
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15308
    "Modified: / 30-08-2011 / 15:58:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15309
!
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15310
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15311
_sun_misc_Unsafe_putInt: nativeContext
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15312
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15313
    <javanative: 'sun/misc/Unsafe' name: 'putInt'>
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15314
    "
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15315
    /**
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15316
     * Stores a value into a given Java variable.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15317
     * <p>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15318
     * The first two parameters are interpreted exactly as with
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15319
     * {@link #getInt(Object, long)} to refer to a specific
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15320
     * Java variable (field or array element).  The given value
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15321
     * is stored into that variable.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15322
     * <p>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15323
     * The variable must be of the same type as the method
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15324
     * parameter <code>x</code>.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15325
     *
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15326
     * @param o Java heap object in which the variable resides, if any, else
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15327
     *        null
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15328
     * @param offset indication of where the variable resides in a Java heap
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15329
     *        object, if any, else a memory address locating the variable
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15330
     *        statically
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15331
     * @param x the value to store into the indicated Java variable
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15332
     * @throws RuntimeException No defined exceptions are thrown, not even
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15333
     *         {@link NullPointerException}
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15334
     */
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15335
    public native void putInt(Object o, long offset, int x);
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15336
    "
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15337
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15338
    | o offset x |
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15339
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15340
    o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15341
    offset := nativeContext argAt: 2.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15342
    x := nativeContext argAt: 4.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15343
    ^o instVarAt: offset put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15344
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15345
    "Modified: / 30-08-2011 / 15:48:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15346
!
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15347
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15348
_sun_misc_Unsafe_putLong: nativeContext
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15349
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15350
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(Ljava/lang/Object;JJ)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15351
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(JJ)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15352
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15353
    | o offset x |
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15354
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15355
    nativeContext numArgs == 5 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15356
        "putDouble(Ljava/lang/Object;JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15357
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15358
        offset := nativeContext argAt: 2.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15359
        x := nativeContext argAt: 4.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15360
        o instVarAt: offset put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15361
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15362
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15363
    nativeContext numArgs == 4 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15364
        "putDouble(JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15365
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15366
        x := nativeContext argAt: 3.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15367
        SimulatedNativeMemory longAt: o put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15368
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15369
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15370
    self internalError:'Unknown variant of putLong() native!!'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15371
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15372
    "Created: / 07-12-2010 / 23:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 15373
    "Modified: / 30-08-2011 / 16:01:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15374
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15375
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15376
_sun_misc_Unsafe_putObject: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15377
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15378
    <javanative: 'sun/misc/Unsafe' name: 'putObject'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15379
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15380
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15381
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15382
     * Stores a reference value into a given Java variable.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15383
     * <p>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15384
     * Unless the reference <code>x</code> being stored is either null
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15385
     * or matches the field type, the results are undefined.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15386
     * If the reference <code>o</code> is non-null, car marks or
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15387
     * other store barriers for that object (if the VM requires them)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15388
     * are updated.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15389
     * @see #putInt(Object, int, int)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15390
     */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15391
     public native void putObject(Object o, long offset, Object x);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15392
     "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15393
     | o offset x |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15394
     o := nativeContext argAt: 1.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15395
     offset := nativeContext argAt: 2.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15396
     x := nativeContext argAt: 4.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15397
     ^o instVarAt: offset put: x.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15398
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15399
    "Modified: / 10-08-2011 / 01:40:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15400
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 15401
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15402
_sun_misc_Unsafe_putObjectVolatile: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15403
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15404
    <javanative: 'sun/misc/Unsafe' name: 'putObjectVolatile(Ljava/lang/Object;JLjava/lang/Object;)V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15405
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15406
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15407
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15408
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15409
_sun_misc_Unsafe_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15410
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15411
    <javanative: 'sun/misc/Unsafe' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15412
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15413
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15414
     "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15415
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15416
    "Created: / 25-10-2010 / 16:14:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15417
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15418
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15419
_sun_misc_Unsafe_staticFieldBase: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15420
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15421
    <javanative: 'sun/misc/Unsafe' name: 'staticFieldBase(Ljava/lang/reflect/Field;)Ljava/lang/Object;'>
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15422
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15423
      /**
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15424
      * Report the location of a given static field, in conjunction with {@link
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15425
      * #staticFieldOffset}.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15426
      * <p>Fetch the base 'Object', if any, with which static fields of the
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15427
      * given class can be accessed via methods like {@link #getInt(Object,
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15428
      * long)}.  This value may be null.  This value may refer to an object
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15429
      * which is a 'cookie', not guaranteed to be a real Object, and it should
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15430
      * not be used in any way except as argument to the get and put routines in
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15431
      * this class.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15432
      */
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15433
      public native Object staticFieldBase(Field f);
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15434
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15435
     | javaFieldObject javaClassObject |
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15436
     javaFieldObject := nativeContext argAt: 1.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15437
     javaClassObject := javaFieldObject instVarNamed: #clazz.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15438
     ^self classForJavaClassObject: javaClassObject.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15439
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15440
    "Modified: / 17-08-2011 / 09:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15441
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15442
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15443
_sun_misc_Unsafe_staticFieldOffset: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15444
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15445
    <javanative: 'sun/misc/Unsafe' name: 'staticFieldOffset(Ljava/lang/reflect/Field;)J'>
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15446
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15447
    | javaFieldObject |
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15448
    javaFieldObject := nativeContext argAt: 1.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15449
    ^javaFieldObject instVarNamed: #slot
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15450
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15451
    "Modified: / 17-08-2011 / 09:12:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15452
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 15453
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15454
_sun_misc_VM_initialize: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15455
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15456
    <javanative: 'sun/misc/VM' name: 'initialize'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15457
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15458
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15459
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15460
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15461
    "Created: / 26-11-2010 / 18:43:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15462
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15463
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15464
!JavaVM class methodsFor:'native - sun.nio.ch'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15465
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15466
_sun_nio_ch_FileChannelImpl_initIDs: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15467
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15468
    <javanative: 'sun/nio/ch/FileChannelImpl' name: 'initIDs()J'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15469
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15470
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15471
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15472
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15473
!JavaVM class methodsFor:'native - sun.reflect'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15474
873
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15475
_sun_reflect_ConstantPool_getDoubleAt0: nativeContext
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15476
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15477
    <javanative: 'sun/reflect/ConstantPool' name: 'getDoubleAt0'>
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15478
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15479
        | cpool  index  double |
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15480
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15481
    cpool := self reflection constantPoolFor:(nativeContext receiver).
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15482
    index := nativeContext at:3.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15483
     "TODO: why 3?"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15484
    double := cpool at:index.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15485
    self assert:double isFloat description:'Not a float constant!!'.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15486
    ^ double
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15487
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15488
    "Modified: / 25-02-2011 / 18:40:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15489
    "Created: / 28-02-2011 / 17:24:17 / Marcel Hlopko <hlopik@gmail.com>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15490
    "Modified: / 02-11-2011 / 11:24:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
873
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15491
!
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15492
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15493
_sun_reflect_ConstantPool_getIntAt0: nativeContext
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15494
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15495
    <javanative: 'sun/reflect/ConstantPool' name: 'getIntAt0'>
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15496
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15497
        | cpool  index  int |
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15498
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15499
    cpool := self reflection constantPoolFor:(nativeContext receiver).
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15500
    index := nativeContext at:3.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15501
     "TODO: why 3?"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15502
    int := cpool at:index.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15503
    self assert:int isInteger description:'Not an integer constant!!'.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15504
    ^ int
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15505
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15506
    "Modified: / 25-02-2011 / 18:40:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15507
    "Created: / 28-02-2011 / 17:28:10 / Marcel Hlopko <hlopik@gmail.com>"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15508
!
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 15509
859
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15510
_sun_reflect_ConstantPool_getLongAt0: nativeContext
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15511
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15512
    <javanative: 'sun/reflect/ConstantPool' name: 'getLongAt0'>
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15513
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15514
        | cpool  index  long |
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15515
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15516
    cpool := self reflection constantPoolFor:(nativeContext receiver).
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15517
    index := nativeContext at:3.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15518
     "TODO: why 3?"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15519
    long := cpool at:index.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15520
    self assert:long isInteger description:'Not a float constant!!'.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15521
    ^ long
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15522
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15523
    "Modified: / 28-02-2011 / 17:40:02 / Marcel Hlopko <hlopik@gmail.com>"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15524
    "Modified: / 28-02-2011 / 18:54:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15525
!
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15526
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15527
_sun_reflect_ConstantPool_getUTF8At0: nativeContext
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15528
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15529
    <javanative: 'sun/reflect/ConstantPool' name: 'getUTF8At0'>
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15530
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15531
    
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15532
    | cpool index string |
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15533
    cpool := self reflection constantPoolFor: (nativeContext receiver).
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15534
    index := nativeContext at: 3. 
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15535
    "TODO: why 3?"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15536
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15537
    string := cpool at: index.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15538
    self assert: string isString description: 'Not an UTF8 constant!!'.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15539
    ^Java as_String: string
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15540
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15541
    "Created: / 06-02-2011 / 12:56:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15542
!
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 15543
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15544
_sun_reflect_NativeConstructorAccessorImpl_newInstance0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15545
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15546
    <javanative: 'sun/reflect/NativeConstructorAccessorImpl' name: 'newInstance0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15547
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15548
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15549
    | ctor args method instance |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15550
    ctor := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15551
    args := aJavaContext argAt: 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15552
    args ifNil:[args := #()] ifNotNil:[args := args asArray].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15553
    method := self reflection methodForJavaConstructorObject: ctor.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15554
    instance := method javaClass new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15555
    method valueWithReceiver:instance arguments:args.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15556
    ^instance
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15557
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15558
    "Created: / 26-11-2010 / 11:41:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15559
    "Modified: / 04-02-2011 / 18:47:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15560
    "Modified: / 09-02-2011 / 01:12:10 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15561
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15562
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15563
_sun_reflect_NativeMethodAccessorImpl_invoke0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15564
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15565
    <javanative: 'sun/reflect/NativeMethodAccessorImpl' name: 'invoke0'>
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15566
    "
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15567
    private static native Object invoke0(Method m, Object obj, Object[] args);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15568
    "
915
vranyj1
parents: 914
diff changeset
 15569
    | m obj args method descriptor adescriptors bargs retval retcls |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15570
    m := nativeContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15571
    obj := nativeContext argAt: 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15572
    args := nativeContext argAt: 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15573
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15574
    method := self reflection methodForJavaMethodObject: m.
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15575
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 15576
924
7e66564a2302 fix for native sun.reflect.NativeMethodAccessorImpl.invoke0()
vranyj1
parents: 923
diff changeset
 15577
    (obj isNil and:[method isStatic not]) ifTrue:[
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 15578
        self throwNullPointerException.
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 15579
        ^nil.            
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 15580
    ].
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 15581
915
vranyj1
parents: 914
diff changeset
 15582
    descriptor := method descriptor.
vranyj1
parents: 914
diff changeset
 15583
vranyj1
parents: 914
diff changeset
 15584
    "Possibly box/unbox arguments"
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15585
    args notEmptyOrNil ifTrue:[
915
vranyj1
parents: 914
diff changeset
 15586
        adescriptors := descriptor parameters.
vranyj1
parents: 914
diff changeset
 15587
        bargs := Array new: args size.
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15588
        1 to: args size do:[:i|
915
vranyj1
parents: 914
diff changeset
 15589
            bargs at: i put: ((adescriptors at: i) javaClass javaUnbox: (args at:i))
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15590
        ].
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15591
    ] ifFalse:[
915
vranyj1
parents: 914
diff changeset
 15592
        bargs := #()
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15593
    ].
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 15594
    "Fire the method"
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15595
    method isStatic ifTrue:[
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15596
        retval := method valueWithReceiver: method javaClass arguments: bargs.
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15597
    ] ifFalse:[
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15598
        retval := obj perform: method selector withArguments: bargs.
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15599
    ].
915
vranyj1
parents: 914
diff changeset
 15600
    retcls := descriptor return.
vranyj1
parents: 914
diff changeset
 15601
    retcls notNil ifTrue:[
vranyj1
parents: 914
diff changeset
 15602
        retval := retcls javaClass javaBox: retval.
vranyj1
parents: 914
diff changeset
 15603
    ].
vranyj1
parents: 914
diff changeset
 15604
    ^retval.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15605
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15606
    "Created: / 06-02-2011 / 00:00:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15607
    "Modified: / 28-02-2011 / 16:57:31 / Marcel Hlopko <hlopik@gmail.com>"
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 15608
    "Modified: / 19-08-2011 / 15:06:00 / cg"
924
7e66564a2302 fix for native sun.reflect.NativeMethodAccessorImpl.invoke0()
vranyj1
parents: 923
diff changeset
 15609
    "Modified: / 22-08-2011 / 15:45:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15610
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15611
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15612
_sun_reflect_Reflection_getCallerClass: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15613
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15614
    <javanative: 'sun/reflect/Reflection' name: 'getCallerClass'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15615
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15616
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15617
    | framesToSkip framesSkipped frame |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15618
    framesToSkip := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15619
    framesSkipped := 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15620
    frame := aJavaContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15621
    [ framesSkipped == framesToSkip ] whileFalse:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15622
        [frame := frame sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15623
        framesSkipped := framesSkipped + 1].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15624
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15625
    ^JavaVM javaClassObjectForClass:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15626
        (frame receiver class theNonMetaclass)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15627
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15628
    "Created: / 25-10-2010 / 16:32:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15629
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15630
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15631
_sun_reflect_Reflection_getClassAccessFlags: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15632
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15633
    <javanative: 'sun/reflect/Reflection' name: 'getClassAccessFlags'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15634
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15635
        |class|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15636
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15637
    class := self reflection classForJavaClassObject:(aJavaContext argAt:1).
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15638
    ^(class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15639
        1041"FIXME: make it symbolic"
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15640
    ] ifFalse:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15641
        class accessFlags
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15642
    ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15643
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15644
    "Created: / 26-11-2010 / 10:20:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15645
    "Modified: / 28-01-2011 / 15:19:28 / Marcel Hlopko <hlopik@gmail.com>"
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15646
    "Modified: / 01-09-2011 / 09:46:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15647
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15648
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15649
!JavaVM class methodsFor:'native - sun.security.provider'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15650
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15651
_sun_security_provider_NativeSeedGenerator_nativeGenerateSeed: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15652
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15653
    <javanative: 'sun/security/provider/NativeSeedGenerator' name: 'nativeGenerateSeed([B)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15654
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15655
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15656
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15657
888
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15658
!JavaVM class methodsFor:'queries'!
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15659
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15660
booted
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15661
    | jVM |
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15662
    jVM := JavaVM classNamed: 'sun.misc.VM'.
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15663
    ^ jVM notNil and: [ (jVM instVarNamed: #booted) == 1 ] and: [self systemClassLoader notNil].
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15664
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15665
    "
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15666
     JavaVM booted"
888
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15667
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15668
    "Created: / 08-08-2011 / 10:04:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1073
e842ab17fe16 quite big class loaders rewrite.. javavm/groovy boots, almost all tests pass.. hope you will like it..
hlopkmar
parents: 1070
diff changeset
 15669
    "Modified: / 02-11-2011 / 22:08:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
888
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15670
! !
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15671
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15672
!JavaVM class methodsFor:'semaphores & monitors'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15673
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15674
enteredMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15675
    ^ self enteredMonitorsOfProcess:(Processor activeProcess)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15676
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15677
    "Modified: / 8.1.1999 / 14:02:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15678
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15679
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15680
enteredMonitorsOfProcess:aProcess
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15681
    |monitors|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15683
    monitors := EnteredMonitorsPerProcess at:aProcess ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15684
    monitors isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15685
	monitors := OrderedCollection new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15686
	EnteredMonitorsPerProcess at:aProcess put:monitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15687
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15688
    ^ monitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15689
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15690
    "Created: / 8.1.1999 / 14:02:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15691
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15692
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15693
monitorEnter: someObject in: aJavaContext 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15694
    | mon  thisProcess  objString |
1096
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15695
 
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15696
    someObject isNil ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15697
        self throwNullPointerException.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15698
        self halt.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15699
        ^ self
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15700
    ].
1096
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15701
     "self syncMonitorCache.
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15702
     LeftMonitorObject := nil."
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15703
    thisProcess := Processor activeProcess.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15704
    mon := self monitorFor: someObject.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15705
    MonitorTrace ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15706
        someObject isJavaClass ifTrue: [ objString := someObject name ] ifFalse: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15707
            objString := someObject class name , '@' 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15708
                        , someObject identityHash printString.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15709
        ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15710
        ('====> entering monitor for ' , objString , ' in ' , thisProcess name 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15711
            , ' ...') printCR.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15712
    ].
1096
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15713
    mon enter.
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15714
    aJavaContext addMonitor: someObject.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15715
    MonitorTrace ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15716
        ('====> entered it in ' , thisProcess name , ' ...') printCR.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15717
    ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15718
    (self enteredMonitorsOfProcess: thisProcess) add: someObject.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15719
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15720
    "Created: / 08-11-2011 / 15:15:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15721
!
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15722
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15723
monitorExit: someObject in: aJavaContext 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15724
    | mon  thisProcess  wasBlocked  lastMon  objString |
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15725
    someObject isNil ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15726
        self throwNullPointerException.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15727
        self halt.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15728
        ^ self
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15729
    ].
1096
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15730
     "self syncMonitorCache."
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15731
     thisProcess := Processor activeProcess.
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15732
    mon := self monitorFor: someObject.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15733
    MonitorTrace ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15734
        someObject isJavaClass ifTrue: [ objString := someObject name ] ifFalse: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15735
            objString := someObject class name , '@' 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15736
                        , someObject identityHash printString.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15737
        ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15738
        ('====> leaving monitor for ' , objString , ' in ' , thisProcess name 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15739
            , ' ...') printCR.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15740
    ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15741
    mon exit.
1096
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15742
    aJavaContext removeMonitor: someObject.
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15743
    MonitorTrace ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15744
        ('====> left it in ' , thisProcess name , ' ...') printCR.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15745
    ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15746
    lastMon := (self enteredMonitorsOfProcess: thisProcess) removeLast.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15747
    lastMon ~~ someObject ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15748
        self halt: 'oops - monitor enter/exit nesting wrong'
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15749
    ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15750
    wasBlocked := OperatingSystem blockInterrupts.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15751
    mon count == 0 ifTrue: [ LeftMonitorObject := someObject ].
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15752
    wasBlocked ifFalse: [ OperatingSystem unblockInterrupts ]
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15753
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15754
    "Created: / 08-11-2011 / 15:17:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15755
!
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15756
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15757
monitorFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15758
    |mon|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15759
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15760
    LockTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15761
	mon := LockTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15762
	mon isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15763
	    LockTable at:someObject put:(mon := Monitor new)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15764
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15765
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15766
    ^ mon
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15767
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15768
    "Created: / 2.1.1998 / 19:01:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15769
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15771
releaseAndSignalForAllSemaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15772
    |sema|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15773
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15774
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15775
	sema := WaitTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15776
"/        sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15777
"/            WaitTable removeKey:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15778
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15779
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15780
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15781
    sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15782
	sema signalForAll
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15783
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15784
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15785
    "Created: / 2.1.1998 / 18:21:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15786
    "Modified: / 3.2.1998 / 16:11:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15787
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15788
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15789
releaseAndSignalSemaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15790
    |sema|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15791
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15792
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15793
	sema := WaitTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15794
"/        sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15795
"/            WaitTable removeKey:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15796
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15797
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15798
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15799
    sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15800
	sema signal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15801
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15802
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15803
    "Created: / 2.1.1998 / 18:20:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15804
    "Modified: / 3.2.1998 / 16:11:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15805
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15806
1090
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15807
releaseMonitorsOfProcess
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15808
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15809
    self releaseMonitorsOfProcess: Processor activeProcess
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15810
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15811
    "Created: / 04-11-2011 / 22:15:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15812
!
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15813
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15814
releaseMonitorsOfProcess: aProcess 
1090
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15815
    "Releases all monitors owned by given project.
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15816
     Called when cleaning up after process death or
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15817
     when handling smalltalk (non-java) exceptions
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15818
     (such an exception in native method)"
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15819
    
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15820
    | monitors |
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15821
    monitors := EnteredMonitorsPerProcess at: aProcess ifAbsent: nil.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15822
    monitors notNil ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15823
        monitors do: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15824
            :obj | 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15825
            | mon |
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15826
            mon := JavaVM monitorFor: obj.
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15827
            mon notNil ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15828
                mon owningProcess == aProcess ifTrue: [
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15829
                    Logger 
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15830
                        log: ('release monitor owned by dying thread: ' , aProcess name)
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15831
                        severity: #info
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15832
                        facility: #JVM.
1090
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15833
                    self breakPoint: #jv.
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15834
                    mon exit
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15835
                ].
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15836
            ].
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15837
        ].
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15838
        EnteredMonitorsPerProcess removeKey: aProcess
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15839
        .
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15840
    ].
1090
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15841
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15842
    "Created: / 04-11-2011 / 22:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15843
    "Modified: / 08-11-2011 / 15:07:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1090
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15844
!
0b9c332d367c Few workarounds for monitors
vranyj1
parents: 1084
diff changeset
 15845
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15846
releaseSemaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15847
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15848
	WaitTable removeKey:someObject ifAbsent:nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15849
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15850
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15851
    "Created: / 2.1.1998 / 18:17:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15852
    "Modified: / 2.1.1998 / 21:52:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15853
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15854
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15855
semaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15856
    |sema|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15857
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15858
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15859
	sema := WaitTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15860
	sema isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15861
	    WaitTable at:someObject put:(sema := Semaphore new)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15862
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15863
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15864
    ^ sema
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15865
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15866
    "Created: / 2.1.1998 / 18:15:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15867
    "Modified: / 2.1.1998 / 18:20:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15868
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15869
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15870
syncMonitorCache
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15871
    |mO mC mP mon wasBlocked enteredMonitors|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15872
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15873
    wasBlocked := OperatingSystem blockInterrupts.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15874
    (mO := EnteredMonitorObject) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15875
	mC := EnteredMonitorObjectCount.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15876
	mP := EnteredMonitorProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15877
	mon := self monitorFor:mO.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15878
	mon fakeEnter:mP count:mC.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15879
	enteredMonitors := self enteredMonitorsOfProcess:mP.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15880
	mC timesRepeat:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15881
	    enteredMonitors addLast:mO
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15882
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15883
	EnteredMonitorObject := EnteredMonitorProcess := LeftMonitorObject := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15884
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15885
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15886
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15887
    "Created: / 8.1.1999 / 13:59:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15888
    "Modified: / 9.1.1999 / 00:39:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15889
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15890
1093
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15891
unwindHandlerForJavaContext: aJavaContext 
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15892
    "given a context which has been marked for unwind,
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15893
     retrieve the handler block. This method is called when ST
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15894
     exception raises and stack is unwinding. JavaClass instance
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15895
     has an opportunity to clean up monitors"
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15896
    
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15897
    | cleanupBlock |
1093
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15898
    cleanupBlock := [
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 15899
            aJavaContext acquiredMonitorsDo: [:each | JavaVM monitorExit: each in:aJavaContext. ]
1093
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15900
        ].
1096
c543f127c67a fixed some stupid mistakes, but still not working
hlopkmar
parents: 1094
diff changeset
 15901
1093
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15902
    ^ cleanupBlock.
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15903
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15904
    "Created: / 08-11-2011 / 12:30:19 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15905
!
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 15906
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15907
waitFor:sema state:pState timeOut:tmo
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15908
    "wait"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15909
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15910
    |wasBlocked thisProcess enteredMonitors|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15911
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15912
"/    self syncMonitorCache.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15913
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15914
    thisProcess := Processor activeProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15915
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15916
    "/ temporarily leave all entered monitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15917
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15918
    wasBlocked := OperatingSystem blockInterrupts.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15919
    self syncMonitorCache.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15920
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15921
    enteredMonitors := self enteredMonitorsOfProcess:thisProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15922
    enteredMonitors size > 0 ifTrue:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15923
        MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15924
            ('====> wait - exit ' , enteredMonitors size printString , ' monitors in ' , Processor activeProcess name , ' ...') infoPrintCR.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15925
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15926
        enteredMonitors do:[:handle | 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15927
            |mon|
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15928
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15929
            mon := LockTable at:handle ifAbsent:nil.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15930
            mon isNil ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15931
                self halt:'no monitor in wait'.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15932
            ] ifFalse:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15933
                MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15934
                    ('====> wait - exit monitor for ' , handle displayString , ' in ' , Processor activeProcess name , ' ...') infoPrintCR. 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15935
                ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15936
                mon exit.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15937
            ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15938
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15939
        EnteredMonitorsPerProcess removeKey:thisProcess.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15940
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15942
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15943
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15944
    pState notNil ifTrue:[thisProcess state:pState].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15945
    sema isNil ifTrue:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15946
        Delay waitForMilliseconds:tmo
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15947
    ] ifFalse:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15948
        (tmo isNil or:[tmo = 0]) ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15949
            sema wait.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15950
        ] ifFalse:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15951
            sema waitWithTimeout:tmo / 1000.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15952
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15953
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15954
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15955
    "/ re-enter monitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15956
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15957
    enteredMonitors size > 0 ifTrue:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15958
        wasBlocked := OperatingSystem blockInterrupts.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15959
        self syncMonitorCache.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15960
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15961
        MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15962
            ('====> wait - reenter ' , enteredMonitors size printString , ' monitors in ' , Processor activeProcess name , ' ...') infoPrintCR.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15963
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15964
        enteredMonitors do:[:handle | 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15965
            |mon|
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15966
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15967
            LockTableAccess critical:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15968
                mon := LockTable at:handle ifAbsent:nil.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15969
                mon isNil ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15970
                    LockTable at:handle put:(mon := Monitor new)
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15971
                ]
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15972
            ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15973
            MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15974
                ('====> wait - reenter monitor for ' , handle displayString , ' in ' , Processor activeProcess name , ' ...') infoPrintCR. 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15975
            ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15976
            mon enter.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15977
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15978
        EnteredMonitorsPerProcess at:thisProcess put:enteredMonitors.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15979
        wasBlocked ifFalse:[ OperatingSystem unblockInterrupts].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15980
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15981
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15982
    "Created: / 30.12.1998 / 19:19:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15983
    "Modified: / 8.1.1999 / 17:29:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15984
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15985
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15986
!JavaVM class methodsFor:'vm support'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15987
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15988
_ANEWARRAY2:classRef _:size 
801
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15989
    "vm helper method for new resolving - creates new array of class identified by classRef"
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15990
    
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15991
    |javaClass|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15992
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15993
    classRef ifNil:[ self halt:'cant create array from nil ref' ].
801
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15994
    javaClass := classRef resolve.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15995
    javaClass ifNil:[ self halt:'cant create array from nil javaClass' ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15996
    self assert:javaClass javaArrayClass isJavaArrayClass. 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15997
    ^ javaClass javaArrayClass new:size
801
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15998
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15999
    "Created: / 18-05-2011 / 21:04:59 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16000
    "Modified: / 11-06-2011 / 23:42:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16001
!
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16002
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16003
_ANEWARRAY:classRef _:size 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16004
    |ref|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16005
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16006
    ref := classRef.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16007
    ref isUnresolved ifTrue:[ ref := ref javaClass ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16008
    self assert:ref javaArrayClass isJavaArrayClass.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16009
    ^ ref javaArrayClass new:size
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16010
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16011
    "Created: / 17-12-2010 / 14:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16012
    "Modified: / 25-04-2011 / 20:21:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16013
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16014
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16015
_ARRAYLENGTH:arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16016
    arr isNil ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 16017
        "/self halt:'should not happen'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 16018
        self throwNullPointerException.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16019
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16020
    ^ arr size
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16021
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 16022
    "Created: / 08-01-1999 / 14:38:27 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 16023
    "Modified: / 31-05-2011 / 10:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16024
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16025
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16026
_ATHROW:aJavaException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16027
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16028
    <resource: #skipInDebuggersWalkBack>
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16030
    aJavaException isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16031
        self halt:'cannot happen'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16032
    ].
1097
41def5679e28 finally working monitors yeeaah
hlopkmar
parents: 1096
diff changeset
 16033
    self throwException:aJavaException in:thisContext sender.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16034
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16035
    "Created: / 08-01-1999 / 14:15:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16036
    "Modified: / 04-03-2011 / 00:07:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1097
41def5679e28 finally working monitors yeeaah
hlopkmar
parents: 1096
diff changeset
 16037
    "Modified: / 08-11-2011 / 16:32:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16038
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16039
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16040
_CHECKCAST2: object _: aJavaClassRef 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16041
    "Trampouline for unhandled cases ..."
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16042
    
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16043
    | class |
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16044
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16045
    aJavaClassRef isJavaRef ifTrue: [ class := aJavaClassRef resolve ] ifFalse: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16046
        self halt: 'I expected classRefs only - maybe I was wrong'
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16047
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16048
    (object isNil or: [ (self canCast: object class to: class) not ]) ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16049
        self breakPoint: #mh.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16050
        self throwClassCastException.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16051
        ^ false
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16052
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16053
        
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16054
    ^ true.
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16055
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16056
    "Created: / 19-05-2011 / 10:12:23 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
 16057
    "Modified: / 13-08-2011 / 01:33:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16058
!
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16059
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16060
_CHECKCAST: object _: classOrClassRef 
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16061
    "Trampouline for unhandled cases ..."
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16062
    
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16063
    | class |
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16064
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16065
    self breakPoint: #mh.
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16066
    class := classOrClassRef javaClass.
1027
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16067
     "
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16068
     Java VM Spec, 3rd edition, p 280:
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16069
     
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16070
     If objectref is null, the checkcast instruction throws a ClassCastException.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16071
    " "object isNil"
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16072
    (false or: [ (self canCast: object class to: class) not ]) ifTrue: [
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16073
        self throwClassCastException.
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16074
        ^ false
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16075
    ].
43dc608e14aa another dose of fixes, still not able to boot javavm
hlopkmar
parents: 1026
diff changeset
 16076
    ^ true
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16078
    "Created: / 08-01-1999 / 14:53:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16079
    "Modified: / 09-01-1999 / 00:45:21 / cg"
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 16080
    "Modified: / 25-04-2011 / 20:26:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16081
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16082
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16083
_D2I:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16084
    |v|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16085
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16086
    v := op1 asInteger.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16087
    v > 16r7FFFFFFF ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16088
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16089
	v := 16r7FFFFFFF
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16090
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16091
	v < 16r80000000 negated ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16092
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16093
	    v := 16r80000000 negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16094
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16095
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16096
    ^ v
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16097
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16098
    "Modified: / 17.10.1998 / 21:55:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16099
    "Created: / 8.1.1999 / 14:47:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16100
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16101
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16102
_D2L:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16103
    |v|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16105
    v := op1 asInteger.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16106
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16107
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16108
	v := 16r7FFFFFFFFFFFFFFF
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16109
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16110
	v < 16r8000000000000000 negated ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16111
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16112
	    v := 16r8000000000000000 negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16113
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16114
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16115
    ^ v
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16116
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16117
    "Modified: / 17.10.1998 / 21:55:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16118
    "Created: / 8.1.1999 / 14:46:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16119
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16120
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16121
_DADD:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16122
    ^ op1 asFloat + op2 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16124
    "Created: / 8.1.1999 / 15:11:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16125
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16126
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16127
_DDIV:op1 _:op2
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 16128
    ^ op1 asFloat uncheckedDivide: op2 asFloat.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 16129
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 16130
    "Created: / 08-01-1999 / 15:09:10 / cg"
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 16131
    "Modified: / 06-09-2011 / 19:31:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16132
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16134
_DMUL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16135
    ^ op1 asFloat * op2 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16136
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16137
    "Created: / 8.1.1999 / 14:49:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16138
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16140
_DNEG:op
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16141
    ^ op asFloat negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16143
    "Created: / 8.1.1999 / 15:06:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16144
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16146
_DSUB:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16147
    ^ op1 asFloat - op2 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16148
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16149
    "Created: / 8.1.1999 / 15:10:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16150
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16151
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16152
_F2I:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16153
    ^ self _D2I:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16154
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16155
    "Created: / 8.1.1999 / 14:47:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16156
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16157
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16158
_F2L:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16159
    ^ self _D2L:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16160
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16161
    "Created: / 8.1.1999 / 14:47:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16162
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16164
_FADD:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16165
    ^ op1 asShortFloat + op2 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16167
    "Created: / 8.1.1999 / 15:11:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16168
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16169
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16170
_FDIV:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16171
    ^ op1 asShortFloat / op2 asShortFloat.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16172
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16173
    "Created: / 8.1.1999 / 15:09:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16174
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16176
_FMUL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16177
    ^ op1 asShortFloat * op2 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16178
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16179
    "Created: / 8.1.1999 / 14:50:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16180
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16181
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16182
_FNEG:op
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16183
    ^ op asShortFloat negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16185
    "Created: / 8.1.1999 / 15:06:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16186
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16188
_FSUB:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16189
    ^ op1 asShortFloat - op2 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16190
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16191
    "Created: / 8.1.1999 / 15:08:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16192
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16193
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16194
_INSTANCEOF2: object _: classRef 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16195
    |class|
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16196
    classRef isJavaRef ifFalse: [self halt: 'expected only classRefs - maybe I was wrong'].
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16197
    class := classRef resolve.
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16198
    object ifNil: [ ^ 0 ].
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16199
    ^ (self canCast: object class to: class) ifTrue: [ 1 ] ifFalse: [ 0 ].
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16200
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16201
    "Created: / 19-05-2011 / 10:14:18 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16202
!
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 16203
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16204
_INSTANCEOF:object _:class
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16206
    object ifNil:[^0].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16207
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16208
    ^(self canCast: object class to: class)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16209
        ifTrue:[1]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16210
        ifFalse:[0]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16211
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16212
    "Created: / 08-01-1999 / 14:52:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16213
    "Modified: / 27-01-1999 / 20:56:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16214
    "Modified: / 25-02-2011 / 18:31:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16215
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16216
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16217
_L2D:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16218
    ^ op1 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16219
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16220
    "Created: / 8.1.1999 / 14:46:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16221
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16222
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16223
_L2F:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16224
    ^ op1 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16226
    "Created: / 8.1.1999 / 14:46:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16227
    "Modified: / 8.1.1999 / 14:50:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16228
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16229
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16230
_LADD:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16231
    |sum|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16232
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16233
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16234
    ^ sum
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16235
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16236
    "Created: / 8.1.1999 / 15:07:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16237
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16239
_LAND:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16240
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16241
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16242
    (op1 < 0 or:[op2 < 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16243
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16244
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16245
    rslt := op1 bitAnd: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16246
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16247
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16248
    "Modified: / 7.1.1998 / 21:21:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16249
    "Created: / 8.1.1999 / 14:54:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16250
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16251
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16252
_LDIV:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16253
    |quo|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16254
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16255
    quo := op1 quo: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16256
    ^ quo
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16258
    "Created: / 8.1.1999 / 15:04:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16259
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16260
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16261
_LMUL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16262
    |prod o1 o2 sign|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16264
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16265
    "/ ST's largeIntegers compute a correct result;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16266
    "/ but here, we want the overflow to flow into the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16267
    "/ sign bit ... (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16268
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16269
    sign := 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16270
    (o1 := op1) < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16271
	sign := -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16272
	o1 := o1 negated.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16273
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16274
    (o2 := op2) < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16275
	sign := sign negated.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16276
	o2 := o2 negated.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16277
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16278
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16279
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16280
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16281
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16282
    sign == -1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16283
	prod := prod negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16284
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16285
    ^ prod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16286
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16287
    "Created: / 8.1.1999 / 15:10:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16288
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16289
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16290
_LNEG:op
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16291
    ^ op asInteger negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16292
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16293
    "Created: / 8.1.1999 / 15:06:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16294
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16295
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16296
_LOR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16297
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16298
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16299
    (op1 < 0 or:[op2 < 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16300
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16301
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16302
    rslt := op1 bitOr: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16303
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16304
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16305
    "Created: / 8.1.1999 / 15:05:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16306
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16307
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16308
_LREM:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16309
    |rem|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16311
    rem := op1 rem: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16312
    ^ rem
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16313
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16314
    "Modified: / 7.1.1998 / 00:23:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16315
    "Created: / 8.1.1999 / 15:04:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16316
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16317
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16318
_LSHL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16319
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16320
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16321
    (op1 < 0) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16322
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16323
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16324
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16325
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16326
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16327
    "Created: / 8.1.1999 / 14:51:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16328
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16329
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16330
_LSHR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16331
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16332
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16333
    op1 < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16334
	self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16335
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16337
    (op1 < 0) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16338
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16339
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16340
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16341
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16342
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16343
    "Created: / 8.1.1999 / 14:51:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16344
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16345
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16346
_LSUB:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16347
    |diff|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16349
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16350
    ^ diff
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16352
    "Created: / 8.1.1999 / 15:10:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16353
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16354
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16355
_LUSHR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16356
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16357
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16358
    op1 < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16359
	self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16360
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16361
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16362
    (op1 < 0) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16363
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16364
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16365
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16366
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16367
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16368
    "Modified: / 7.1.1998 / 21:22:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16369
    "Created: / 8.1.1999 / 14:51:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16370
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16371
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16372
_LXOR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16373
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16374
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16375
    (op1 < 0 or:[op2 < 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16376
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16377
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16378
    rslt := op1 bitXor: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16379
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16380
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16381
    "Created: / 8.1.1999 / 15:12:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16382
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16383
1093
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 16384
_MONITORENTER: someObject 
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 16385
    self monitorEnter:someObject in: thisContext sender.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16386
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 16387
    "Created: / 08-01-1999 / 14:23:10 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 16388
    "Modified: / 08-01-1999 / 18:47:26 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 16389
    "Modified: / 10-08-2011 / 20:19:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 16390
    "Modified: / 08-11-2011 / 15:16:40 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1093
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 16391
!
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 16392
255c230a1c55 hacking monitors, not working yet :P
hlopkmar
parents: 1092
diff changeset
 16393
_MONITOREXIT: someObject 
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 16394
    self monitorExit:someObject in:thisContext sender.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16395
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 16396
    "Created: / 08-01-1999 / 14:23:19 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 16397
    "Modified: / 08-01-1999 / 18:47:08 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 16398
    "Modified: / 10-08-2011 / 20:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1094
68b154263d74 fixes in monitors, still not working
hlopkmar
parents: 1093
diff changeset
 16399
    "Modified: / 08-11-2011 / 15:17:50 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16400
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16401
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16402
_MULTINEW2: classRef _: dim1 
927
vranyj1
parents: 926
diff changeset
 16403
vranyj1
parents: 926
diff changeset
 16404
    | arrCls arr |
vranyj1
parents: 926
diff changeset
 16405
vranyj1
parents: 926
diff changeset
 16406
    self assert: classRef isJavaClassRef.
vranyj1
parents: 926
diff changeset
 16407
    arrCls := classRef resolve.
vranyj1
parents: 926
diff changeset
 16408
    arr := arrCls new: dim1.
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16409
    ^ arr.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16410
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16411
    "Created: / 19-05-2011 / 10:46:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
927
vranyj1
parents: 926
diff changeset
 16412
    "Modified: / 26-08-2011 / 18:46:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 926
diff changeset
 16413
!
vranyj1
parents: 926
diff changeset
 16414
vranyj1
parents: 926
diff changeset
 16415
_MULTINEW2: classRef _: dim1 _: dim2
vranyj1
parents: 926
diff changeset
 16416
vranyj1
parents: 926
diff changeset
 16417
    | arrCls arr |
vranyj1
parents: 926
diff changeset
 16418
vranyj1
parents: 926
diff changeset
 16419
    self assert: classRef isJavaClassRef.
vranyj1
parents: 926
diff changeset
 16420
    arrCls := classRef resolve.
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16421
    arr := arrCls new: dim2.
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16422
    1 to: dim2 do:[:i|
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16423
        arr at: i put: (arrCls javaComponentClass new: dim1)
927
vranyj1
parents: 926
diff changeset
 16424
    ].
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16425
    ^ arr.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16426
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16427
    "Created: / 19-05-2011 / 10:47:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16428
    "Modified: / 26-08-2011 / 20:18:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
927
vranyj1
parents: 926
diff changeset
 16429
!
vranyj1
parents: 926
diff changeset
 16430
vranyj1
parents: 926
diff changeset
 16431
_MULTINEW2: classRef _: dim1 _: dim2 _: dim3
vranyj1
parents: 926
diff changeset
 16432
vranyj1
parents: 926
diff changeset
 16433
    | arrCls arr |
vranyj1
parents: 926
diff changeset
 16434
vranyj1
parents: 926
diff changeset
 16435
    self assert: classRef isJavaClassRef.
vranyj1
parents: 926
diff changeset
 16436
    arrCls := classRef resolve.
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16437
    arr := arrCls new: dim3.
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16438
    1 to: dim3 do:[:i|
927
vranyj1
parents: 926
diff changeset
 16439
        | arr2 |
vranyj1
parents: 926
diff changeset
 16440
        arr2 := arrCls javaComponentClass new: dim2.
vranyj1
parents: 926
diff changeset
 16441
        1 to: dim2 do:[:j|
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16442
            arr2 at: j put: (arrCls javaComponentClass javaComponentClass new: dim1).
927
vranyj1
parents: 926
diff changeset
 16443
        ].
vranyj1
parents: 926
diff changeset
 16444
        arr at: i put: arr2.
vranyj1
parents: 926
diff changeset
 16445
    ].
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16446
    ^ arr.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16447
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16448
    "Created: / 19-05-2011 / 10:47:50 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 16449
    "Modified: / 26-08-2011 / 20:20:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16450
!
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16451
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16452
_MULTINEW:typeRef _:dim1 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16453
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16454
    |arr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16455
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16456
    arr := typeRef new:dim1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16457
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16458
    ^ arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16459
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16460
    "Created: / 08-01-1999 / 14:15:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16461
    "Modified: / 08-01-1999 / 18:03:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16462
    "Modified: / 16-03-2011 / 16:20:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16463
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16464
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16465
_MULTINEW: typeRef _: dim1 _: dim2 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16466
    | arr |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16467
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16468
    arr := typeRef new: dim2.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16469
    1 to: dim2
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 16470
        do: [:idx | arr at: idx put: (self _MULTINEW: typeRef javaComponentClass _: dim1) ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16471
    ^ arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16472
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16473
    "Created: / 08-01-1999 / 14:15:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16474
    "Modified: / 08-01-1999 / 17:58:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16475
    "Modified: / 16-03-2011 / 16:19:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16476
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16477
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16478
_MULTINEW:typeRef _:dim1 _:dim2 _:dim3 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16479
    |clsRef cls arr elType elSizes|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16480
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16481
    clsRef := typeRef asClassPointerRef.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16482
    cls := clsRef javaArrayClass.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16483
    arr := cls new:dim3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16484
    elType := typeRef deref.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16485
    1 to:dim3
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16486
        do:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16487
            [:idx | 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16488
            arr at:idx
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16489
                put:(self 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16490
                        _MULTINEW:elType
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16491
                        _:dim1
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16492
                        _:dim2) ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16493
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16494
"/ self halt.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16495
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16496
    ^ arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16497
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16498
    "Modified: / 6.1.1998 / 23:34:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16499
    "Created: / 8.1.1999 / 14:15:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16500
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16502
!JavaVM class methodsFor:'windows - events'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16503
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16504
awtEventsForEvent: anEvent javaWindow: jWin 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16505
    "given an ST/X event, create corresponding AWT event(s) for it"
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16506
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16507
    | jEv  jEv1  jEv2  modifiers  key  keyChar  untranslatedKey  id  type  x  y  w  h  view  menu  resized  moved  eventArgs  clickCount  jRect  jKeyEventClass  jInputEventClass  jMouseEventClass  jWindowEventClass  jPaintEventClass  jComponentEventClass |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16508
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16509
    type := anEvent type.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16510
    eventArgs := anEvent arguments.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16511
    key := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16512
    modifiers := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16513
    x := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16514
    y := 0.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16515
    ((type == #exposeX:y:width:height:) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16516
        or: [ (type == #graphicExposeX:y:width:height:) or: [ (type == #damage) ] ]) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16517
            ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16518
                "/        jWindowEventClass := Java classForName:'java.awt.event.WindowEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16519
                "/        id := (jPaintEventClass instVarNamed:'PAINT').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16520
                jPaintEventClass := self classForName: 'java.awt.event.PaintEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16521
                id := (jPaintEventClass instVarNamed: 'UPDATE').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16522
                ((type == #exposeX:y:width:height:) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16523
                    or: [ (type == #graphicExposeX:y:width:height:) ]) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16524
                        ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16525
                            x := eventArgs at: 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16526
                            y := eventArgs at: 2.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16527
                            w := eventArgs at: 3.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16528
                            h := eventArgs at: 4.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16529
                        ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16530
                        ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16531
                            x := eventArgs left.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16532
                            y := eventArgs top.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16533
                            w := eventArgs width.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16534
                            h := eventArgs height.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16535
                        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16536
                jRect := (Java classForName: 'java.awt.Rectangle') basicNew.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16537
                jRect instVarNamed: 'x' put: x.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16538
                jRect instVarNamed: 'y' put: y.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16539
                jRect instVarNamed: 'width' put: w.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16540
                jRect instVarNamed: 'height' put: h.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16541
                jEv := jPaintEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16542
                jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16543
                jEv instVarNamed: 'updateRect' put: jRect.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16544
                
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16545
"/        jEv instVarNamed:'g'         put:jWin.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16546
                
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16547
                ^ Array with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16548
            ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16549
    (anEvent isKeyEvent 
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16550
        or: [ anEvent isButtonEvent or: [ anEvent isPointerEnterLeaveEvent ] ]) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16551
            ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16552
                jInputEventClass := Java classForName: 'java.awt.event.InputEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16553
                anEvent hasAlt ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16554
                    modifiers := modifiers bitOr: (jInputEventClass instVarNamed: 'ALT_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16555
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16556
                anEvent hasCtrl ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16557
                    modifiers := modifiers bitOr: (jInputEventClass instVarNamed: 'CTRL_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16558
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16559
                anEvent hasMeta ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16560
                    modifiers := modifiers bitOr: (jInputEventClass instVarNamed: 'META_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16561
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16562
                anEvent hasShift ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16563
                    modifiers := modifiers 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16564
                                bitOr: (jInputEventClass instVarNamed: 'SHIFT_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16565
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16566
                anEvent hasButton1 ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16567
                    modifiers := modifiers 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16568
                                bitOr: (jInputEventClass instVarNamed: 'BUTTON1_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16569
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16570
                anEvent hasButton2 ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16571
                    modifiers := modifiers 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16572
                                bitOr: (jInputEventClass instVarNamed: 'BUTTON2_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16573
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16574
                anEvent hasButton3 ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16575
                    modifiers := modifiers 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16576
                                bitOr: (jInputEventClass instVarNamed: 'BUTTON3_MASK')
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16577
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16578
                anEvent isPointerEnterLeaveEvent ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16579
                    "/ ST/X does not (yet) record this information
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16580
                    "/ with pointerLeave events.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16581
                    x := anEvent x.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16582
                    y := anEvent y.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16583
                ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16584
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16585
    anEvent isKeyEvent ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16586
        jKeyEventClass := Java classForName: 'java.awt.event.KeyEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16587
        key := 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16588
        keyChar := 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16589
        key := anEvent key.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16590
        key isCharacter ifTrue: [ key := keyChar := key asciiValue ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16591
            untranslatedKey := anEvent view device keyboardMap keyAtValue: key
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16592
                        ifAbsent: key.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16593
            untranslatedKey == #Insert ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16594
                key := jKeyEventClass instVarNamed: 'VK_INSERT'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16595
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16596
            untranslatedKey == #Delete ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16597
                key := jKeyEventClass instVarNamed: 'VK_DELETE'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16598
                "/ 127
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16599
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16600
            untranslatedKey == #BackSpace ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16601
                key := jKeyEventClass instVarNamed: 'VK_BACK_SPACE'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16602
                "/ 8
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16603
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16604
            untranslatedKey == #Return ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16605
                key := jKeyEventClass instVarNamed: 'VK_ENTER'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16606
                "/ 13
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16607
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16608
            untranslatedKey == #Tab ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16609
                key := jKeyEventClass instVarNamed: 'VK_TAB'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16610
                "/ 9
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16611
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16612
            untranslatedKey == #Home ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16613
                key := jKeyEventClass instVarNamed: 'VK_HOME'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16614
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16615
            untranslatedKey == #End ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16616
                key := jKeyEventClass instVarNamed: 'VK_END'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16617
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16618
            (key == #PreviousPage or: [ untranslatedKey == #Prior ]) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16619
                key := jKeyEventClass instVarNamed: 'VK_PAGE_UP'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16620
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16621
            (key == #NextPage or: [ key == #EndOfText ]) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16622
                key := jKeyEventClass instVarNamed: 'VK_PAGE_DOWN'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16623
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16624
            untranslatedKey == #CursorUp ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16625
                key := jKeyEventClass instVarNamed: 'VK_UP'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16626
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16627
            untranslatedKey == #CursorDown ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16628
                key := jKeyEventClass instVarNamed: 'VK_DOWN'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16629
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16630
            untranslatedKey == #CursorLeft ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16631
                key := jKeyEventClass instVarNamed: 'VK_LEFT'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16632
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16633
            untranslatedKey == #CursorRight ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16634
                key := jKeyEventClass instVarNamed: 'VK_RIGHT'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16635
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16636
            (#( #F1 #F2 #F3 #F4 #F5 #F6 #F7 #F8 #F9 #F10 #F11 #F12 ) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16637
                includes: untranslatedKey) 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16638
                    ifTrue: [ key := jKeyEventClass instVarNamed: ('VK_' , untranslatedKey) ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16639
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16640
        (type == #keyPress:x:y:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16641
            id := jKeyEventClass instVarNamed: 'KEY_PRESSED'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16642
        ] ifFalse: [ id := jKeyEventClass instVarNamed: 'KEY_RELEASED' ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16643
        jEv := jKeyEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16644
        jEv instVarNamed: 'modifiers' put: modifiers.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16645
        jEv instVarNamed: 'keyCode' put: key.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16646
        jEv instVarNamed: 'keyChar' put: keyChar.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16647
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16648
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16649
"/        jEv instVarNamed:'x'         put:x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16650
"/        jEv instVarNamed:'y'         put:y.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16651
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16652
        jEv instVarNamed: 'when' put: (OperatingSystem getMillisecondTime).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16653
        ^ Array with: jEv
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16654
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16655
    (anEvent isButtonEvent or: [ anEvent isPointerEnterLeaveEvent ]) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16656
        jMouseEventClass := Java classForName: 'java.awt.event.MouseEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16657
        clickCount := 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16658
        (type == #buttonPress:x:y:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16659
            id := jMouseEventClass instVarNamed: 'MOUSE_PRESSED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16660
        ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16661
            (type == #buttonRelease:x:y:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16662
                id := jMouseEventClass instVarNamed: 'MOUSE_RELEASED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16663
            ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16664
                (type == #buttonMotion:x:y:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16665
                    (anEvent state bitAnd: (anEvent view device anyButtonMotionMask)) == 0 ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16666
                        id := jMouseEventClass instVarNamed: 'MOUSE_MOVED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16667
                    ] ifFalse: [ id := jMouseEventClass instVarNamed: 'MOUSE_DRAGGED'. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16668
                ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16669
                    "/                    (type == #'pointerMotion:x:y:') ifTrue:[
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16670
                    "/                        id := jMouseEventClass instVarNamed:'MOUSE_MOVED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16671
                    "/                    ] ifFalse:[
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16672
                    (type == #pointerEnter:x:y:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16673
                        id := jMouseEventClass instVarNamed: 'MOUSE_ENTERED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16674
                    ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16675
                        (type == #pointerLeave:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16676
                            id := jMouseEventClass instVarNamed: 'MOUSE_EXITED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16677
                        ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16678
                            (type == #buttonMultiPress:x:y:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16679
                                id := jMouseEventClass instVarNamed: 'MOUSE_PRESSED'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16680
                                clickCount := 2.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16681
                            ] ifFalse: [ self halt. ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16682
                            
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16683
"/                        ]
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16684
                        ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16685
                    ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16686
                ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16687
            ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16688
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16689
        jEv := jMouseEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16690
        jEv instVarNamed: 'modifiers' put: modifiers.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16691
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16692
        jEv instVarNamed: 'x' put: x.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16693
        jEv instVarNamed: 'y' put: y.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16694
        jEv instVarNamed: 'when' put: (OperatingSystem getMillisecondTime).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16695
        ^ Array with: jEv
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16696
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16697
    (type == #configureX:y:width:height:) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16698
        view := anEvent view.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16699
        x := eventArgs at: 1.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16700
        y := eventArgs at: 2.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16701
        w := eventArgs at: 3.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16702
        h := eventArgs at: 4.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16703
        resized := (w ~~ view width or: [ h ~~ view height ]).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16704
        moved := (x ~~ view left or: [ y ~~ view top ]).
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16705
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16706
"/        (view isTopView or:[view isPopUpView]) ifTrue:[
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16707
        "/ view must update its origin/extent.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16708
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16709
        view dispatchEvent: anEvent.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16710
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16711
"/        ].
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16712
        "/
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16713
        "/ must change the components extent
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16714
        "/ is there no cleaner way to do this ?
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16715
        "/
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16716
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16717
        view isTopView ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16718
            view isPopUpView ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16719
                "/
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16720
                "/ sigh - don't include the menu.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16721
                "/
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16722
                menu := self topViewsMenu: view.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16723
                menu notNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16724
                    "/ must add the menus height
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16725
                    h := h - menu height
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16726
                ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16727
            ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16728
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16729
        jWin instVarNamed: 'width' put: w.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16730
        jWin instVarNamed: 'height' put: h.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16731
        jWin instVarNamed: 'x' put: x.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16732
        jWin instVarNamed: 'y' put: y.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16733
        jComponentEventClass := Java classForName: 'java.awt.event.ComponentEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16734
        moved ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16735
            id := (jComponentEventClass instVarNamed: 'COMPONENT_MOVED').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16736
            jEv1 := jComponentEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16737
            jEv1 instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16738
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16739
        resized ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16740
            id := (jComponentEventClass instVarNamed: 'COMPONENT_RESIZED').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16741
            jEv2 := jComponentEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16742
            jEv2 instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16743
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16744
        jEv1 isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16745
            jEv2 isNil ifTrue: [ ^ nil ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16746
            ^ Array with: jEv2
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16747
        ] ifFalse: [ jEv2 isNil ifTrue: [ ^ Array with: jEv1 ] ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16748
        ^ Array with: jEv1 with: jEv2.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16749
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16750
    (type == #focusIn) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16751
        "/ 'focusIn' printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16752
        jComponentEventClass := Java classForName: 'java.awt.event.FocusEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16753
        id := (jComponentEventClass instVarNamed: 'FOCUS_GAINED').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16754
        jEv := jComponentEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16755
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16756
        ^ Array with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16757
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16758
    (type == #focusOut) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16759
        "/ 'focusOut' printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16760
        jComponentEventClass := Java classForName: 'java.awt.event.FocusEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16761
        id := (jComponentEventClass instVarNamed: 'FOCUS_LOST').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16762
        jEv := jComponentEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16763
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16764
        ^ Array with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16765
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16766
    (type == #mapped) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16767
        "/ 'mapped' printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16768
        jComponentEventClass := Java classForName: 'java.awt.event.ComponentEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16769
        id := (jComponentEventClass instVarNamed: 'COMPONENT_SHOWN').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16770
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16771
"/        x := eventArgs at:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16772
"/        y := eventArgs at:2.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16773
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16774
        jEv := jComponentEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16775
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16776
        ^ Array with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16777
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16778
    (type == #unmapped) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16779
        "/ 'unmapped' printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16780
        jComponentEventClass := Java classForName: 'java.awt.event.ComponentEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16781
        id := (jComponentEventClass instVarNamed: 'COMPONENT_HIDDEN').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16782
        
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16783
"/        x := eventArgs at:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16784
"/        y := eventArgs at:2.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16785
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16786
        jEv := jComponentEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16787
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16788
        ^ Array with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16789
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16790
    (type == #terminate) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16791
        jWindowEventClass := Java classForName: 'java.awt.event.WindowEvent'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16792
         "NEW
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16793
         id := (jWindowEventClass instVarNamed:'WINDOW_CLOSING').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16794
        " "OLD "
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16795
        id := (jWindowEventClass instVarNamed: 'WINDOW_CLOSED').
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16796
         
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16797
        jEv := jWindowEventClass newCleared.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16798
        jEv instVarNamed: 'id' put: id.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16799
        ^ Array with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16800
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16801
    EventTrace == true ifTrue: [ ('JAVA: unhandled event:' , type) infoPrintCR. ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16802
    ^ nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16803
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16804
    "Created: / 6.1.1998 / 20:38:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16805
    "Modified: / 9.1.1999 / 09:29:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16806
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16807
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16808
delegatesTo:someOne
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16809
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16810
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16811
    "Created: / 25.9.1999 / 16:11:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16812
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16813
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16814
doWindowsEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16815
    "invoked in an endless loop by the WToolkit-eventLoop
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16816
     native method."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16817
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16818
    |sensor event more|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16819
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16820
    (JavaWindowGroup isNil or:[KnownWindows isNil]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16821
	"/ '*** eventThread: no windowGroup / views ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16822
	self waitFor:FirstWindowCreationSemaphore state:#eventWait timeOut:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16823
	"/ Delay waitForSeconds:0.1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16824
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16825
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16826
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16827
    "/ wait for an event to arrive ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16828
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16829
    sensor := JavaWindowGroup sensor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16830
    [sensor hasEvents or:[sensor damageCount ~~ 0]] whileFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16831
	EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16832
	    '*** eventThread waiting ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16833
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16834
	Processor activeProcess state:#eventWait.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16835
	self waitFor:sensor eventSemaphore state:#eventWait timeOut:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16836
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16837
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16838
    EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16839
	'*** eventThread event arrived ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16840
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16841
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16842
    "/ EventTrace := true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16843
    more := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16844
    [more] whileTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16845
	sensor hasDamage ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16846
	    EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16847
		'*** eventThread: damage arrived ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16848
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16849
	    event := sensor nextDamage.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16850
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16851
	    event := sensor nextEvent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16852
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16853
	event isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16854
	    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16855
		'*** eventThread: nil event ignored' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16856
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16857
	    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16858
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16860
	more := self processEvent:event
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16861
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16862
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16863
    "Created: / 6.1.1998 / 21:02:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16864
    "Modified: / 30.12.1998 / 19:21:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16865
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16866
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16867
processEvent: event 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16868
    | evQ  jEvents  jWToolKitClass  jWToolKit  jWinPeer  jWin  v  eventConsumed |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16869
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16870
    KnownWindows isNil ifTrue: [ ^ false ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16871
    v := event view.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16872
    jWinPeer := self jPeerForView: v.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16873
    jWinPeer isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16874
        v isJavaView ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16875
            "/ mhmh - an event for a JavaView,
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16876
            "/ which has no peer (anyMore ?)
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16877
            "/ should not happen.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16878
        ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16879
            "/ mhmh - an event for a subcomponent of an ST widget.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16880
            "/ let it be handled normally.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16881
            EventTrace ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16882
                ('*** eventThread: ' , event type 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16883
                    , '-event for unknown java-view - passed to view.') printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16884
            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16885
            event view dispatchEvent: event.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16886
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16887
        ^ true
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16888
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16889
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16890
    "/ change:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16891
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16892
    "/ where not passed to java, but instead forwarded directly to the widget
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16893
    "/ by the code below.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16894
    "/ This has changed, to pass it to Java, which eventually passes it to the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16895
    "/ peer via the handleEvent native method (unless the event got consumed).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16896
    "/ This is req'd to let java keep track of keyboard/mouse input for widgets.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16897
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16898
    (event isDamage and: [ v isJavaView ]) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16899
        "/    "/ most views handle their events themself (being ST/X views) ...
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16900
        "/
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16901
        "/    v class ~~ JavaView ifTrue:[
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16902
        "/"/        v class ~~ StandardSystemView ifTrue:[
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16903
        "/"/            EventTrace ifTrue:[
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16904
        "/"/                    ('*** eventThread: event handled by view itself (' , v class name , ')') printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16905
        "/"/            ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16906
        "/"/            event sendEventWithFocusOn:nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16907
        "/"/            ^ self.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16908
        "/"/        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16909
        "/        (event type == #'exposeX:y:width:height'
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16910
        "/        or:[event type == #'graphicsExposeX:y:width:height']) ifTrue:[
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16911
        "/            "/ send to view, but also handle in JAVA
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16912
        "/            event sendEventWithFocusOn:nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16913
        "/        ]
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16914
        "/    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16915
        (#( #mapped
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16916
         #unmapped
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16917
         #configureX:y:width:height:
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16918
         #exposeX:y:width:height:
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16919
         #graphicsExposeX:y:width:height: ) includes: event type) ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16920
            event sendEventWithFocusOn: nil.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16921
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16922
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16923
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16924
    "/ what a kludge - some events are passed back to
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16925
    "/ ST via the WComponent-handleEvent native method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16926
    "/ However, repaints are not.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16927
    "/ In order to let ST widgets do the drawing,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16928
    "/ selectively filter exposeEvents from Java ...
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16929
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16930
    eventConsumed := false.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16931
    v isJavaView ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16932
        "/ all events handled by Java ...
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16933
    ] ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16934
        eventConsumed := true.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16935
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16936
        "/ let widget handle it.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16937
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16938
        event view dispatchEvent: event.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16939
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16940
        "/ some are not passed to Java ...
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16941
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16942
        event isDamage ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16943
            (v isKindOf: Button) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16944
            (v isKindOf: TextView) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16945
            (v isKindOf: Label) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16946
            (v isKindOf: ComboBoxView) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16947
            (v isKindOf: ScrollBar) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16948
            (v isKindOf: Scroller) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16949
            (v isKindOf: MenuPanel) ifTrue: [ ^ true ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16950
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16951
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16952
    jWin := jWinPeer instVarNamed: 'target'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16953
    EventTrace ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16954
        ('*** eventThread: event (' , event type , ') handled by JAVA: ') 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16955
            infoPrint.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16956
        jWinPeer class name infoPrint.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16957
        ' (' infoPrint.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16958
        jWin class name infoPrint.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16959
        ')' infoPrintCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16960
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16961
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16962
    "/ create an event
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16963
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16964
    jEvents := self awtEventsForEvent: event javaWindow: jWin.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16965
    jEvents isNil ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16966
        EventTrace ifTrue: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16967
            ('*** eventThread: event ignored: ' , event type) printCR.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16968
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16969
        ^ true
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16970
    ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16971
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16972
"/    v superView isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16973
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16974
"/        ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16975
"/    ].
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16976
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16977
    jWToolKitClass := self classForName: 'java.awt.Toolkit'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16978
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16979
    "/ jWToolKit := jWToolKitClass perform:#getDefaultToolkit.
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16980
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16981
    jWToolKit := jWToolKitClass 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16982
                performStatic: #'getDefaultToolkit()Ljava/awt/Toolkit;'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16983
    jEvents do: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16984
        :jEv | 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16985
        jEv instVarNamed: 'source' put: jWin.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16986
        jEv instVarNamed: 'consumed' put: 0.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16987
        eventConsumed ifFalse: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16988
            "/ the first gets the original event as data
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16989
            jEv instVarNamed: 'data' put: event.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16990
            eventConsumed := true
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16991
        ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16992
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16993
        "/ post it (them) to the event queue
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16994
        
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16995
        EventTrace == true ifTrue: [ 'postEvent to Java ...' printCR. ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16996
        jWToolKit "class" perform: #'postEvent(Ljava/awt/AWTEvent;)V' with: jEv.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 16997
    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16998
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16999
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17000
    "Created: / 6.1.1998 / 20:36:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17001
    "Modified: / 10.12.1998 / 19:36:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17002
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17003
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17004
!JavaVM::Reflection class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17005
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17006
documentation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17007
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17008
Reflection class holds information about 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17009
which java classes are loaded, hides workarounds
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17010
allowing java classes to behave like smalltalk ones,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17011
(remember everything is instance of some class rule?:)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17012
allows you to access java classes by their name, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17013
transform ST specific objects to java alternatives
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17014
and vice versa (java string and ST string are 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17015
undoubtely very different), manages constant
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17016
pools..
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17017
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17018
Correct me if I'm wrong, but one day this class will
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17019
be able to update constant pool and therefore 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17020
incremental compilation of java classes.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17021
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17022
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17023
    "Created: / 03-02-2011 / 00:56:27 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17024
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17025
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17026
!JavaVM::Reflection class methodsFor:'instance creation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17027
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17028
for: aJavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17030
    ^self new setVM: aJavaVM.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17031
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17032
    "Created: / 21-12-2010 / 19:42:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17033
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17034
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17035
new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17036
    "return an initialized instance"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17037
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17038
    ^ self basicNew initialize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17039
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17040
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17041
!JavaVM::Reflection methodsFor:'debugging'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17042
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17043
returnNilIfMissing
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17044
    ^ returnNilIfMissing.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17045
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17046
    "Created: / 28-01-2011 / 15:14:37 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17047
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17048
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17049
returnNilIfMissing:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17050
    returnNilIfMissing:= aBoolean.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17051
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17052
    "Created: / 28-01-2011 / 15:25:35 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17053
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17054
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17055
!JavaVM::Reflection methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17056
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17057
initialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17058
    constantPoolMapping := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17059
    javaClasses := Dictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17060
    javaArrayClasses := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17061
    javaMethods := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17062
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17063
    "Created: / 21-12-2010 / 19:46:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17064
    "Modified: / 09-02-2011 / 00:24:28 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17065
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17066
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17067
setVM: aJavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17068
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17069
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17070
    itself, not its instance)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17071
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17072
    vm := aJavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17073
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17074
    "Created: / 21-12-2010 / 19:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17075
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17076
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17077
!JavaVM::Reflection methodsFor:'reflection - classes'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17078
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17079
classForJavaClassObject: aJavaClassObject 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17080
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17081
        Given an instance of java.lang.Class, answers
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17082
        real (Java) class associated with it. The instance
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17083
        of java.lang.Class should be first created by myself
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17084
        (by sending #javaClassObjectForClass:)"
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17085
    
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17086
    (javaClasses at: aJavaClassObject ifAbsent: [ 123 ]) 
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
 17087
        == (JavaVM classNamed: 'stx/libjava/tests/junir/JUnit3Tests') 
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17088
            ifTrue: [ self breakPoint: #jv ].
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17089
    ^ javaClasses at: aJavaClassObject
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17090
        ifAbsent: [
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17091
            vm internalError: 'No class associated with given java.lang.Class!!'.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17092
            
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17093
            "/Please, no nils
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17094
            
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17095
            self returnNilIfMissing ifTrue: nil
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17096
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17097
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17098
    "Created: / 28-01-2011 / 15:22:39 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17099
    "Modified: / 05-02-2011 / 20:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1036
4ff03464c3b3 refactored registry..
hlopkmar
parents: 1035
diff changeset
 17100
    "Modified: / 21-10-2011 / 13:41:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17101
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17102
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17103
javaArrayClassObjectForClass:aClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17104
    ^ javaArrayClasses at:aClass ifAbsent:[self returnNilIfMissing ifTrue:nil].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17105
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17106
    "Created: / 28-01-2011 / 14:56:19 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17107
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17109
javaArrayClassObjectForClass:aClass ifAbsentPut:classOfaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17110
    ^ javaArrayClasses at:aClass ifAbsentPut: classOfaClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17111
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17112
    "Created: / 28-01-2011 / 14:59:21 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17113
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17114
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17115
javaClassObjectArrayForClasses: classes 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17116
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17117
        Answers an instance of java.lang.Class[] for given
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 17118
        real (Java) classes."
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 17119
    
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17120
    | array |
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17121
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17122
    array := (vm classForName: 'java.lang.Class') javaArrayClass 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17123
                new: classes size.
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17124
    classes isNilOrEmptyCollection ifTrue: [ ^ array ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 17125
    classes 
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 1030
diff changeset
 17126
        withIndexDo: [:cls :idx | array at: idx put: (self javaClassObjectForClass: cls) ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 17127
    ^ array
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17128
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17129
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17130
    "Created: / 04-02-2011 / 22:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17131
    "Modified: / 11-02-2011 / 10:21:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17132
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17134
javaClassObjectForClass:aClass 
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17135
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17136
    ^self javaClassObjectForClass:aClass init: true.
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17137
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17138
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17139
    "Modified: / 12-08-2011 / 19:07:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17140
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17141
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17142
javaClassObjectForClass: aClass init: init 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17143
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17144
        Answers an instance of java.lang.Class for given
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17145
        real (Java) class."
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17146
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17147
    | javaClassObj |
1030
9f87a1830611 fixed bug in java registry and we BOOT :)
hlopkmar
parents: 1029
diff changeset
 17148
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17149
    self assert: aClass isBehavior message: 'aClass is not behavior'.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17150
    self assert: aClass ~~ Array
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17151
        message: 'aClass should not be Array (old impl)'.
1028
d30cabc12354 fixed problem with classInit cycle.. still not booting :)
hlopkmar
parents: 1027
diff changeset
 17152
    javaClasses at: aClass ifPresent: [:javaClassObj | ^ javaClassObj ].
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17153
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17154
    "/ class must be initialized (with all of its superclasses ?).
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17155
    
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17156
    false ifTrue: [ aClass isJavaClass ifTrue: [ aClass classInit ]. ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17157
    javaClassObj := (vm classForName: 'java.lang.Class') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17158
    javaClasses at: aClass put: javaClassObj.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17159
    javaClasses at: javaClassObj put: aClass.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 17160
    ^ javaClassObj
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17161
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17162
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 17163
    "Created: / 12-08-2011 / 19:07:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17164
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17165
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17166
javaClassObjectForClassNamed: className 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17167
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17168
        Answers an instance of java.lang.Class for given
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17169
        (java) class name. The className may be name of primitive
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17170
        type, i.e. 'int', 'double'."
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17171
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17172
    | cls |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17173
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17174
    cls := JavaDescriptor baseTypesByTypeName at: className
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17175
                ifAbsent: [ vm classForName: className ].
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17176
    ^ self javaClassObjectForClass: cls.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17177
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17178
    "Created: / 03-02-2011 / 21:12:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 17179
    "Modified: / 08-04-2011 / 14:45:41 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17180
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17181
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17182
!JavaVM::Reflection methodsFor:'reflection - constant pool'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17183
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17184
constantPoolFor:javaConstantPoolObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17185
    ^ constantPoolMapping at:javaConstantPoolObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17186
        ifAbsent:[self error:'Given ConstantPool was not created by JVM']
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17188
    "Created: / 21-12-2010 / 19:56:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17189
    "Modified: / 28-01-2011 / 14:56:54 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17190
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17191
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17192
javaConstantPoolObjectFor: aConstantPool
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17193
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17194
    ^constantPoolMapping at: aConstantPool ifAbsent:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17195
        [| javaConstantPoolObject |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17196
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17197
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17198
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17199
        javaConstantPoolObject]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17200
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17201
    "Created: / 21-12-2010 / 19:54:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17202
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17203
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17204
!JavaVM::Reflection methodsFor:'reflection - methods & ctors'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17206
javaConstructorObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17207
     "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17208
      instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17209
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17210
    | jCtor |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17211
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17212
    javaMethods at:method ifPresent:[:existingCtor|^existingCtor].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17213
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17214
    jCtor := (Java classForName:'java.lang.reflect.Constructor') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17215
    self javaMethodObjectLikeSlotsInto: jCtor forMethod: method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17216
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17217
    javaMethods at:method put: jCtor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17218
    javaMethods at:jCtor put:method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17219
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17220
    ^ jCtor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17221
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17222
    "Created: / 09-02-2011 / 10:28:12 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17223
    "Modified: / 11-02-2011 / 06:44:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17224
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17226
javaMethodObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17227
     "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17228
      instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17229
     | jMethod |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17230
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17231
    javaMethods at:method ifPresent:[:existingCtor|^existingCtor].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17232
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17233
    jMethod := (Java classForName:'java.lang.reflect.Method') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17234
    self javaMethodObjectLikeSlotsInto: jMethod forMethod: method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17235
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17236
    javaMethods at:method put: jMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17237
    javaMethods at:jMethod put:method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17239
    jMethod 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17240
        instVarNamed: #name       put: (self javaStringObjectForString: (method selector upTo:$() interned: true);
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17241
        instVarNamed: #returnType put: (method descriptor returnClassObject);
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17242
        instVarNamed: #annotationDefault put: (method annotations default bytes);
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17243
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17244
        yourself.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17245
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17246
    ^jMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17247
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17248
    "Created: / 09-02-2011 / 10:29:46 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17249
    "Modified: / 03-03-2011 / 23:50:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17250
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17251
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17252
javaMethodObjectLikeSlotsInto: jMethod forMethod: method 
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17253
    "
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17254
       Fill in slots of given instance of java.lang.Method or
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17255
       java.lang.Constructor"
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17256
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17257
    | desc |
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17258
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17259
    desc := method descriptor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17260
    jMethod
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17261
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17262
        instVarNamed: #slot put: 0;
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17263
        instVarNamed: #modifiers put: method accessFlags;
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17264
        instVarNamed: #signature
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17265
            put: (self javaStringObjectForString: method signature interned: true);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17266
        instVarNamed: #parameterTypes
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17267
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17268
        instVarNamed: #exceptionTypes
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17269
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17270
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17271
        yourself.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17272
    ^ jMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17273
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17274
    "Created: / 11-02-2011 / 06:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17275
    "Modified: / 03-03-2011 / 23:07:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 17276
    "Modified: / 04-06-2011 / 17:17:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17277
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17278
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17279
methodForJavaConstructorObject:constructor 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17280
     "given a java.lang.reflect.Constructor, return the corresponding method
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17281
      it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17282
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17283
    |class signature|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17284
    class := self classForJavaClassObject:(constructor instVarNamed:#clazz).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17285
    signature := Java as_ST_String:(constructor instVarNamed:#signature).
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17286
    class methodsDo:[:mthd|
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17287
        mthd signature = signature ifTrue:[
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17288
            ^mthd
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17289
        ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17290
    ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17291
    self error: 'No ctor found for java ctor object'
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17292
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17293
    "Created: / 09-02-2011 / 10:36:07 / Marcel Hlopko <hlopik@gmail.com>"
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17294
    "Modified: / 14-08-2011 / 18:36:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17295
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17297
methodForJavaMethodObject:aJavaMethodObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17298
     "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17299
         Given an instance of java.lang.reflect.Method, answers
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17300
         real method associated with it. 
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17301
    "
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17302
    |class name signature |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17304
    class := self classForJavaClassObject:(aJavaMethodObject instVarNamed:#clazz).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17305
    name := Java as_ST_String:(aJavaMethodObject instVarNamed:#name).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17306
    signature := Java as_ST_String:(aJavaMethodObject instVarNamed:#signature).
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17307
    class methodsDo:[:mthd|
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 17308
        (mthd name = name and:[mthd signature = signature]) ifTrue:[
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17309
            ^mthd
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17310
        ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17311
    ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17312
    self assert: false description: 'No such method, malformed java.lang.reflect.Method object?'.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17313
    ^nil.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 17314
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17315
    "Created: / 09-02-2011 / 10:32:14 / Marcel Hlopko <hlopik@gmail.com>"
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 17316
    "Modified: / 17-08-2011 / 09:50:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17317
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17318
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17319
!JavaVM::Reflection methodsFor:'reflection - other'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17320
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17321
javaStringObjectForString:string 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17322
    ^ self javaStringObjectForString: string interned: false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17323
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17324
    "Created: / 09-02-2011 / 10:34:57 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17325
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17326
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17327
javaStringObjectForString:string interned:intern  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17328
    | s |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17329
    s := Java as_String: string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17330
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17332
    "Modified: / 22-11-2010 / 17:57:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17333
    "Created: / 09-02-2011 / 10:34:29 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17334
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17335
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17336
!JavaVM class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17337
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 17338
version
1022
38b710d7dfbc svn properties fixed
vranyj1
parents: 1021
diff changeset
 17339
    ^ '$Id$'
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 17340
!
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 17341
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 17342
version_CVS
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
 17343
    ^ '§Header: /cvs/stx/stx/libjava/JavaVM.st,v 1.186 2011/08/22 14:49:28 vrany Exp §'
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 17344
!
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 17345
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17346
version_SVN
1022
38b710d7dfbc svn properties fixed
vranyj1
parents: 1021
diff changeset
 17347
    ^ '$Id$'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17348
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 17349
924
7e66564a2302 fix for native sun.reflect.NativeMethodAccessorImpl.invoke0()
vranyj1
parents: 923
diff changeset
 17350
JavaVM initialize!