src/JavaVM.st
author hlopkmar
Wed, 19 Oct 2011 16:18:27 +0000
branchjk_new_structure
changeset 1026 5badd1d31864
parent 1024 e00483588b3d
child 1027 43dc608e14aa
permissions -rw-r--r--
introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
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
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
    70
		ZipLastModTimesCache ZipInflaters JavaPrivilegedAccessQuery'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    71
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    72
	category:'Languages-Java-Support'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    73
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    74
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    75
Object subclass:#Reflection
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    76
	instanceVariableNames:'vm constantPoolMapping javaClasses javaArrayClasses javaMethods
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    77
		returnNilIfMissing'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    78
	classVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    79
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    80
	privateIn:JavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    81
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    82
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    83
!JavaVM class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    84
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    85
copyright
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    86
"
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    87
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    88
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    89
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    90
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    91
 Parts of the code written by Claus Gittinger are under following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
    92
 license:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    93
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    94
 This software is furnished under a license and may be used
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    95
 only in accordance with the terms of that license and with the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    96
 inclusion of the above copyright notice.   This software may not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    97
 be provided or otherwise made available to, or used by, any
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    98
 other person.  No title to or ownership of the software is
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    99
 hereby transferred.
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   100
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   101
 Parts of the code written at SWING Reasearch Group [1] are MIT licensed:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   102
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   103
 Permission is hereby granted, free of charge, to any person
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   104
 obtaining a copy of this software and associated documentation
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   105
 files (the 'Software'), to deal in the Software without
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   106
 restriction, including without limitation the rights to use,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   107
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   108
 copies of the Software, and to permit persons to whom the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   109
 Software is furnished to do so, subject to the following
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   110
 conditions:
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   111
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   112
 The above copyright notice and this permission notice shall be
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   113
 included in all copies or substantial portions of the Software.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   114
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   115
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   116
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   117
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   118
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   119
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   120
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   121
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   122
 OTHER DEALINGS IN THE SOFTWARE.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   123
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   124
 [1] Code written at SWING Research Group contain a signature
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   125
     of one of the above copright owners.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 873
diff changeset
   126
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   127
"
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
documentation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   131
"Runtime support and environment for Java. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   132
You shouldn't communicate with JavaVM directly, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   133
use Java class instead. JavaVM is layer between
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   134
the native interpret and the rest of the system.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   135
JavaVM implements native java virtual machine 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   136
methods called by interpret, hides java primitive 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   137
types handling, and gives the ST world ways to 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   138
control class loading and reflection"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   139
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   140
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   141
nativeMethods
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   142
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   143
    all native methods:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   144
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   145
        JavaMethod allSubInstances select:[:m |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   146
            m isNative 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   147
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   148
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   149
    implemented methods:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   151
        JavaMethod allSubInstances select:[:m |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   152
            |sel|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   153
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   154
            m isNative ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   155
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   156
                JavaVM class implements:sel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   157
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   158
                false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   159
            ]
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
    unimplemented methods:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   164
        JavaMethod allSubInstances select:[:m |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   165
            |sel|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   167
            m isNative ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   168
                sel := ('_' , m javaClass lastName , '_' , m name , ':') asSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   169
                (JavaVM class implements:sel) not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   170
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   171
                false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   172
            ]
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
    list of all native methods as in jdk1.1.3:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   177
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   178
      X - implemented
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   179
      * - implemented to be validated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   180
      x - implemented with limited functionality
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   181
      o - implemented as dummy (no functionality)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   182
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   183
    X (Math::double sin (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   184
    X (Math::double cos (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   185
    X (Math::double tan (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   186
    X (Math::double asin (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   187
    X (Math::double acos (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   188
    X (Math::double atan (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   189
    X (Math::double exp (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   190
    X (Math::double log (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   191
    X (Math::double sqrt (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   192
      (Math::double IEEEremainder (double double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   193
    X (Math::double ceil (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   194
    X (Math::double floor (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   195
      (Math::double rint (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   196
      (Math::double atan2 (double double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   197
    X (Math::double pow (double double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   198
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   199
    X (Class::java.lang.Class forName (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   200
    X (Class::java.lang.Object newInstance ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   201
    * (Class::boolean isInstance (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   202
    X (Class::boolean isAssignableFrom (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   203
    X (Class::boolean isInterface ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   204
      (Class::boolean isArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   205
    X (Class::boolean isPrimitive ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   206
    X (Class::java.lang.String getName ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   207
    X (Class::java.lang.ClassLoader getClassLoader ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   208
    X (Class::java.lang.Class getSuperclass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   209
      (Class::java.lang.Class[] getInterfaces ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   210
      (Class::java.lang.Class getComponentType ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   211
      (Class::int getModifiers ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   212
      (Class::java.lang.Object[] getSigners ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   213
      (Class::void setSigners (java.lang.Object[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   214
    X (Class::java.lang.Class getPrimitiveClass (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   215
      (Class::java.lang.reflect.Field getField0 (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   216
      (Class::java.lang.reflect.Field[] getFields0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   217
    X (Class::java.lang.reflect.Method getMethod0 (java.lang.String java.lang.Class[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   218
    X (Class::java.lang.reflect.Method[] getMethods0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   219
      (Class::java.lang.reflect.Constructor[] getConstructors0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   220
      (Class::java.lang.reflect.Constructor getConstructor0 (java.lang.Class[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   221
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   222
    X (InetAddressImpl::java.lang.String getLocalHostName ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   223
    X (InetAddressImpl::void makeAnyLocalAddress (java.net.InetAddress))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   224
    X (InetAddressImpl::byte[][] lookupAllHostAddr (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   225
      (InetAddressImpl::java.lang.String getHostByAddr (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   226
    X (InetAddressImpl::int getInetFamily ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   227
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   228
    X (ResourceBundle::java.lang.Class[] getClassContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   229
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   230
    X (System::void setIn0 (java.io.InputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   231
    X (System::void setOut0 (java.io.PrintStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   232
    X (System::void setErr0 (java.io.PrintStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   233
    X (System::long currentTimeMillis ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   234
    X (System::void arraycopy (java.lang.Object int java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   235
    X (System::int identityHashCode (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   236
    X (System::java.util.Properties initProperties (java.util.Properties))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   237
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   238
    X (Thread::java.lang.Thread currentThread ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   239
    X (Thread::void yield ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   240
    X (Thread::void sleep (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   241
    X (Thread::void start ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   242
    X (Thread::boolean isInterrupted (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   243
    X (Thread::boolean isAlive ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   244
      (Thread::int countStackFrames ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   245
    X (Thread::void setPriority0 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   246
    X (Thread::void stop0 (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   247
    X (Thread::void suspend0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   248
    X (Thread::void resume0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   249
    * (Thread::void interrupt0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   250
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   251
      (String::java.lang.String intern ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   253
    X (Float::int floatToIntBits (float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   254
    X (Float::float intBitsToFloat (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   256
      (ObjectStreamClass::int getClassAccess (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   257
      (ObjectStreamClass::java.lang.String[] getMethodSignatures (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   258
      (ObjectStreamClass::int getMethodAccess (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   259
      (ObjectStreamClass::java.lang.String[] getFieldSignatures (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   260
      (ObjectStreamClass::int getFieldAccess (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   261
      (ObjectStreamClass::java.io.ObjectStreamField[] getFields0 (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   262
      (ObjectStreamClass::long getSerialVersionUID (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   263
      (ObjectStreamClass::boolean hasWriteObject (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   264
      (ObjectInputStream::java.lang.Class loadClass0 (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   265
      (ObjectInputStream::void inputClassFields (java.lang.Object java.lang.Class int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   266
      (ObjectInputStream::java.lang.Object allocateNewObject (java.lang.Class java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   267
      (ObjectInputStream::java.lang.Object allocateNewArray (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   268
      (ObjectInputStream::boolean invokeObjectReader (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   269
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   270
      (SecurityManager::java.lang.Class[] getClassContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   271
    X (SecurityManager::java.lang.ClassLoader currentClassLoader ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   272
      (SecurityManager::int classDepth (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   273
    X (SecurityManager::int classLoaderDepth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   274
      (SecurityManager::java.lang.Class currentLoadedClass0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   275
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   276
    X (ClassLoader::void init ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   277
    X (ClassLoader::java.lang.Class defineClass0 (java.lang.String byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   278
    X (ClassLoader::void resolveClass0 (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   279
    X (ClassLoader::java.lang.Class findSystemClass0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   280
    X (ClassLoader::java.io.InputStream getSystemResourceAsStream0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   281
      (ClassLoader::java.lang.String getSystemResourceAsName0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   282
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   283
    X (FileDescriptor::boolean valid ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   284
      (FileDescriptor::void sync ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   285
    X (FileDescriptor::java.io.FileDescriptor initSystemFD (java.io.FileDescriptor int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   286
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   287
    X (Object::java.lang.Class getClass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   288
    X (Object::int hashCode ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   289
    X (Object::java.lang.Object clone ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   290
    X (Object::void notify ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   291
    X (Object::void notifyAll ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   292
    X (Object::void wait (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   293
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   294
    X (FileOutputStream::void open (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   295
    X (FileOutputStream::void openAppend (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   296
    X (FileOutputStream::void write (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   297
    X (FileOutputStream::void writeBytes (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   298
    X (FileOutputStream::void close ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   299
    X (FileInputStream::void open (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   300
    X (FileInputStream::int read ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   301
    X (FileInputStream::int readBytes (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   302
      (FileInputStream::long skip (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   303
    X (FileInputStream::int available ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   304
    X (FileInputStream::void close ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   305
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   306
      (VM::int getState ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   307
      (VM::boolean threadsSuspended ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   308
      (VM::void unsuspendThreads ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   309
      (VM::void unsuspendSomeThreads ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   311
    X (File::boolean exists0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   312
    X (File::boolean canWrite0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   313
    X (File::boolean canRead0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   314
    X (File::boolean isFile0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   315
    X (File::boolean isDirectory0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   316
    X (File::long lastModified0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   317
    X (File::long length0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   318
    X (File::boolean mkdir0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   319
    X (File::boolean renameTo0 (java.io.File))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   320
    X (File::boolean delete0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   321
      (File::boolean rmdir0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   322
    X (File::java.lang.String[] list0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   323
      (File::java.lang.String canonPath (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   324
    X (File::boolean isAbsolute ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   325
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   326
      (ObjectOutputStream::void outputClassFields (java.lang.Object java.lang.Class int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   327
      (ObjectOutputStream::boolean invokeObjectWriter (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   328
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   329
    X (Throwable::void printStackTrace0 (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   330
    X (Throwable::java.lang.Throwable fillInStackTrace ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   332
    X (Double::long doubleToLongBits (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   333
    X (Double::double longBitsToDouble (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   334
    X (Double::double valueOf0 (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   335
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   336
    X (Runtime::void exitInternal (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   337
    o (Runtime::void runFinalizersOnExit0 (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   338
    o (Runtime::java.lang.Process execInternal (java.lang.String[] java.lang.String[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   339
    X (Runtime::long freeMemory ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   340
    X (Runtime::long totalMemory ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   341
    X (Runtime::void gc ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   342
      (Runtime::void runFinalization ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   343
      (Runtime::void traceInstructions (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   344
      (Runtime::void traceMethodCalls (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   345
    X (Runtime::java.lang.String initializeLinkerInternal ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   346
    X (Runtime::java.lang.String buildLibName (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   347
    X (Runtime::int loadFileInternal (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   349
      (WDrawingSurfaceInfo::int lock ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   350
      (WDrawingSurfaceInfo::void unlock ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   351
      (WDrawingSurfaceInfo::int getHWnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   352
      (WDrawingSurfaceInfo::int getHBitmap ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   353
      (WDrawingSurfaceInfo::int getPBits ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   354
      (WDrawingSurfaceInfo::int getHDC ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   355
      (WDrawingSurfaceInfo::int getDepth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   356
      (WDrawingSurfaceInfo::int getHPalette ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   357
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   358
    X (WDefaultFontCharset::boolean canConvert (char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   359
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   360
      (ColorModel::void deletepData ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   361
    X (WToolkit::void init (java.lang.Thread))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   362
    X (WToolkit::void eventLoop ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   363
      (WToolkit::java.awt.image.ColorModel makeColorModel ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   364
    X (WToolkit::int getScreenResolution ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   365
    X (WToolkit::int getScreenWidth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   366
    X (WToolkit::int getScreenHeight ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   367
      (WToolkit::void sync ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   368
    * (WToolkit::void beep ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   369
    X (WToolkit::void loadSystemColors (int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   370
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   371
      (WPrintJob::void end ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   372
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   373
    X (WDialogPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   374
    X (WDialogPeer::void _show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   375
    X (WDialogPeer::void _hide ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   376
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   377
    X (WWindowPeer::void toFront ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   378
    X (WWindowPeer::void toBack ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   379
    X (WWindowPeer::void _setTitle (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   380
    X (WWindowPeer::void _setResizable (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   381
    X (WWindowPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   382
    o (WWindowPeer::void updateInsets (java.awt.Insets))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   383
      (WWindowPeer::java.awt.Component getContainerElement (java.awt.Container int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   384
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   385
    X (WCanvasPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   386
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   387
    X (WTextAreaPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   388
    X (WTextAreaPeer::void insertText (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   389
      (WTextAreaPeer::void replaceText (java.lang.String int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   390
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   391
    X (WTextComponentPeer::java.lang.String getText ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   392
    X (WTextComponentPeer::void setText (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   393
    X (WTextComponentPeer::int getSelectionStart ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   394
    X (WTextComponentPeer::int getSelectionEnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   395
    X (WTextComponentPeer::void select (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   396
    X (WTextComponentPeer::void enableEditing (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   397
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   398
    X (WComponentPeer::void show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   399
    X (WComponentPeer::void hide ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   400
    X (WComponentPeer::void enable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   401
    X (WComponentPeer::void disable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   402
    X (WComponentPeer::java.awt.Point getLocationOnScreen ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   403
    X (WComponentPeer::void reshape (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   404
    o (WComponentPeer::void handleEvent (java.awt.AWTEvent))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   405
    o (WComponentPeer::void _dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   406
    X (WComponentPeer::void _setForeground (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   407
    X (WComponentPeer::void _setBackground (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   408
    o (WComponentPeer::void setFont (java.awt.Font))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   409
    o (WComponentPeer::void requestFocus ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   410
    o (WComponentPeer::void setCursor (java.awt.Cursor))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   411
    o (WComponentPeer::void start ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   412
      (WComponentPeer::void _beginValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   413
      (WComponentPeer::void endValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   414
    o (WComponentPeer::void setZOrderPosition (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   415
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   416
    X (WFramePeer::void setMenuBar0 (sun.awt.windows.WMenuBarPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   417
    X (WFramePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   418
    X (WFramePeer::void _setIconImage (sun.awt.image.ImageRepresentation))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   419
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   420
    o (WFontMetrics::boolean needsConversion (java.awt.Font sun.awt.FontDescriptor))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   421
    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
   422
      (WFontMetrics::int bytesWidth (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   423
      (WFontMetrics::void init ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   424
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   425
    o (WChoicePeer::void select (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   426
    o (WChoicePeer::void remove (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   427
    o (WChoicePeer::void addItem (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   428
    X (WChoicePeer::void reshape (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   429
    X (WChoicePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   430
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   431
    X (WLabelPeer::void setText (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   432
    o (WLabelPeer::void setAlignment (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   433
    X (WLabelPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   434
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   435
    X (WMenuItemPeer::void _setLabel (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   436
    X (WMenuItemPeer::void create (sun.awt.windows.WMenuPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   437
    X (WMenuItemPeer::void enable (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   438
    o (WMenuItemPeer::void _dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   439
      (WMenuPeer::void addSeparator ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   440
      (WMenuPeer::void delItem (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   441
    X (WMenuPeer::void createMenu (sun.awt.windows.WMenuBarPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   442
      (WMenuPeer::void createSubMenu (sun.awt.windows.WMenuPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   443
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   444
      (WPopupMenuPeer::void createMenu (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   445
      (WPopupMenuPeer::void _show (java.awt.Event))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   446
      (WMenuBarPeer::void addMenu (java.awt.Menu))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   447
      (WMenuBarPeer::void delMenu (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   448
    X (WMenuBarPeer::void create (sun.awt.windows.WFramePeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   449
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   450
      (WCheckboxMenuItemPeer::void setState (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   451
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   452
    X (WFileDialogPeer::void show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   453
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   454
    X (WCheckboxPeer::void setState (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   455
    X (WCheckboxPeer::void setCheckboxGroup (java.awt.CheckboxGroup))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   456
      (WCheckboxPeer::void setLabel (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   457
    X (WCheckboxPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   458
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   459
    X (WClipboard::void init ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   460
      (WClipboard::void setClipboardText (java.awt.datatransfer.StringSelection))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   461
      (WClipboard::java.lang.String getClipboardText ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   462
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   463
    X (WListPeer::void addItem (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   464
    X (WListPeer::void delItems (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   465
    X (WListPeer::void select (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   466
      (WListPeer::void deselect (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   467
      (WListPeer::void makeVisible (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   468
    X (WListPeer::void setMultipleSelections (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   469
    X (WListPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   470
    X (WListPeer::boolean isSelected (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   471
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   472
    x (WScrollbarPeer::void _setValues (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   473
    x (WScrollbarPeer::void setLineIncrement (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   474
    x (WScrollbarPeer::void setPageIncrement (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   475
    x (WScrollbarPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   476
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   477
    x (ImageRepresentation::void offscreenInit (java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   478
    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
   479
    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
   480
    x (ImageRepresentation::boolean finish (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   481
    X (ImageRepresentation::void imageDraw (java.awt.Graphics int int java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   482
    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
   483
    x (ImageRepresentation::void disposeImage ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   484
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   485
    X (WTextFieldPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   486
    X (WTextFieldPeer::void setEchoCharacter (char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   487
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   488
    X (WScrollPanePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   489
    o (WScrollPanePeer::int getOffset (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   490
      (WScrollPanePeer::void setInsets ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   491
      (WScrollPanePeer::void setScrollPosition (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   492
    x (WScrollPanePeer::int _getHScrollbarHeight ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   493
    x (WScrollPanePeer::int _getVScrollbarWidth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   494
    o (WScrollPanePeer::void setSpans (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   495
      (WScrollPanePeer::java.awt.Component getScrollChild ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   496
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   497
      (WEmbeddedFramePeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   498
    X (WButtonPeer::void setLabel (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   499
    X (WButtonPeer::void create (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   500
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   501
    x (WColor::java.awt.Color getDefaultColor (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   502
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   503
    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
   504
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   505
    x (WGraphics::void createFromComponent (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   506
    x (WGraphics::void createFromGraphics (sun.awt.windows.WGraphics))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   507
      (WGraphics::void createFromPrintJob (sun.awt.windows.WPrintJob))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   508
      (WGraphics::void createFromHDC (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   509
    x (WGraphics::void imageCreate (sun.awt.image.ImageRepresentation))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   510
    x (WGraphics::void pSetFont (java.awt.Font))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   511
    X (WGraphics::void pSetForeground (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   512
      (WGraphics::void _dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   513
    x (WGraphics::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   514
    x (WGraphics::void setPaintMode ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   515
    x (WGraphics::void setXORMode (java.awt.Color))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   516
    o (WGraphics::java.awt.Rectangle getClipBounds ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   517
    o (WGraphics::void changeClip (int int int int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   518
      (WGraphics::void removeClip ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   519
    X (WGraphics::void clearRect (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   520
    X (WGraphics::void fillRect (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   521
    X (WGraphics::void drawRect (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   522
      (WGraphics::void drawSFChars (char[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   523
    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
   524
      (WGraphics::int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   525
      (WGraphics::void drawBytes (byte[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   526
    X (WGraphics::void drawLine (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   527
    X (WGraphics::void copyArea (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   528
    o (WGraphics::void drawRoundRect (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   529
    o (WGraphics::void fillRoundRect (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   530
    X (WGraphics::void drawPolygon (int[] int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   531
      (WGraphics::void drawPolyline (int[] int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   532
    X (WGraphics::void fillPolygon (int[] int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   533
    x (WGraphics::void drawOval (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   534
    x (WGraphics::void fillOval (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   535
    x (WGraphics::void drawArc (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   536
    x (WGraphics::void fillArc (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   537
      (WGraphics::void print (sun.awt.windows.WComponentPeer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   538
      (WGraphics::void close (sun.awt.windows.WPrintJob))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   539
      (JPEGImageDecoder::void readImage (java.io.InputStream byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   540
    o (OffScreenImageSource::void sendPixels ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   541
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   542
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   543
    additional native methods added by microsoft (sigh):
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   544
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   545
    X (java.lang.String::boolean equals (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   546
    X (java.lang.String::int length (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   547
    o (java.lang.Runtime::void setInputStreamLocalised (java.io.DataInputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   548
    o (java.lang.Runtime::void setOutputStreamLocalised (java.io.DataOutputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   549
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   550
      (java.lang.String::int compareTo (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   551
      (java.lang.String::boolean equalsIgnoreCase (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   552
      (java.lang.String::int indexOf (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   553
      (java.lang.String::boolean startsWith (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   554
      (java.lang.String::boolean regionMatches (int java.lang.String int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   555
      (java.lang.String::boolean regionMatches (boolean int java.lang.String int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   556
      (java.lang.String::int lastIndexOf (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   557
      (java.lang.ClassLoader::void resolveClass (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   558
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   559
      (java.lang.ClassLoader::java.lang.Class createArrayClass (java.lang.String java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   560
      (java.io.PrintStream::boolean isOutputStreamLocalised (java.io.DataOutputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   561
      (java.lang.Runtime::boolean isOutputStreamLocalised (java.io.DataOutputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   562
      (java.lang.Runtime::boolean isInputStreamLocalised (java.io.DataInputStream))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   563
      (java.lang.ThreadGroup::void initMainThreadGroup0 (java.lang.ThreadGroup))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   564
      (java.lang.System::void validateSecurityManager (java.lang.SecurityManager))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   565
      (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
   566
      (java.io.ObjectOutputStream::void invokeDefaultWriteObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   567
      (java.io.ObjectOutputStream::void invokeWriteObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   568
      (java.io.ObjectInputStream::void invokeDefaultReadObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   569
      (java.io.ObjectInputStream::void invokeReadObject (java.lang.Object java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   570
      (java.util.TimeZone::java.util.TimeZone getWin32TimeZone ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   571
      (java.net.InetAddress::java.lang.Object[] lookupHostByName (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   572
      (java.net.InetAddress::java.lang.Object[] lookupHostByAddr (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   573
      (java.io.ObjectStreamClass::void doMismatchedRead (java.io.ObjectInputStream java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   574
      (java.io.ObjectStreamClass::long getClassDefinedUID (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   575
      (java.io.ObjectStreamClass::boolean findObjectMethod0 (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   576
      (java.lang.reflect.Method::java.lang.String getDescriptor ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   577
      (java.lang.reflect.Array::void setShort (java.lang.Object int unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   578
      (java.lang.reflect.Array::char getChar (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   579
      (java.lang.reflect.Array::void setChar (java.lang.Object int char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   580
      (java.lang.reflect.Array::void setDouble (java.lang.Object int double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   581
      (java.lang.reflect.Array::java.lang.Object get (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   582
      (java.lang.reflect.Array::void set (java.lang.Object int java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   583
      (java.lang.reflect.Array::int getInt (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   584
      (java.lang.reflect.Array::void setInt (java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   585
      (java.lang.reflect.Array::java.lang.Object multiNewArray (java.lang.Class int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   586
      (java.lang.reflect.Array::boolean getBoolean (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   587
      (java.lang.reflect.Array::byte getByte (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   588
      (java.lang.reflect.Array::float getFloat (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   589
      (java.lang.reflect.Array::void setBoolean (java.lang.Object int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   590
      (java.lang.reflect.Array::long getLong (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   591
      (java.lang.reflect.Array::void setByte (java.lang.Object int byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   592
      (java.lang.reflect.Array::void setLong (java.lang.Object int long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   593
      (java.lang.reflect.Array::void setFloat (java.lang.Object int float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   594
      (java.lang.reflect.Array::java.lang.Object newArray (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   595
      (java.lang.reflect.Array::int getLength (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   596
      (java.lang.reflect.Array::unsigned short getShort (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   597
      (java.lang.reflect.Array::double getDouble (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   598
      (java.lang.reflect.Field::void setShort (java.lang.Object unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   599
      (java.lang.reflect.Field::char getChar (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   600
      (java.lang.reflect.Field::void setChar (java.lang.Object char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   601
      (java.lang.reflect.Field::void setDouble (java.lang.Object double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   602
      (java.lang.reflect.Field::java.lang.Object get (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   603
      (java.lang.reflect.Field::void set (java.lang.Object java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   604
      (java.lang.reflect.Field::int getInt (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   605
      (java.lang.reflect.Field::void setInt (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   606
      (java.lang.reflect.Field::boolean getBoolean (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   607
      (java.lang.reflect.Field::byte getByte (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   608
      (java.lang.reflect.Field::float getFloat (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   609
      (java.lang.reflect.Field::long getLong (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   610
      (java.lang.reflect.Field::void setBoolean (java.lang.Object boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   611
      (java.lang.reflect.Field::void setByte (java.lang.Object byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   612
      (java.lang.reflect.Field::void setLong (java.lang.Object long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   613
      (java.lang.reflect.Field::void setFloat (java.lang.Object float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   614
      (java.lang.reflect.Field::int getModifiers ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   615
      (java.lang.reflect.Field::unsigned short getShort (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   616
      (java.lang.reflect.Field::double getDouble (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   617
      (java.lang.reflect.Constructor::java.lang.Object newInstance (java.lang.Object[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   618
      (java.lang.reflect.Constructor::int getModifiers ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   619
      (java.util.zip.Inflater::void setDictionary0 (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   620
      (java.util.zip.Inflater::int getTotalIn0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   621
      (java.util.zip.Inflater::void reset0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   622
      (java.util.zip.Inflater::void end0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   623
      (java.util.zip.Inflater::int inflate0 (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   624
      (java.util.zip.Inflater::int getTotalOut0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   625
      (java.util.zip.Inflater::int getAdler0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   626
      (java.util.zip.CRC32::void update1 (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   627
      (java.util.zip.CRC32::void update (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   628
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   629
      (com.ms.security.PolicyEngine::boolean isSystemClass (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   630
      (com.ms.security.PolicyEngine::void denyPermission (com.ms.security.PermissionID))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   631
      (com.ms.security.PolicyEngine::void revertPermission (com.ms.security.PermissionID))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   632
      (com.ms.security.PolicyEngine::void initPolicyEngine ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   633
      (com.ms.security.PolicyEngine::java.lang.Class _getClassOfCaller (java.lang.Class[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   634
      (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
   635
      (com.ms.security.PolicyEngine::com.ms.security.PermissionDataSet getPermissionsOfClass (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   636
      (com.ms.security.PolicyEngine::void assertPermission (com.ms.security.PermissionID))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   637
      (com.ms.security.PolicyEngine::void deepCheck (com.ms.security.PermissionID java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   638
      (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
   639
      (com.ms.security.PolicyEngine::java.security.Principal getPrincipalOfClass (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   640
      (com.ms.security.permissions.ThreadPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   641
      (com.ms.security.permissions.ThreadPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   642
      (com.ms.security.permissions.RegistryPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   643
      (com.ms.security.permissions.RegistryPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   644
      (com.ms.security.management.ZonePermissions::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   645
      (com.ms.security.management.ZonePermissions::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   646
      (com.ms.security.permissions.UIPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   647
      (com.ms.security.permissions.UIPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   648
      (com.ms.security.permissions.NetIOPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   649
      (com.ms.security.permissions.NetIOPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   650
      (com.ms.security.permissions.ReflectionPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   651
      (com.ms.security.permissions.ReflectionPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   652
      (com.ms.vm.WeakReference::void storeRef (int java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   653
      (com.ms.vm.WeakReference::int allocRef (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   654
      (com.ms.vm.WeakReference::void freeRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   655
      (com.ms.vm.WeakReference::java.lang.Object fetchRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   656
      (com.ms.dll.DllLib::void CoTaskMemFree (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   657
      (com.ms.dll.DllLib::void CopyWithDstOffset (int float[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   658
      (com.ms.dll.DllLib::void CopyWithDstOffset (int double[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   659
      (com.ms.dll.DllLib::int numParamBytes0 (java.lang.reflect.Method))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   660
      (com.ms.dll.DllLib::void CopyWithDstOffset (int java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   661
      (com.ms.dll.DllLib::void write2 (java.lang.Object int unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   662
      (com.ms.dll.DllLib::void write2 (int int unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   663
      (com.ms.dll.DllLib::void write2 (java.lang.Object int char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   664
      (com.ms.dll.DllLib::void write2 (int int char))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   665
      (com.ms.dll.DllLib::int GlobalAlloc (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   666
      (com.ms.dll.DllLib::void resize (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   667
      (com.ms.dll.DllLib::long read8 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   668
      (com.ms.dll.DllLib::long read8 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   669
      (com.ms.dll.DllLib::int lstrcpy (java.lang.StringBuffer int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   670
      (com.ms.dll.DllLib::int lstrlenA (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   671
      (com.ms.dll.DllLib::int read4 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   672
      (com.ms.dll.DllLib::int CoTaskMemAlloc (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   673
      (com.ms.dll.DllLib::void write8 (java.lang.Object int long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   674
      (com.ms.dll.DllLib::int sizeOf0 (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   675
      (com.ms.dll.DllLib::int getSystemDefaultCharSize ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   676
      (com.ms.dll.DllLib::void write8 (int int long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   677
      (com.ms.dll.DllLib::int read4 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   678
      (com.ms.dll.DllLib::byte read1 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   679
      (com.ms.dll.DllLib::byte read1 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   680
      (com.ms.dll.DllLib::int lstrlen (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   681
      (com.ms.dll.DllLib::void CopyMemoryAnsi (int java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   682
      (com.ms.dll.DllLib::void CopyMemoryAnsi (java.lang.StringBuffer int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   683
      (com.ms.dll.DllLib::boolean isStruct (java.lang.reflect.Field))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   684
      (com.ms.dll.DllLib::boolean GlobalFree (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   685
      (com.ms.dll.DllLib::void internalAttemptCopyPtrToStruct (int java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   686
      (com.ms.dll.DllLib::int getLastError ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   687
      (com.ms.dll.DllLib::void write4 (java.lang.Object int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   688
      (com.ms.dll.DllLib::void write4 (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   689
      (com.ms.dll.DllLib::unsigned short read2 (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   690
      (com.ms.dll.DllLib::unsigned short read2 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   691
      (com.ms.dll.DllLib::void release (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   692
      (com.ms.dll.DllLib::void write1 (java.lang.Object int byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   693
      (com.ms.dll.DllLib::void write1 (int int byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   694
      (com.ms.dll.DllLib::boolean isStructCls (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   695
      (com.ms.dll.DllLib::void prelink (java.lang.reflect.Method))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   696
      (com.ms.dll.DllLib::void CopyMemoryUni (int java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   697
      (com.ms.dll.DllLib::void CopyMemoryUni (java.lang.StringBuffer int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   698
      (com.ms.dll.DllLib::void internalAttemptCopyStructToPtr (java.lang.Object int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   699
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   700
      (com.ms.dll.DllLib::void CopyWithSrcOffset (byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   701
      (com.ms.dll.DllLib::void CopyWithSrcOffset (char[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   702
      (com.ms.dll.DllLib::void CopyWithSrcOffset (unsigned short[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   703
      (com.ms.dll.DllLib::void CopyWithSrcOffset (int[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   704
      (com.ms.dll.DllLib::void CopyWithSrcOffset (long[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   705
      (com.ms.dll.DllLib::void CopyWithSrcOffset (float[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   706
      (com.ms.dll.DllLib::void CopyWithSrcOffset (double[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   707
      (com.ms.dll.DllLib::void CopyWithSrcOffset (java.lang.Object int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   708
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   709
      (com.ms.dll.DllLib::int lstrlenW (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   710
      (com.ms.dll.DllLib::void CopyWithDstOffset (int byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   711
      (com.ms.dll.DllLib::void CopyWithDstOffset (int char[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   712
      (com.ms.dll.DllLib::void CopyWithDstOffset (int unsigned short[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   713
      (com.ms.dll.DllLib::void CopyWithDstOffset (int int[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   714
      (com.ms.dll.DllLib::void CopyWithDstOffset (int long[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   715
      (com.ms.dll.DllLib::int internalGetStructAddr (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   716
      (com.ms.dll.DllLib::int offsetOf (java.lang.reflect.Field))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   717
      (com.ms.dll.DllLib::int lstrcpy (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   718
      (com.ms.dll.DllLib::int sizeOf (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   719
      (com.ms.lang.RegKey::com.ms.lang.RegKeyEnumValue pRegEnumValue (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   720
      (com.ms.lang.RegKey::java.lang.String pRegQueryStringValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   721
      (com.ms.lang.RegKey::byte[] pRegQueryBinaryValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   722
      (com.ms.lang.RegKey::int pRegQueryIntValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   723
      (com.ms.lang.RegKey::void pRegSetStringValue (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   724
      (com.ms.lang.RegKey::void pRegSetIntValue (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   725
      (com.ms.lang.RegKey::void pRegSetBinaryValue (java.lang.String byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   726
      (com.ms.lang.RegKey::void pRegDeleteValue (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   727
      (com.ms.lang.RegKey::void pRegFlushKey ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   728
      (com.ms.lang.RegKey::void pRegDeleteKey (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   729
      (com.ms.lang.RegKey::void pRegOpenBaseKey (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   730
      (com.ms.lang.RegKey::void pRegOpenKey (com.ms.lang.RegKey java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   731
      (com.ms.lang.RegKey::int pRegQueryInfoKey (com.ms.lang.RegQueryInfo))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   732
      (com.ms.lang.RegKey::void pRegUnLoadKey (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   733
      (com.ms.lang.RegKey::void pRegCreateKey (com.ms.lang.RegKey java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   734
      (com.ms.lang.RegKey::void pRegRestoreKey (java.lang.String boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   735
      (com.ms.lang.RegKey::void pRegLoadKey (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   736
      (com.ms.lang.RegKey::void pRegCloseKey ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   737
      (com.ms.lang.RegKey::java.lang.String pRegEnumKey (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   738
      (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
   739
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayouts (int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   740
      (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
   741
      (com.ms.awt.peer.NativeServices::int getColourDataDepth ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   742
      (com.ms.awt.peer.NativeServices::java.lang.String pGetFontEnumeratedFamily (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   743
      (com.ms.awt.peer.NativeServices::int pNewFontEnumeration ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   744
      (com.ms.awt.peer.NativeServices::int getScreenClipRgn (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   745
      (com.ms.awt.peer.NativeServices::int pSetKeyboardLayout (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   746
      (com.ms.awt.peer.NativeServices::void ClipboardInit (com.ms.awt.peer.IToolkit))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   747
      (com.ms.awt.peer.NativeServices::void getDeviceCaps (int int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   748
      (com.ms.awt.peer.NativeServices::void getAfcMetrics (int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   749
      (com.ms.awt.peer.NativeServices::void setUserLocale (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   750
      (com.ms.awt.peer.NativeServices::void getDCDI (com.ms.awt.peer.DirectColourDataInfo))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   751
      (com.ms.awt.peer.NativeServices::int pGetNumKeyboardLayouts ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   752
      (com.ms.awt.peer.NativeServices::void getIndexedColours (byte[] byte[] byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   753
      (com.ms.awt.peer.NativeServices::int getNativeFont (java.lang.String int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   754
      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayout ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   755
      (com.ms.awt.peer.NativeServices::int getSystemLCID ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   756
      (com.ms.awt.peer.NativeServices::void caretSetPos (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   757
      (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
   758
      (com.ms.awt.peer.NativeServices::java.lang.String ClipboardGetText ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   759
      (com.ms.awt.peer.NativeServices::int systemMetric (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   760
      (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
   761
      (com.ms.awt.peer.NativeServices::void caretHide (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   762
      (com.ms.awt.peer.NativeServices::int chooseColor (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   763
      (com.ms.awt.peer.NativeServices::java.lang.String pGetKeyboardLayoutName (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   764
      (com.ms.awt.peer.NativeServices::int matchFontAndLanguage (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   765
      (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
   766
      (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
   767
      (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
   768
      (com.ms.awt.peer.NativeServices::void caretDispose (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   769
      (com.ms.awt.peer.NativeServices::void caretShow (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   770
      (com.ms.awt.peer.NativeServices::void deleteObject (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   771
      (com.ms.awt.peer.NativeServices::void setDebugOutput (com.ms.awt.peer.COMPrintCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   772
      (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
   773
      (com.ms.awt.peer.NativeServices::int getSystemColourValue (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   774
      (com.ms.awt.peer.NativeServices::void caretCreate (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   775
      (com.ms.awt.peer.NativeServices::void ClipboardSetText (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   776
      (com.ms.awt.peer.NativeServices::void println (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   777
      (com.ms.security.SecurityClassLoader::boolean getSecureState ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   778
      (com.ms.security.SecurityClassLoader::void setSecureState (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   779
      (com.ms.security.SecurityClassLoader::java.lang.Class internalDefineClass (java.lang.String byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   780
      (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
   781
      (com.ms.security.SecurityClassLoader::java.util.Hashtable getHashTable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   782
      (com.ms.security.auditing.SecurityAuditor::boolean isThreadAuditingEnabled ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   783
      (com.ms.security.auditing.SecurityAuditor::void disableThreadAuditing ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   784
      (com.ms.security.auditing.SecurityAuditor::void enableThreadAuditing ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   785
      (com.ms.security.auditing.SecurityAuditor::void initSecurityAuditor ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   786
      (com.ms.security.PermissionDataSet::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   787
      (com.ms.security.PermissionDataSet::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   788
      (com.ms.lang.SystemX::int pAnsiToUnicode (byte[] char[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   789
      (com.ms.lang.SystemX::int pQueryUnicodeToAnsi (char[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   790
      (com.ms.lang.SystemX::void gc ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   791
      (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
   792
      (com.ms.lang.SystemX::int pUnicodeToAnsi (char[] byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   793
      (com.ms.lang.SystemX::boolean isLocalCharDBCSLeadByte (byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   794
      (com.ms.lang.SystemX::int pQueryAnsiToUnicode (byte[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   795
      (com.ms.lang.SystemX::boolean isBaseDBCS ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   796
      (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
   797
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetSigner (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   798
      (com.ms.packagemanager.JavaPackage::byte[] nativeGetCapabilities (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   799
      (com.ms.com._Guid::void IIDFromString (java.lang.String com.ms.com._Guid))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   800
      (com.ms.com._Guid::java.lang.String StringFromIID (com.ms.com._Guid))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   801
      (com.ms.security.auditing.PrintStreamAuditor::int GetModuleHandle (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   802
      (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
   803
      (com.ms.security.permissions.CustomPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   804
      (com.ms.security.permissions.CustomPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   805
      (com.ms.security.permissions.X509Signer::boolean pLoad (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   806
      (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
   807
      (com.ms.packagemanager.PackageManager::java.lang.Object nativeGetPackage (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   808
      (com.ms.packagemanager.PackageManager::java.lang.String[] nativeGetBeansList ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   809
      (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
   810
      (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
   811
      (com.ms.security.permissions.UserFileIOPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   812
      (com.ms.security.permissions.UserFileIOPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   813
      (com.ms.security.permissions.PropertyPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   814
      (com.ms.security.permissions.PropertyPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   815
      (com.ms.security.permissions.ClientStoragePermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   816
      (com.ms.security.permissions.ClientStoragePermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   817
      (com.ms.security.permissions.ExecutionPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   818
      (com.ms.security.permissions.ExecutionPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   819
      (com.ms.util.EventLog::boolean DeregisterEventSource (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   820
      (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
   821
      (com.ms.util.EventLog::int RegisterEventSource (java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   822
      (com.ms.applet.BrowserAppletFrame::void signalViewChange (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   823
      (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
   824
      (com.ms.applet.BrowserAppletFrame::void showSystemStatus (int int boolean java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   825
      (com.ms.applet.BrowserAppletFrame::com.ms.security.management.SecurityPolicy getSecurityPolicy0 (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   826
      (com.ms.applet.BrowserAppletFrame::void setDownloadState (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   827
      (com.ms.applet.BrowserAppletFrame::int GetSystemDefaultLCID ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   828
      (com.ms.applet.BrowserAppletFrame::void requestResize (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   829
      (com.ms.applet.BrowserAppletFrame::void signalObjectLoadDone (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   830
      (com.ms.applet.BrowserAppletFrame::com.ms.applet.BrowserAppletFrame findOfflineContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   831
      (com.ms.applet.BrowserAppletFrame::void showStatus0 (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   832
      (com.ms.applet.BrowserAppletFrame::boolean checkGlobalOfflineMode0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   833
      (com.ms.applet.BrowserAppletFrame::void showDocument0 (int java.lang.String java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   834
      (com.ms.security.permissions.SystemStreamsPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   835
      (com.ms.security.permissions.SystemStreamsPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   836
      (com.ms.security.permissions.FileIOPermission::byte[] pEncodeAsn ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   837
      (com.ms.security.permissions.FileIOPermission::boolean pDecodeAsn (byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   838
      (com.ms.com.ComLib::int newGCHandle (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   839
      (com.ms.com.ComLib::java.lang.Object derefGCHandle (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   840
      (com.ms.com.ComLib::void dprinthelper (char[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   841
      (com.ms.com.ComLib::void release (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   842
      (com.ms.com.ComLib::int jcdwClassSizeOf (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   843
      (com.ms.com.ComLib::int jcdwOffsetOf (java.lang.Object java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   844
      (com.ms.com.ComLib::int jcdwClassOffsetOf (java.lang.Class java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   845
      (com.ms.com.ComLib::boolean isJavaOwned (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   846
      (com.ms.com.ComLib::void brk (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   847
      (com.ms.com.ComLib::void setDataWrapperSize (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   848
      (com.ms.com.ComLib::void brk (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   849
      (com.ms.com.ComLib::void setJCDWHomeThread (java.lang.Object java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   850
      (com.ms.com.ComLib::void propagateOwnership (java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   851
      (com.ms.com.ComLib::void threadStartMTA (java.lang.Thread))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   852
      (com.ms.com.ComLib::void IENVNextMarshalerJ2C (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   853
      (com.ms.com.ComLib::boolean supportsInterface (java.lang.Object com.ms.com._Guid))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   854
      (com.ms.com.ComLib::java.lang.Object ptrToStruct (java.lang.Class int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   855
      (com.ms.com.ComLib::int jcdwSizeOf (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   856
      (com.ms.com.ComLib::void declareMessagePumpThread ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   857
      (com.ms.com.ComLib::void IENVNextMarshalerC2J (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   858
      (com.ms.com.ComLib::void freeGCHandle (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   859
      (com.ms.com.ComLib::boolean isEqualUnknown (java.lang.Object java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   860
      (com.ms.com.Dispatch::boolean NIsArray (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   861
      (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
   862
      (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
   863
      (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
   864
      (com.ms.com.Variant::int toInt ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   865
      (com.ms.com.Variant::double toDate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   866
      (com.ms.com.Variant::boolean toBoolean ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   867
      (com.ms.com.Variant::double toDouble ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   868
      (com.ms.com.Variant::long toCurrency ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   869
      (com.ms.com.Variant::void putVariantArray (com.ms.com.Variant[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   870
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   871
      (com.ms.com.Variant::void putByteArray (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   872
      (com.ms.com.Variant::void putShortRef (unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   873
      (com.ms.com.Variant::void putIntRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   874
      (com.ms.com.Variant::void putDoubleRef (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   875
      (com.ms.com.Variant::void putDateRef (double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   876
      (com.ms.com.Variant::void putStringRef (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   877
      (com.ms.com.Variant::unsigned short getShortRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   878
      (com.ms.com.Variant::int getIntRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   879
      (com.ms.com.Variant::double getDoubleRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   880
      (com.ms.com.Variant::double getDateRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   881
      (com.ms.com.Variant::java.lang.String getStringRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   882
      (com.ms.com.Variant::java.lang.String internalToString ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   883
      (com.ms.com.Variant::void initSafeArrayByRef (com.ms.com.SafeArray int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   884
      (com.ms.com.Variant::java.lang.Object toCharArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   885
      (com.ms.com.Variant::java.lang.Object toDispatch ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   886
      (com.ms.com.Variant::byte toByte ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   887
      (com.ms.com.Variant::java.lang.Object getDispatch ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   888
      (com.ms.com.Variant::void putDispatch (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   889
      (com.ms.com.Variant::boolean getBoolean ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   890
      (com.ms.com.Variant::int toError ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   891
      (com.ms.com.Variant::java.lang.Object toObject ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   892
      (com.ms.com.Variant::void initSafeArrayByVal (com.ms.com.SafeArray int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   893
      (com.ms.com.Variant::java.lang.Object getObject ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   894
      (com.ms.com.Variant::void putObject (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   895
      (com.ms.com.Variant::com.ms.com.SafeArray toSafeArrayHelper (java.lang.Class))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   896
      (com.ms.com.Variant::void putFloatRef (float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   897
      (com.ms.com.Variant::void putCurrencyRef (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   898
      (com.ms.com.Variant::void putErrorRef (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   899
      (com.ms.com.Variant::void putBooleanRef (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   900
      (com.ms.com.Variant::void putObjectRef (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   901
      (com.ms.com.Variant::void putByteRef (byte))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   902
      (com.ms.com.Variant::java.lang.String getString ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   903
      (com.ms.com.Variant::void putString (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   904
      (com.ms.com.Variant::float getFloatRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   905
      (com.ms.com.Variant::long getCurrencyRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   906
      (com.ms.com.Variant::int getErrorRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   907
      (com.ms.com.Variant::boolean getBooleanRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   908
      (com.ms.com.Variant::java.lang.Object getObjectRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   909
      (com.ms.com.Variant::byte getByteRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   910
      (com.ms.com.Variant::float toFloat ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   911
      (com.ms.com.Variant::void putCharArray (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   912
      (com.ms.com.Variant::void putDispatchRef (java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   913
      (com.ms.com.Variant::java.lang.Object getDispatchRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   914
      (com.ms.com.Variant::void putVariantArrayRef (com.ms.com.Variant[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   915
      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArrayRef ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   916
      (com.ms.com.Variant::void changeType (unsigned short))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   917
      (com.ms.com.Variant::void ncloneIndirect (com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   918
      (com.ms.com.Variant::void nFinalize (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   919
      (com.ms.com.Variant::void nclone (com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   920
      (com.ms.com.Variant::unsigned short toShort ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   921
      (com.ms.com.Variant::void putSafeArrayRefHelper (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   922
      (com.ms.com.Variant::com.ms.com.Variant[] toVariantArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   923
      (com.ms.com.Variant::java.lang.Object toByteArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   924
      (com.ms.com.Variant::void TrueVariantClear ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   925
      (com.ms.awt.WToolkit::boolean MessageBeep (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   926
      (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
   927
      (com.ms.applet.AppletPanel::void securedCall0 (int java.lang.Object))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   928
      (com.ms.applet.AppletPanel::com.ms.security.PermissionSet getDefaultPermissionsFromLoader (com.ms.vm.loader.URLClassLoader))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   929
      (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
   930
      (com.ms.awt.WGuiCallback::boolean SetEvent (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   931
      (com.ms.awt.WGuiCallback::int CreateSemaphore (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   932
      (com.ms.awt.WGuiCallback::int ReleaseSemaphore (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   933
      (com.ms.awt.WGuiCallback::void userYield (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   934
      (com.ms.awt.WGuiCallback::int MsgWaitForMultipleObjects (int int[] boolean int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   935
      (com.ms.awt.WGuiCallback::int CreateEvent (int boolean boolean int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   936
      (com.ms.activeX.ActiveXToolkit::int GetSysColor (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   937
      (com.ms.awt.peer.NativeGraphics::void setPageDimension (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   938
      (com.ms.awt.peer.NativeGraphics::void setBkColour (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   939
      (com.ms.awt.peer.NativeGraphics::void getClipBounds (com.ms.awt.peer.NativeRect int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   940
      (com.ms.awt.peer.NativeGraphics::void pGetCharOutline (int byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   941
      (com.ms.awt.peer.NativeGraphics::void drawLine (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   942
      (com.ms.awt.peer.NativeGraphics::void setXORMode (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   943
      (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
   944
      (com.ms.awt.peer.NativeGraphics::int getCoClass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   945
      (com.ms.awt.peer.NativeGraphics::void drawArc (int int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   946
      (com.ms.awt.peer.NativeGraphics::void getInitialPageDimension (com.ms.awt.peer.NativeRect))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   947
      (com.ms.awt.peer.NativeGraphics::void setVisRgn (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   948
      (com.ms.awt.peer.NativeGraphics::void pSetForeground (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   949
      (com.ms.awt.peer.NativeGraphics::int pGetDC ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   950
      (com.ms.awt.peer.NativeGraphics::void drawPixels (int[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   951
      (com.ms.awt.peer.NativeGraphics::void drawPolygon (int[] int[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   952
      (com.ms.awt.peer.NativeGraphics::void createFromImage (com.ms.awt.peer.INativeImage))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   953
      (com.ms.awt.peer.NativeGraphics::void endPage ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   954
      (com.ms.awt.peer.NativeGraphics::int pGetCharOutlineSize (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   955
      (com.ms.awt.peer.NativeGraphics::void pDrawBezier (int int int[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   956
      (com.ms.awt.peer.NativeGraphics::int drawBytes (byte[] int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   957
      (com.ms.awt.peer.NativeGraphics::void changeClip (int int int int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   958
      (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
   959
      (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
   960
      (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
   961
      (com.ms.awt.peer.NativeGraphics::void endPrintJob ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   962
      (com.ms.awt.peer.NativeGraphics::void pSetOrigin (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   963
      (com.ms.awt.peer.NativeGraphics::void createFromHDC (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   964
      (com.ms.awt.peer.NativeGraphics::void drawOval (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   965
      (com.ms.awt.peer.NativeGraphics::int pSetFont (java.lang.String int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   966
      (com.ms.awt.peer.NativeGraphics::void setPaintMode (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   967
      (com.ms.awt.peer.NativeGraphics::void startPage ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   968
      (com.ms.awt.peer.NativeGraphics::void clearClip ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   969
      (com.ms.awt.peer.NativeGraphics::void createFromCopy (com.ms.awt.peer.INativeGraphics))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   970
      (com.ms.awt.peer.NativeGraphics::void scanLines (int int[] int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   971
      (com.ms.awt.peer.NativeGraphics::void drawRoundRect (int int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   972
      (com.ms.awt.peer.NativeGraphics::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   973
      (com.ms.awt.peer.NativeGraphics::void clearRect (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   974
      (com.ms.awt.peer.NativeGraphics::void copyArea (int int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   975
      (com.ms.awt.peer.NativeGraphics::void createFromWindow (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   976
      (com.ms.awt.peer.NativeGraphics::void drawPolyline (int[] int[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   977
      (com.ms.awt.peer.NativeGraphics::void drawRect (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   978
      (com.ms.awt.peer.CToolkit::void callbackEventLoop (com.ms.awt.peer.IToolkitCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   979
      (com.ms.awt.peer.CToolkit::int getToolkitHwnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   980
      (com.ms.awt.peer.CToolkit::int createCompHwnd (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   981
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionFont (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   982
      (com.ms.awt.peer.CNativeSystemIME::void setCompositionPos (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   983
      (com.ms.awt.peer.CNativeSystemIME::void setOpenStatus (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   984
      (com.ms.awt.peer.CNativeSystemIME::int getOpenStatus (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   985
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   986
      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionResultString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   987
      (com.ms.net.wininet.WininetStreamHandlerFactory::int initNative (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   988
      (com.ms.com.SafeArray::void rawGetVariantAs (int com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   989
      (com.ms.com.SafeArray::void NSafeArrayInit (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   990
      (com.ms.com.SafeArray::float rawGetDouble (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   991
      (com.ms.com.SafeArray::void NRawBoolCopyToJavaArray (int int boolean[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   992
      (com.ms.com.SafeArray::void validateArray (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   993
      (com.ms.com.SafeArray::void NSafeArrayCreateFromString (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   994
      (com.ms.com.SafeArray::void rawSetString (int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   995
      (com.ms.com.SafeArray::int getInt (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   996
      (com.ms.com.SafeArray::void setInt (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   997
      (com.ms.com.SafeArray::boolean getBoolean (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   998
      (com.ms.com.SafeArray::void setBoolean (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   999
      (com.ms.com.SafeArray::int computeOffset (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1000
      (com.ms.com.SafeArray::void NSafeArrayNullInit ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1001
      (com.ms.com.SafeArray::void rawSetVariant (int com.ms.com.Variant))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1002
      (com.ms.com.SafeArray::float rawGetFloat (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1003
      (com.ms.com.SafeArray::float getFloat (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1004
      (com.ms.com.SafeArray::void setFloat (int float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1005
      (com.ms.com.SafeArray::int computeOffset2 (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1006
      (com.ms.com.SafeArray::void rawSetDouble (int double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1007
      (com.ms.com.SafeArray::java.lang.String asString ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1008
      (com.ms.com.SafeArray::void NRawCopyToJavaArray (int int java.lang.Object int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1009
      (com.ms.com.SafeArray::void NSafeArrayCreate (int int int[] int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1010
      (com.ms.com.SafeArray::void NRawBoolCopyFromJavaArray (boolean[] int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1011
      (com.ms.com.SafeArray::void NSafeArrayDestroy (boolean boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1012
      (com.ms.com.SafeArray::int NSafeArrayCopy ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1013
      (com.ms.com.SafeArray::int rawGetInt (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1014
      (com.ms.com.SafeArray::boolean rawGetBoolean (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1015
      (com.ms.com.SafeArray::void rawSetFloat (int float))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1016
      (com.ms.com.SafeArray::java.lang.String rawGetString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1017
      (com.ms.com.SafeArray::int NTotalNumElems ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1018
      (com.ms.com.SafeArray::double getDouble (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1019
      (com.ms.com.SafeArray::void setDouble (int double))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1020
      (com.ms.com.SafeArray::void Nreinit (com.ms.com.SafeArray))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1021
      (com.ms.com.SafeArray::int getPhysicalSafeArray ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1022
      (com.ms.com.SafeArray::int NgetdwordAt (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1023
      (com.ms.com.SafeArray::void NRawCopyFromJavaArray (java.lang.Object int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1024
      (com.ms.com.SafeArray::void rawSetBoolean (int boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1025
      (com.ms.com.SafeArray::void rawSetInt (int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1026
      (com.ms.awt.peer.CNativeComponent::void invalidate (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1027
      (com.ms.awt.peer.CNativeComponent::void hideModal ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1028
      (com.ms.awt.peer.CNativeComponent::void hide ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1029
      (com.ms.awt.peer.CNativeComponent::void setOnTop (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1030
      (com.ms.awt.peer.CNativeComponent::void registerDragDrop ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1031
      (com.ms.awt.peer.CNativeComponent::void endValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1032
      (com.ms.awt.peer.CNativeComponent::void enable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1033
      (com.ms.awt.peer.CNativeComponent::void disable ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1034
      (com.ms.awt.peer.CNativeComponent::void setTitle (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1035
      (com.ms.awt.peer.CNativeComponent::void getBounds (com.ms.awt.peer.NativeRect))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1036
      (com.ms.awt.peer.CNativeComponent::int gethwnd ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1037
      (com.ms.awt.peer.CNativeComponent::void showModal ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1038
      (com.ms.awt.peer.CNativeComponent::void setCursor (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1039
      (com.ms.awt.peer.CNativeComponent::void reshape (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1040
      (com.ms.awt.peer.CNativeComponent::void requestFocus ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1041
      (com.ms.awt.peer.CNativeComponent::void callDefWindowProc (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1042
      (com.ms.awt.peer.CNativeComponent::void registerCustomDropTarget (com.ms.com.IUnknown))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1043
      (com.ms.awt.peer.CNativeComponent::void setNoActivate (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1044
      (com.ms.awt.peer.CNativeComponent::void getPlaceOnScreen (com.ms.awt.peer.NativeRect))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1045
      (com.ms.awt.peer.CNativeComponent::void beginValidate ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1046
      (com.ms.awt.peer.CNativeComponent::void clippedReshape (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1047
      (com.ms.awt.peer.CNativeComponent::void setResizable (boolean))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1048
      (com.ms.awt.peer.CNativeComponent::void setIcon (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1049
      (com.ms.awt.peer.CNativeComponent::void toBack ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1050
      (com.ms.awt.peer.CNativeComponent::void setFrameHost (com.ms.awt.peer.IBrowserAppletFrameCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1051
      (com.ms.awt.peer.CNativeComponent::void toFront ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1052
      (com.ms.awt.peer.CNativeComponent::void show ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1053
      (com.ms.awt.peer.CNativeComponent::void updateInsets (com.ms.awt.peer.NativeInsets))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1054
      (com.ms.awt.peer.CNativeComponent::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1055
      (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
  1056
      (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
  1057
      (com.ms.awt.peer.CNativeComponent::void beginDrag (com.ms.awt.peer.INativeDragCallback))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1058
      (com.ms.fx.RegionConverter::int computeNativeRegion (int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1059
      (com.ms.fx.RegionConverter::int[] computeJavaRegion (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1060
      (com.ms.net.wininet.URLUtils::java.lang.String canonicalizeURL (java.lang.String int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1061
      (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
  1062
      (com.ms.awt.peer.NativeFontMetrics::int bytesWidth (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1063
      (com.ms.awt.peer.NativeFontMetrics::int stringWidth (java.lang.String int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1064
      (com.ms.awt.peer.NativeFontMetrics::int charsWidth (char[] int int int int[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1065
      (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
  1066
      (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
  1067
      (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
  1068
      (com.ms.security.management.SecurityZone::byte[] pLoadCustomPermissions (int int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1069
      (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
  1070
      (com.ms.awt.peer.NativeImage::void create (int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1071
      (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
  1072
      (com.ms.awt.peer.NativeImage::int getCoClass ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1073
      (com.ms.awt.peer.NativeImage::int getIcon (int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1074
      (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
  1075
      (com.ms.awt.peer.NativeImage::void sendPixels (com.ms.awt.peer.SPData))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1076
      (com.ms.awt.peer.NativeImage::void fillPixels (com.ms.awt.peer.SPData byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1077
      (com.ms.awt.peer.NativeImage::void dispose ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1078
      (com.ms.awt.peer.NativeImage::void init (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1079
      (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
  1080
      (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
  1081
      (com.ms.awt.peer.NativeImage::int finish (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1082
      (com.ms.awt.peer.NativeImage::void imageDraw (int int int int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1083
      (com.ms.awt.peer.NativeResource::java.lang.String loadString (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1084
      (com.ms.awt.peer.NativeResource::int openDialogFromID (int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1085
      (com.ms.awt.peer.NativeResource::boolean attach (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1086
      (com.ms.awt.peer.NativeResource::void loadBytes (int int java.lang.String byte[] int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1087
      (com.ms.awt.peer.NativeResource::int getSize (int int java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1088
      (com.ms.awt.peer.NativeResource::void detach ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1089
      (com.ms.awt.peer.NativeResource::int openDialogFromName (java.lang.String))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1090
      (com.ms.net.wininet.WininetURLConnection::com.ms.applet.BrowserAppletFrame findOfflineContext ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1091
      (com.ms.com.DispatchProxy::void finalize ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1092
      (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
  1093
      (com.ms.net.wininet.WininetInputStream::void close ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1094
      (com.ms.net.wininet.WininetInputStream::int read (byte[] int int))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1095
      (com.ms.net.wininet.WininetInputStream::int available ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1096
      (com.ms.net.wininet.WininetInputStream::long skip (long))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1097
      (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
  1098
      (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
  1099
      (com.ms.net.wininet.http.HttpInputStream::byte[] getResponseHeaders ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1100
      (com.ms.net.wininet.http.HttpInputStream::void close0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1101
      (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
  1102
      (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
  1103
      (com.ms.vm.loader.CabCracker::void getBytes0 (int int byte[]))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1104
      (com.ms.vm.loader.CabCracker::void cleanup ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1105
      (com.ms.vm.loader.CabCracker::int GetTempPath (int java.lang.StringBuffer))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1106
      (com.ms.vm.loader.CabCracker::void load0 ())
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1107
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
performance
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1113
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1114
     JAVA::BenchMark new loopmark        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1115
     JAVA::BenchMark new logicmark  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1116
     JAVA::BenchMark new sievemark       
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1117
     JAVA::BenchMark new methodmark      
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1118
     JAVA::BenchMark new stringmark  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1119
     JAVA::BenchMark new newstringmark                
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1120
     JAVA::BenchMark new neweststringmark               
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1121
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
		    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1126
 linux:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1127
   P6/233 No JIT                 84         87        90          40          22                                       17              10
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1128
		      103       133        142       137          28          73       109    167     18    140
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1129
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1130
   P6/233 JIT                   479       2459       393         649          28                                       21              12
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1131
   P6/233 JIT         473      1805       3046       439         986          28                                       21              12
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1132
		      533      1808       3382       613        1003          25       105    143      1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1133
		      668      3330       3644       740
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1134
		      793      4116       3731      1243        1365         120       103     79      2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1135
		      914      4480       4061                  2290          68       106    158     19     34
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1136
		      941      4607       4149      1238        2434          75       101    152     18     32
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1137
									     591              164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1138
		     1087                           1836                     800       110                   35
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1139
		     1102      4592       4270      1844        2381         841       109    169     21     35
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1140
		     1177      4608       4309      1810        2432         895       532    182     20     35
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1141
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1143
 w95
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1144
   P5/200 JIT          90        95         90        95         686          18        60     54      7
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1145
		      428      1657       2385       684         957          21        61     62      9
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1146
		      541      2886       2589       823         976          18        62     55      7
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1147
		      583      3062       2635       842         861         223        65     57      8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1148
		      616      3075       2438      1081        1324         218        64     54      8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1149
		      718      3138       2755      1085        1200         816        63     48      9      7
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1151
		    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic dialog newstringmark  neweststringmark
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1152
"
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
performance2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1157
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1158
     symantec benchmarks
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1159
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
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1165
   ST/X+J Linux         
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1166
   233Mhz P6
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1167
   No JIT          352767         354597         69585    43048  101638  28961 108839  48815
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1168
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1169
   ST/X+J Linux                  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1170
   233Mhz P6
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1171
   JIT             128724         116810         20259    39733   83160  27613  52093  33166  43996  545554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1172
		   124744         101428         17239    10052    8264  14004  38821  23252  33709  374660
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1173
   +IINC           120324                                  7265
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1174
   +IADD op2       100173          90737         18128     6996    7423  17093  48559  44209  57056  390374
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1175
   +ISUB op2                       90460         17547             5921                       57056  390461
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1176
   +ICMPEQ/NE       99785          90147                           5792                43482  56486  388255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1177
   +ICMP            87398          78214         15784     7574    5628  12812  38481  24654  32252  302797
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1178
   +IFICMPLE        84198          74928         13814     5650          11674         23241         293118
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1179
   +IFICMPxx        76867          69738         12208                          37505  21973  32104  273569
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1180
   +IFICMPEQ/NE                                                    5580  11202         21723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1181
   const IFICMPxx                                11856             5463  11032  37372                272726
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1182
   +lea for add/sub
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1183
   +BALOAD                                       11700     4600    5015   9431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1184
   +BASTORE                                                3279
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1185
   +CALOAD/CASTORE                                                        8907
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1186
   regSave change   66119          60365          9997             4917  15386  37851  38202  50027  286497
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1187
		    64858          58360          9476             4889  15001  37211  36288  48313  278478
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1188
		    63146          55949          9302                   14899
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1189
		    62970          56085          9352     3226    4837   8779  37573  22815  33899  241297
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1190
   -O               43662          40292          7181     2530    4696   8170  34555  22116  32337  195539
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1191
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1192
   +IALOAD          39162          36347
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1193
   +IASTORE         32461          30663          4299             3667                19556  30563  166868
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1194
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1195
   -IALOAD/IASTORE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1196
										34167  19347
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1197
										       19232  29726  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1198
										       18821
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1199
   +AALOAD/BALOAD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1200
		    41490          39527          6776     3315    4077   8443  33895  19152  28018  184693
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1201
		    41291          37034          6593                          32682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1202
   +ATHROW                                                                6449                       180079
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1203
   +IASTORE         38848          35601          6219             3796   6122         17869  30085  175106
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1204
   IINC delayed code
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1205
   +ANEWARRAY                                              3263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1206
   +LADD/LSUB const 38719          35256                                  6062  27071                172859
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1207
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1208
							   2837                 22835
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1209
   +ISTORE into arg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1210
									  3080
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1211
   quick L2I for ints                                                     2774  21184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1212
   +*ASTORE / *ALOAD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1213
    again                                                  1621    3654   1525
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1214
   +CHECKCAST                                                      3574                       25810
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1215
                                                                
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1216
------------------------------------------------------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1217
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1218
   ST/X+J Win95         
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1219
   200Mhz P5
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1220
   JIT              78490          77060         15220     4840    6370   9180  73160  36080         351700
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1221
				   76900         13560             5500   9010         35200         348600
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1222
										66080         69920  370750
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1223
   +IADD non consts 76620          73210         13180     3790                 63550         58880  356900
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1224
											      51740
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1225
		    77390          72450         12520     3900    6040   8950  62450  34330  57780  335810    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1226
		    77220          71950                           5270   8840                       338650
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1227
		    72390          70690                                                      48010  327370
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1228
		    74910          66740         11420                    8620  61730  33340  47350  313940
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1229
   +xALOAD/JMP_ZERO
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1230
		    71740                                  2800             
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1231
		    71460          65250         11540     2750                 62180  33840  50750  311660
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1232
   +LCMP                                                                        59100
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1233
   better abs(I)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1234
   +xALOAD/IF_ICMPx 66130          61520         12080     3300    5280   8190  56510  33830  50310  297150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1235
   elim dummy static                                               5210                       48270
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1236
   methods                                                                                    44160
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1237
		   119020         112440         19330     3070    4560   2640  56960  37730  52790  408540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1238
------------------------------------------------------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1239
		BubbleSort    BidirBubbleSort  QuickSort  Sieve   Hanoi   Dhry   Fib   Array   Tree   Total
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1240
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1241
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1242
   Sun JDK         274625         244461         52676    50653   65183  26668  78133  28572  61608  882583
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1243
   (90Mhz P5)   
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1244
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1245
   Microsoft J++     9684           8452          2874     1733    3535   3665   3836   4746  25717   64242
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1246
   (90Mhz P5)   
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1247
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1248
   Symantec Cafe    14541          12198          3686     1922    4527   3325   3425  12969  26829   83422
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1249
   JIT 1.02
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1250
   (90Mhz P5)   
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1251
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1252
   Symantec Cafe     8292           6970          2714     1613    3345   3235   2013   4516  13180   45878
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1253
   JIT 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1254
   (90Mhz P5)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1255
"
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
   |b|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1259
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1260
   b := JAVA::BubbleSortAlgorithm new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1261
   b perform:#'setData(JJ)V' with:10000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1262
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1263
       b performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1264
   ]
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
   |b|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1268
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1269
   b := JAVA::QSortAlgorithm new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1270
   b perform:#'setData(JJ)V' with:500000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1271
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1272
       b performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1273
   ]
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
   |t|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1277
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1278
   t := JAVA::Tree new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1279
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1280
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1281
       t performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1282
   ]
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
   |t|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1286
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1287
   t := JAVA::Array new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1288
   t perform:#'setData(JJ)V' with:1000000 with:0 with:0 with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1289
   Time millisecondsToRun:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1290
       t performTest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1291
   ]
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
!JavaVM class methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1297
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1298
compile:source selector:smalltalkSelector asJavaMethod:javaSelector fakedSource:fakedSource in:aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1299
    "install additional java protocol in smalltalk classes, req'd for java programs"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1300
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1301
    |cloneCode|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1302
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1303
    (aClass implements:javaSelector) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1304
        Class packageQuerySignal answer:'__temporary__'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1305
        do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1306
            aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1307
                compile:source
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1308
                classified:'java support'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1309
                logged:false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1310
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1311
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1312
        cloneCode := aClass compiledMethodAt:smalltalkSelector.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1313
        cloneCode source:fakedSource.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1314
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1315
        Class withoutUpdatingChangesDo:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1316
            aClass removeSelector:smalltalkSelector.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1317
            aClass addSelector:javaSelector withMethod:cloneCode.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1318
        ]
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
    "Created: / 5.11.1998 / 19:30:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1322
    "Modified: / 5.11.1998 / 19:37:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1323
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1324
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1325
deinitialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1326
    |table|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1327
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1328
    StandardThreadGroup := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1329
    self releaseAllMonitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1330
    KnownWindows notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1331
        KnownWindows do:[:v | 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1332
            v isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1333
                v destroy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1334
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1335
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1336
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1337
    JavaWindowGroup := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1338
    KnownWindows := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1339
    OpenFileTable := nil.          
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1340
    JavaMethods := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1341
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1342
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1343
     JavaVM deinitialize"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1344
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1345
    "Created: / 03-01-1998 / 21:28:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1346
    "Modified: / 03-12-1998 / 20:33:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1347
    "Modified: / 28-01-2011 / 14:11:35 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1348
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1349
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1350
deinitializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1351
    "deinstall additional java protocol in smalltalk classes, req'd for java programs"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1352
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1353
    #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1354
        #'clone()Ljava/lang/Object;'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1355
        #'equals(Ljava/lang/Object;)Z'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1356
        #'toString()Ljava/lang/String;'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1357
        #'getClass()Ljava/lang/Class;'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1358
     ) do:[:sel |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1359
        (Object implements:sel) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1360
            Class withoutUpdatingChangesDo:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1361
                Object removeSelector:sel.
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
    ].
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
     self deinitializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1368
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1369
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1370
    "Created: / 4.2.1998 / 21:37:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1371
    "Modified: / 5.12.1998 / 15:27:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1372
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1373
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1374
initialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1375
    DUMMY_LONG_HIGHWORD := 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1376
    DUMMY_DOUBLE_HIGHWORD := 2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1377
    StandardThreadGroup := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1378
    NoAudio := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1379
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1380
    "/ NoAudio := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1381
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1382
    JavaConsoleStream := Transcript.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1383
    FullExceptionTrace := StackTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1384
    WindowOPTrace := DrawOPTrace := EventTrace := ThreadTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1385
    MonitorTrace := ExceptionTrace := FileOpenTrace := FileIOTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1386
    ExceptionDebug := ExitDebug := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1387
    ExceptionDebugPatterns := Set new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1388
    WindowCreationTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1389
    FileOpenConfirmation := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1390
    SocketConnectConfirmation := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1391
    WindowOPTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1392
    MonitorTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1393
    ThreadTrace := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1394
    UnhandledJavaExceptionSignal := (Signal new) mayProceed: true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1395
    UnhandledJavaExceptionSignal nameClass: self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1396
        message: #unhandledJavaExceptionSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1397
    UnhandledJavaExceptionSignal notifierString: 'unhandled java exception'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1398
    JavaExceptionSignal := (Signal new) mayProceed: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1399
    JavaExceptionSignal nameClass: self message: #javaExceptionSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1400
    JavaExceptionSignal notifierString: 'java exception'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1401
    UnimplementedInstructionSignal := (Signal new) mayProceed: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1402
    UnimplementedInstructionSignal nameClass: self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1403
        message: #unimplementedInstructionSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1404
    UnimplementedInstructionSignal notifierString: 'unimplemented instruction'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1405
    UnimplementedNativeMethodSignal := (Signal new) mayProceed: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1406
    UnimplementedNativeMethodSignal nameClass: self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1407
        message: #unimplementedNativeMethodSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1408
    UnimplementedNativeMethodSignal 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1409
        notifierString: 'unimplemented native method'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1410
    BadMessageSignal := (Signal new) mayProceed: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1411
    BadMessageSignal nameClass: self message: #badMessageSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1412
    BadMessageSignal notifierString: 'invalid message to JAVA object'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1413
    InternalErrorSignal := (Signal new) mayProceed: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1414
    InternalErrorSignal nameClass: self message: #internalErrorSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1415
    InternalErrorSignal notifierString: 'internal error'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1416
    CallHandlerSignal := (Signal new) mayProceed: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1417
    CallHandlerSignal nameClass: self message: #callHandlerSignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1418
    CallHandlerSignal notifierString: 'internal signal'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1419
    StdinReplacementFileQuerySignal := QuerySignal new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1420
    StdinReplacementFileQuerySignal nameClass: self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1421
        message: #stdinReplacementFileQuerySignal.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1422
    StdinReplacementFileQuerySignal notifierString: 'asking for stdin stream'.
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  1423
    JavaPrivilegedAccessQuery := QuerySignal new.
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  1424
    JavaPrivilegedAccessQuery defaultAnswer: false.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1425
    AssertionsEnabled := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1426
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1427
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1428
     JavaVM initialize"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1429
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1430
    "Created: / 02-01-1998 / 18:02:34 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1431
    "Modified: / 02-12-1998 / 23:02:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1432
    "Modified: / 25-02-2011 / 08:05:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1433
    "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
  1434
    "Modified: / 09-10-2011 / 20:29:10 / Marcel Hlopko <hlopik@gmail.com>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1435
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1436
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1437
initializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1438
    "install additional java protocol in smalltalk classes, req'd for java programs"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1439
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1440
    "/ since we use smalltalk Arrays for JavaArray, some
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1441
    "/ additional (java-) protocol is required.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1442
    "/ This is also useful, when Smalltalk objects are passed to
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1443
    "/ java ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1444
    "/ We should implement all of the java.lang.Object protocol in
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1445
    "/ Object, to be on the bright side of life; more of this later ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1446
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1447
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1448
        compile:'__clone
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1449
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1450
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1451
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1452
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1453
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1454
    ^ self shallowCopy'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1455
        selector:#'__clone' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1456
        asJavaMethod:#'clone()Ljava/lang/Object;' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1457
        fakedSource:'#''clone()Ljava/lang/Object;''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1458
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1459
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1460
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1461
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1462
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1463
    ^ self shallowCopy'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1464
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1465
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1466
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1467
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1468
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1469
        compile:'__equals:arg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1470
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1471
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1472
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1473
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1474
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1475
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1476
        selector:#'__equals:' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1477
        asJavaMethod:#'equals(Ljava/lang/Object;)Z' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1478
        fakedSource:'#''equals(Ljava/lang/Object;)Z''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1479
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1480
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1481
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1482
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1483
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1484
    ^ (arg = self) ifTrue:[1] ifFalse:[0]'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1485
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1486
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1487
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1488
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1489
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1490
        compile:'__toString
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1491
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1492
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1493
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1494
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1495
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1496
    ^ Java as_String:(self displayString)'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1497
        selector:#'__toString' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1498
        asJavaMethod:#'toString()Ljava/lang/String;' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1499
        fakedSource:'#''toString()Ljava/lang/String;''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1500
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1501
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1502
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1503
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1504
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1505
    ^ Java as_String:(self displayString)'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1506
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1507
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1508
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1509
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1510
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1511
        compile:'__getClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1512
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1513
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1514
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1515
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1516
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1517
    ^ JavaVM javaClassObjectForClass:self class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1518
        selector:#'__getClass' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1519
        asJavaMethod:#'getClass()Ljava/lang/Class;' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1520
        fakedSource:'#''getClass()Ljava/lang/Class;''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1521
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1522
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1523
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1524
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1525
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1526
    ^ JavaVM javaClassObjectForClass:self class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1527
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1528
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1529
    "/ ------------------------------------------------------------
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1530
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1531
    self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1532
        compile:'__hashCode
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1533
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1534
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1535
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1536
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1537
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1538
    ^ self identityHash'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1539
        selector:#'__hashCode' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1540
        asJavaMethod:#'hashCode()I' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1541
        fakedSource:'#''hashCode()I''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1542
    "this is smalltalk code with a java selector ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1543
     (This source cannot be accepted in the browser, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1544
      since it has a funny selector.)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1545
     Has been added by JavaVM>>initializeAdditionalJavaProtocol"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1546
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1547
    ^ self identityHash'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1548
        in:Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1549
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1551
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1552
     self initializeAdditionalJavaProtocol
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1553
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1555
    "Modified: / 28-01-1997 / 19:38:58 / stefan"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1556
    "Modified: / 22-01-1998 / 21:23:40 / av"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1557
    "Created: / 04-02-1998 / 21:35:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1558
    "Modified: / 30-12-1998 / 21:07:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1559
    "Modified: / 25-10-2010 / 16:26:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
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
initializeBaseClasses
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1563
    "load req'd base classes"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1564
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1565
    #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1566
        'java.lang.Object'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1567
        'java.lang.Class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1568
        'java.lang.String'      
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1569
        'java.lang.System'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1570
    ) do:[:cName |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1571
        (Java classForName:cName) isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1572
            self warn:('JavaVM: could not find required class: ' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1573
                        , cName asText allBold
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1574
                        , '\\Please check the Java settings (javaHome)') withCRs.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1575
            AbortSignal raise.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1576
            ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1577
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1578
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1579
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1580
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1581
     self initializeBaseClasses
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1582
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1583
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1584
    "Created: / 3.1.1998 / 21:13:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1585
    "Modified: / 23.12.1999 / 19:27:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1586
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1587
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1588
initializeOpenFileTable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1589
    OpenFileTable := OrderedCollection 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1590
			with:Stdin 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1591
			with:(JavaConsoleStream ? Stdout)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1592
			with:(JavaConsoleStream ? Stderr).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1593
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1594
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1595
     JavaVM initializeOpenFileTable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1596
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1597
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1598
    "Modified: / 6.8.1997 / 00:40:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1599
    "Created: / 2.1.1998 / 18:04:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1600
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1601
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1602
initializePrimitiveClasses
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1603
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1604
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1605
    "/    #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1606
    "/        (#byte    'B' 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1607
    "/        (#short   'S' 2)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1608
    "/        (#int     'I' 4)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1609
    "/        (#long    'J' 8)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1610
    "/        (#boolean 'Z' 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1611
    "/        (#char    'C' 2)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1612
    "/        (#float   'F' 4)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1613
    "/        (#double  'D' 8)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1614
    "/        (#void    'V' 0)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1615
    "/    ) triplesDo:[:nm :sig :len |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1616
    "/        |jClass classInst|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1617
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1618
    "/        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1619
    "/        "/ create a javaClass for it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1620
    "/        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1621
    "/        jClass := Java at:'java.lang.Class'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1622
    "/        jClass notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1623
    "/            classInst := jClass new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1624
    "/            JavaClasses at:nm put:classInst.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1625
    "/            JavaClasses at:classInst put:nm.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1626
    "/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1627
    "/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1628
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1629
     self initializePrimitiveClasses"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1630
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1631
    "Modified: / 22-10-1998 / 01:56:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1632
    "Modified: / 20-12-2010 / 23:39:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1633
    "Modified: / 28-01-2011 / 14:57:38 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1634
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1635
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1636
initializeReflection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1637
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1638
    Reflection := JavaVM::Reflection for: self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1639
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1640
    "Created: / 21-12-2010 / 19:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1641
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1643
initializeSimulatedLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1644
    "return a collection of native libs which are considered 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1645
     being already loaded. (used with jdk < 1.2)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1646
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1647
    LibPath := #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1648
                        '__builtIn__' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1649
                        '/usr/local/lib' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1650
                        '/usr/local/lib/java'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1651
                ).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1652
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1653
    SimulatedLibs := #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1654
                        '__builtIn__/net' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1655
                        '__builtIn__/awt' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1656
                        '__builtIn__/tawt' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1657
                        '__builtIn__/winawt' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1658
                        '__builtIn__/jpeg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1659
                        '__builtIn__/mmedia'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1660
                        '__builtIn__/zip'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1661
                        '__builtIn__/math'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1662
                        '__builtIn__/sysresource'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1663
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1664
                        "/ KAVA ... 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1665
                        '__builtIn__/agent'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1666
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1667
                        "/ MS-java ... 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1668
                        '__builtIn__/msawt'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1669
                        '__builtIn__/javart'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1670
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1671
                        "/ 1.1.8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1672
                        '__builtIn__/jpeg_sun' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1673
                      ).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1674
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1675
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1676
     self initializeSimulatedLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1677
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1678
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1679
    "Created: / 4.1.1998 / 19:05:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1680
    "Modified: / 17.11.1998 / 23:53:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1681
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1683
initializeSimulatedNativeLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1684
    "return a collection of native libs which are considered 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1685
     being already loaded (used with jdk >= 1.2)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1686
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1687
    OperatingSystem isUNIXlike ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1688
        SimulatedNativeLibs := #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1689
                                 'libawt.so' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1690
                                 'libnet.so' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1691
                                 'libcmm.so' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1692
                                 'libzip.so'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1693
                                ).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1694
        ^self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1695
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1696
    OperatingSystem isMSWINDOWSlike ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1697
        SimulatedNativeLibs := #(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1698
                                 'awt.dll' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1699
                                 'net.dll' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1700
                                 'cmm.dll' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1701
                                 'zip.dll'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1702
                                ).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1703
        ^self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1704
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1705
    SimulatedNativeLibs := #().
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1706
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1707
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1708
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1709
     self initializeSimulatedNativeLibs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1710
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1712
    "Modified: / 27-01-1998 / 18:43:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1713
    "Modified: / 01-04-2011 / 23:02:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1714
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1715
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1716
initializeSimulatedNativeMemory
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1717
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1718
    SimulatedNativeMemory := JavaNativeMemory new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1719
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1720
    "Created: / 07-12-2010 / 21:07:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1721
    "Modified: / 07-12-2010 / 23:45:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1722
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1724
initializeSystemPropertiesInto:props
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1725
    |cpu os jHome|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1726
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1727
    "/ use JAVA compatible cpu-name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1728
    cpu := OperatingSystem getCPUType.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1729
    cpu = 'i386' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1730
        cpu := 'ix86'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1731
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1732
    SimulatedOS notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1733
        os := SimulatedOS
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1734
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1735
        os := OperatingSystem getOSType.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1736
        os := os asUppercaseFirst.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1737
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1738
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1739
    props at:'java.version'       put:'1'.
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  1740
    props at:'java.vendor'        put:'eXept Software AG & SWING Reseach Group'.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  1741
    props at:'java.vendor.url'    put:'http://www.exept.de & http://swing.fit.cvut.cz'.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  1742
    props at:'java.vm.name'       put:'Smalltalk/X'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1743
    (jHome := self defaultJAVAHome) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1744
        props at:'java.home'          put:(jHome asFilename pathName).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1745
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1746
    props at:'java.class.version' put:'1'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1747
    props at:'java.class.path'    put:(self defaultCLASSPATH).
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  1748
    props at:'java.ext.dirs'      put:(self defaultExtDirs).
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1749
    props at:'os.name'            put:os.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1750
    props at:'os.arch'            put:cpu.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1751
    props at:'os.version'         put:'1'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1752
    props at:'file.separator'     put:(Filename separator asString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1753
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1754
    props at:'path.separator'     put: OperatingSystem pathSeparator asString. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1755
    props at:'line.separator'     put:(Character cr asString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1756
    props at:'user.name'          put:(OperatingSystem getLoginName).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1757
    props at:'user.home'          put:(OperatingSystem getHomeDirectory ? Filename currentDirectory name).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1758
    props at:'user.dir'          put:(OperatingSystem getHomeDirectory ? Filename currentDirectory name).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1759
    "/ props at:'user.dir'           put:(Filename currentDirectory pathName).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1760
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1761
    "/props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1762
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1763
    props at: 'user.country'    put: 'US'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1764
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1765
    props at:'hotjava.home'       put:(self defaultHotJavaHome).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1766
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1767
    "/ new with jdk 1.1.8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1768
    "/ undocumented ?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1769
    props at:'file.encoding.pkg'    put:'sun.io'.
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  1770
    props at:'file.encoding'        put:'UTF-8'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1771
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1772
    "/ suppress copyright view in appletViewer ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1773
    props at:'appletviewer.version' put:'1.1'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1774
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1775
    "/ new with jdk 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1776
    props at:'java.awt.graphicsenv' put:'sun.awt.X11GraphicsEnvironment'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1777
    props at:'java.awt.fonts'       put:'/usr/lib/X11/fonts'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1778
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1779
    "/ jws
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1780
    "/props at:'jws.home'             put:(self defaultJWSHome).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1781
    "/ new with jws 2.0 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1782
    "/props at:'jws.startcmd'         put:'jws.showwin.mainide'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1783
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1784
    props at: 'java.library.path'   put: self defaultJavaLibraryPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1785
    props at: 'sun.boot.library.path' put: self defaultSunBootLibraryPath. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1786
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  1787
"/    props at: 'sun.misc.URLClassPath.debug' put: 'true'. 
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  1788
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1789
    ^ props
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1790
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1791
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1792
     self initializeSystemPropertiesInto:(Dictionary new)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1793
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1794
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1795
    "Created: / 03-01-1998 / 14:26:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1796
    "Modified: / 27-01-2000 / 02:20:18 / cg"
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  1797
    "Modified: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1798
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1799
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1800
initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1801
    "Force off JIT compiler for Java code - it hasn't been
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1802
     updated to reflect changes in jinterpret.c.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1803
     Following >>make it working, make it fast<< rule"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1804
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1805
    ObjectMemory
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1806
        javaJustInTimeCompilation: false;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1807
        javaNativeCodeOptimization: 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
  1808
     "Java lot of stack. Change default to 2 MB"
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  1809
    Process defaultMaximumStackSize: 1024 * 1024 * 2.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1810
    JavaObject autoload.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1811
    JavaContext autoload.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1812
    MonitorTrace ifNil: [ self initialize ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1813
    self initializeAdditionalJavaProtocol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1814
    self releaseAllJavaResources.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1815
    JavaConsoleStream := Transcript.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1816
    Java initAllStaticFields.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1817
    Java markAllClassesUninitialized.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  1818
    ZipCache := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  1819
    ZipEntryCache := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  1820
    ZipInflaters := OrderedCollection new.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1821
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1822
    "/ force re-resolving;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1823
    "/ otherwise, class-inits would not be called
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1824
    "/ by resolver ... (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1825
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1826
    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
  1827
    JavaMethod 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  1828
        allSubInstancesDo: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  1829
            :m | 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1830
            m checked: 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
  1831
            m code: 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
  1832
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1833
    ObjectMemory flushCaches.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1834
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1835
    "/ sigh - must flush inline caches.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1836
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1837
    JavaClass startRememberingOrderOfClassInits.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1838
    self initializeSimulatedLibs.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1839
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1840
    "/ < jdk 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1841
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1842
    self initializeSimulatedNativeLibs.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1843
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1844
    "/ >= jdk 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1845
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1846
    self initializeSimulatedNativeMemory.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1847
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1848
    "/>  jdk 6
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1849
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1850
    self initializeOpenFileTable.
907
9ab15562799b JavaVM: Initialization fix
vranyj1
parents: 906
diff changeset
  1851
    self initializeReflection.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1852
    self initializeBaseClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1853
    self initializePrimitiveClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1854
    Java initSystemClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1855
    ObjectMemory addDependent: self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1857
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1858
     JavaVM initialize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1859
     JavaVM initializeVM."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1860
    "Created: / 03-01-1998 / 21:29:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1861
    "Modified: / 14-12-1999 / 18:58:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1862
    "Modified: / 15-10-2010 / 15:27:45 / Jan Kurs <kurs.jan@post.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1863
    "Modified: / 01-04-2011 / 15:33:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1864
    "Modified: / 14-09-2011 / 22:06:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1865
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1866
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1867
initializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1868
    |uClass updater p|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1869
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1870
    uClass := JAVA::sun::awt::ScreenUpdater.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1871
    uClass notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1872
        updater := uClass instVarNamed:'updater'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1873
        updater notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1874
            p := self stProcessForJavaThread:updater
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1875
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1876
        (updater isNil or:[p isNil or:[p isDead]]) isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1877
            self initializeVM.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1878
            ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1879
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1880
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1881
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1882
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1883
        self initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1884
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1885
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1886
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1887
     JavaVM initializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1888
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1889
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1890
    "Created: / 15.1.1998 / 17:32:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1891
    "Modified: / 24.12.1999 / 02:18:25 / cg"
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
reinitializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1895
    |classesToInit|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1897
    self releaseAllJavaResources.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1898
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1899
    JavaConsoleStream := Transcript.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1900
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1901
    Java initAllStaticFields.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1902
    Java markAllClassesUninitialized.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1903
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1904
    self initializeOpenFileTable.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1905
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1906
    classesToInit := JavaClass orderOfClassInits.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1907
    JavaClass startRememberingOrderOfClassInits.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1908
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1909
    self initializePrimitiveClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1910
"/    Java initSystemClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1911
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1912
    classesToInit do:[:jClass |
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1913
        jClass classInit
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1914
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1915
    Java initSystemClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1916
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1917
    "Created: / 12-11-1998 / 15:37:52 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1918
    "Modified: / 17-11-1998 / 16:10:11 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  1919
    "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
  1920
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1921
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1922
reinitializeVMIfNoEventThreadRunning
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1923
    (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1924
        ^ self reinitializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1925
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1926
    (JavaEventQueueThread isNil or:[JavaEventQueueThread isDead]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1927
        ^ self reinitializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1928
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1929
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1930
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1931
     JavaVM reinitializeVMIfNoEventThreadRunning
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
    "Created: / 24.11.1998 / 15:45:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1935
    "Modified: / 24.12.1999 / 02:36:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1936
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1937
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1938
releaseAllJavaResources
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1939
    self deinitialize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1940
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1941
    FirstWindowCreationSemaphore := Semaphore new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1942
    JavaScreenUpdaterThread := JavaEventQueueThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1943
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1944
    LoadedLibs := nil.             "/ gc will reclaim them ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1945
    LoadedNativeLibs := nil.       "/ gc will reclaim them ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1946
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1947
    ImageStretchCache := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1948
    LastGraphics := LastGC := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1949
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1950
    SimulatedNativeMemory := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1951
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1952
    self initializePrimitiveClasses.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1953
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1954
    self terminateAllThreads.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1955
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1956
    self releaseAllWindows.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1957
    self releaseAllStreams.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1958
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1959
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1960
     JavaVM releaseAllJavaResources
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1961
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1962
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1963
    "Created: / 07-01-1998 / 22:49:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1964
    "Modified: / 24-12-1999 / 02:33:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1965
    "Modified: / 17-12-2010 / 17:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1966
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1967
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1968
releaseAllMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1969
    LockTable := WeakIdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1970
    LockTableAccess := Semaphore"RecursionLock" forMutualExclusion.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1971
    LockTableAccess name: 'JavaVM lock table access mutex'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1972
    WaitTable := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1973
    WaitTableAccess := Semaphore"RecursionLock" forMutualExclusion.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1974
    WaitTableAccess name: 'JavaVM wait table access mutex'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1975
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1976
    EnteredMonitorsPerProcess := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1977
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1978
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1979
     JavaVM releaseAllMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1980
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1981
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1982
    "Created: / 02-01-1998 / 18:04:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1983
    "Modified: / 07-01-1998 / 22:58:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1984
    "Modified: / 25-10-2010 / 19:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1985
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1986
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1987
releaseAllStreams
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1988
    OpenFileTable notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1989
	OpenFileTable do:[:aStream |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1990
	    aStream notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1991
		aStream ~~ Stdin ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1992
		    aStream ~~ Stdout ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1993
			aStream ~~ Stderr ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1994
			    aStream ~~ JavaConsoleStream ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1995
				aStream isExternalStream ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  1996
				    aStream shutDown
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
			]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2000
		    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2001
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2002
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2003
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2004
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2005
    self initializeOpenFileTable.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2006
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2007
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2008
     JavaVM releaseAllStreams
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
    "Created: / 7.1.1998 / 22:57:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2012
    "Modified: / 4.2.1998 / 19:53:11 / cg"
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
releaseAllWindows
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2016
    KnownWindows notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2017
	KnownWindows do:[:aView |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2018
	    aView destroy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2019
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2020
	KnownWindows := nil.
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
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2024
     self releaseAllWindows
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
    "Created: / 7.1.1998 / 22:58:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2028
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2030
releaseLeftOverMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2031
    "release monitors held by dead processes"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2032
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2033
    |deadProcesses|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2034
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2035
    deadProcesses := IdentitySet new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2036
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2037
    EnteredMonitorsPerProcess keysAndValuesDo:[:p :monitors |
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2038
        p isDead ifTrue:[
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2039
            monitors do:[:mon |
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2040
                Logger log: 'release leftover monitor ...' severity: #info facility: 'JVM'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2041
                mon release
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2042
            ].
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2043
            deadProcesses add:p.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2044
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2045
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2046
    deadProcesses do:[:p |
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2047
        EnteredMonitorsPerProcess removeKey:p
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2048
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2049
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2050
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2051
     JavaVM releaseLeftOverMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2052
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2053
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2054
    "Created: / 08-01-1998 / 17:29:26 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  2055
    "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
  2056
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2057
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2058
systemProperties
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2059
    |props|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2060
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2061
    props := Dictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2062
    self initializeSystemPropertiesInto:props.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2063
    ^ props
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2064
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2065
    "Created: / 3.1.1998 / 14:25:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2066
    "Modified: / 3.1.1998 / 14:32:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2067
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2068
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2069
terminateAllThreads
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2070
    Java terminateAllThreads.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2071
    JavaEventThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2072
    JavaScreenUpdaterThread := JavaEventQueueThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2073
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2074
    "Created: / 8.1.1998 / 17:43:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2075
    "Modified: / 24.12.1999 / 02:33:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2076
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2078
update:something with:aParameter from:changedObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2079
    something == #returnFromSnapshot ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2080
"/         self initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2081
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2082
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2083
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2084
     JavaVM initializeVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2085
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2086
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2087
    "Created: / 9.1.1998 / 10:30:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2088
    "Modified: / 6.11.1998 / 00:40:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2089
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2090
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2091
!JavaVM class methodsFor:'Signal constants'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2092
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2093
badMessageSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2094
    ^ BadMessageSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2095
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2096
    "Created: / 2.1.1998 / 18:06:52 / cg"
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
callHandlerSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2100
    ^ CallHandlerSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2101
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2102
    "Created: / 2.1.1998 / 18:07:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2103
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2105
internalErrorSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2106
    ^ InternalErrorSignal
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:07:05 / 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
javaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2112
    "^ JavaExceptionSignal"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2113
    ^JavaError
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2114
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2115
    "Created: / 02-01-1998 / 18:05:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2116
    "Modified: / 01-03-2011 / 21:50:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2117
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2118
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2119
privilegedAccessQuery
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2120
    ^ JavaPrivilegedAccessQuery.
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2121
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2122
    "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
  2123
!
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  2124
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2125
stdinReplacementFileQuerySignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2126
    ^ StdinReplacementFileQuerySignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2127
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2128
    "Created: / 2.1.1998 / 18:06:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2129
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2131
unhandledJavaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2132
    ^ UnhandledJavaExceptionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2134
    "Created: / 2.1.1998 / 18:05:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2135
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2136
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2137
unimplementedInstructionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2138
    ^ UnimplementedInstructionSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2140
    "Created: / 2.1.1998 / 18:06:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2141
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2143
unimplementedNativeMethodSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2144
    ^ UnimplementedNativeMethodSignal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2146
    "Created: / 2.1.1998 / 18:06:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2147
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2148
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2149
!JavaVM class methodsFor:'accessing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2151
addSelector:newSelector withMethod:newMethod 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2152
    super addSelector:newSelector withMethod:newMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2153
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2154
    "/JavaNativeMethod may not be loaded..."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2155
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2156
    (Smalltalk at:#JavaNativeMethod) 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2157
        ifNotNil:[JavaNativeMethod flushAllCachedNativeMethods].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2158
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2159
    "Created: / 24-12-1999 / 03:12:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2160
    "Modified: / 02-02-2011 / 04:38:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2161
    "Modified: / 02-02-2011 / 23:38:08 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2162
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2164
assertionsEnabled: aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2165
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2166
    AssertionsEnabled := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2167
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2168
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2169
        JavaVM assertionsEnabled: true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2170
        JavaVM assertionsEnabled: false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2171
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2172
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2173
    "Created: / 24-11-2010 / 09:02:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2174
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2176
classForName:aString 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2177
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2178
    ^ Java classForName:aString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2179
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2180
    "Created: / 21-12-2010 / 19:50:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2181
    "Modified: / 02-02-2011 / 23:48:57 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2182
    "Modified: / 03-02-2011 / 21:45:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2183
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2185
javaEventQueueThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2186
     ^ JavaEventQueueThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2188
    "Created: / 24.12.1999 / 02:34:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2189
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2190
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2191
javaEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2192
     ^ JavaEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2193
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2194
    "Created: / 8.1.1999 / 17:05:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2195
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2196
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2197
javaScreenUpdaterThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2198
     ^ JavaScreenUpdaterThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2199
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2200
    "Created: / 8.1.1999 / 17:06:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2201
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2202
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2203
reflection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2204
    ^ Reflection.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2206
    "Created: / 28-01-2011 / 15:09:19 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2207
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2208
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2209
useSmalltalkInterpreter
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2210
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2211
    JavaMethod makeMetaMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2212
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2213
    "Created: / 23-02-2011 / 12:59:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2214
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2215
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2216
useVMInterpreter
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2217
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2218
    JavaMethod makeJavaMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2219
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2220
    "Created: / 23-02-2011 / 12:59:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2221
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2222
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2223
!JavaVM class methodsFor:'debugging support'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2224
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2225
exceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2226
    ^ ExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2227
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2228
    "Created: / 27.1.1999 / 20:14:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2229
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2230
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2231
exceptionDebug:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2232
    ExceptionDebug := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2233
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2234
    "Created: / 27.1.1999 / 20:15:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2235
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2236
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2237
exceptionDebugPatterns
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2239
    ^ ExceptionDebugPatterns
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  2240
    "
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  2241
    ExceptionDebugPatterns add: 'java/lang/ArrayIndex*'
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  2242
    "
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2243
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2244
    "Created: / 25-02-2011 / 08:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2245
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2246
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2247
!JavaVM class methodsFor:'defaults'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2248
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2249
audioEnabled
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2250
    ^ NoAudio not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2251
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2252
    "Created: / 18.7.1998 / 22:31:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2253
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2254
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2255
audioEnabled:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2256
    NoAudio := aBoolean not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2258
    "Created: / 18.7.1998 / 22:31:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2259
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2260
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2261
defaultCLASSPATH
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2262
    |s|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2264
    s := '' writeStream.
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2265
    Java classPath do:[:p |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2266
        s size == 0 ifFalse:[
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  2267
            s nextPut: OperatingSystem pathSeparator
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2268
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2269
        s nextPutAll:p.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2270
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2271
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2272
    ^ s contents
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2273
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2274
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2275
     self defaultCLASSPATH  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2276
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2277
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2278
    "Created: / 03-01-1998 / 14:27:21 / cg"
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  2279
    "Modified: / 01-09-2011 / 22:04:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2280
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2281
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2282
defaultExtDirs
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2283
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2284
    ^String streamContents:[:s|
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2285
        Java javaExtDirs do:[:dir|
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2286
            s nextPutAll: dir pathName.
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2287
        ] separatedBy:[
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2288
            s nextPut: OperatingSystem pathSeparator.
959
1f3342b2e728 Fixes...
vranyj1
parents: 957
diff changeset
  2289
        ]
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2290
    ]
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2291
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2292
    "
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2293
    JavaVM defaultExtDirs
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2294
    "
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2295
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2296
    "Created: / 31-08-2011 / 20:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2297
!
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  2298
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2299
defaultHotJavaHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2300
    ^ '/usr/local/java/hotjava'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2301
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2302
    "Modified: / 5.8.1997 / 04:13:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2303
    "Created: / 3.1.1998 / 14:27:34 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2304
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2305
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2306
defaultJAVAHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2307
    ^ Java javaHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2308
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2309
    "Modified: / 6.8.1997 / 00:54:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2310
    "Created: / 3.1.1998 / 14:27:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2311
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2312
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2313
defaultJWSHome
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2314
    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2315
	^ '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2316
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2317
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2318
    ^ '/usr/local/java/JWS'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2319
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2320
    "Created: / 3.1.1998 / 14:27:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2321
    "Modified: / 3.12.1998 / 14:54:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2322
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2323
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2324
defaultJavaLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2325
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2326
    | dirs |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2327
    dirs := OrderedCollection new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2328
            add: Java release javaHome asFilename / 'lib';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2329
            add: Java release javaHome asFilename / 'lib' / 'amd64';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2330
            add: Java release javaHome asFilename / 'lib' / 'i386';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2331
            add: Java release javaHome asFilename / 'jre' / 'lib' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2332
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'amd64'  ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2333
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'i386' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2334
            add: Java release javaHome asFilename / 'jre' / 'bin' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2335
            yourself.
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2336
    OperatingSystem isMSWINDOWSlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2337
        dirs
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2338
            add: Java release javaHome asFilename / 'bin'.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2339
    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2340
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2341
    ^String streamContents:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2342
        [:path|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2343
        (dirs select:[:d|d exists])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2344
            do:[:d|path nextPutAll:d pathName]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2345
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2346
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2347
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2348
        JavaVM defaultJavaLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2349
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2350
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2351
    "Created: / 10-12-2010 / 14:09:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2352
    "Modified: / 01-04-2011 / 18:21:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2353
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2354
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2355
defaultSunBootLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2356
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2357
    | dirs |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2358
    dirs := OrderedCollection new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2359
            add: Java release javaHome asFilename / 'lib';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2360
            add: Java release javaHome asFilename / 'lib' / 'amd64';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2361
            add: Java release javaHome asFilename / 'lib' / 'i386';
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2362
            add: Java release javaHome asFilename / 'jre' / 'lib' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2363
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'amd64'  ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2364
            add: Java release javaHome asFilename / 'jre' / 'lib' / 'i386' ;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2365
            yourself.
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2366
    OperatingSystem isMSWINDOWSlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2367
        dirs
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2368
            add: Java release javaHome asFilename / 'bin'.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2369
    ].
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  2370
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2371
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2372
    ^String streamContents:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2373
        [:path|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2374
        (dirs select:[:d|d exists])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2375
            do:[:d|path nextPutAll:d pathName]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2376
            separatedBy:[path nextPut: OperatingSystem pathSeparator]]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2378
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2379
        JavaVM defaultJavaLibraryPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2380
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2381
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2382
    "Created: / 10-12-2010 / 14:37:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2383
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2384
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2385
defaultWindowingToolKit
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2386
    "/ prefer the windows toolkit ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2387
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2388
    (Java classForName:'sun.awt.windows.WToolkit') notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2389
        ^ 'sun.awt.windows.WToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2390
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2391
    (Java classForName:'sun.awt.motif.MToolkit') notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2392
        self halt:'MotifToolKit: this is untested code'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2393
        ^ 'sun.awt.motif.MToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2394
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2395
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2396
    self halt:'TinyToolKit: this is untested code'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2397
    ^ 'sun.awt.tiny.TinyToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2398
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2399
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2400
"/    ^ 'sun.awt.win32.MToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2401
"/    ^ 'sun.awt.motif.MToolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2402
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2403
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2404
     self defaultWindowingToolKit
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2405
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2407
    "Created: / 3.1.1998 / 14:27:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2408
    "Modified: / 27.1.1998 / 21:52:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2409
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2410
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2411
fileAccessTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2412
    ^ FileAccessTrace
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2413
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2414
    "Created: / 27.1.1999 / 18:55:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2415
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2416
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2417
fileAccessTrace:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2418
    FileAccessTrace := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2419
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2420
    "Created: / 19.10.1998 / 16:01:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2421
    "Modified: / 27.1.1999 / 18:55:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2422
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2423
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2424
fileOpenConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2425
    ^ FileOpenConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2426
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2427
    "Created: / 19.10.1998 / 16:01:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2428
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2429
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2430
fileOpenConfirmation:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2431
    FileOpenConfirmation := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2432
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2433
    "Created: / 19.10.1998 / 16:01:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2434
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2435
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2436
javaConsole:aStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2437
    JavaConsoleStream := aStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2438
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2439
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2440
     JavaVM javaConsole:Transcript
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2441
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2442
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2443
    "Modified: / 6.8.1997 / 00:34:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2444
    "Created: / 3.1.1998 / 14:27:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2445
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2446
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2447
javaConsoleStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2448
    ^ JavaConsoleStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2449
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2450
    "Created: / 3.1.1998 / 14:32:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2451
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2452
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2453
nullPointerExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2454
    ^ NullPointerExceptionDebug
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2455
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2456
    "Created: / 27.1.1999 / 20:14:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2457
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2458
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2459
nullPointerExceptionDebug:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2460
    NullPointerExceptionDebug := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2461
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2462
    "Created: / 27.1.1999 / 20:15:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2463
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2464
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2465
socketConnectConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2466
    ^ SocketConnectConfirmation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2467
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2468
    "Created: / 19.10.1998 / 16:02:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2469
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2470
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2471
socketConnectConfirmation:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2472
    SocketConnectConfirmation := aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2473
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2474
    "Created: / 19.10.1998 / 16:02:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2475
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2476
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2477
!JavaVM class methodsFor:'fileIO'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2478
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2479
addOpenFile:aStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2480
    OpenFileTable add:aStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2481
    ^ OpenFileTable size - 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2482
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2483
    "Created: / 2.1.1998 / 18:32:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2484
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2485
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2486
getOpenFileAt:idx
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2487
    ^ OpenFileTable at:idx+1 ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2488
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2489
    "Created: / 2.1.1998 / 18:28:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2490
    "Modified: / 2.1.1998 / 18:33:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2491
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2492
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2493
setOpenFile:aStream at:idx
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2494
    OpenFileTable size < (idx+1) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2495
	OpenFileTable grow:idx+1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2496
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2497
    OpenFileTable at:idx+1 put:aStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2498
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2499
    "Modified: / 2.1.1998 / 18:33:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2500
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2502
!JavaVM class methodsFor:'helpers'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2503
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2504
canCast: s to: t
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2505
    "Helper for _CHECKCAST:_:"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2506
    | sc tc |
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2507
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2508
    "Not specified in JVM spec, sigh"
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2509
    s isJavaPrimitiveType ifTrue:[
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2510
        "FIXME"
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2511
        ^s == t
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  2512
    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2513
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2514
    Java VM Spec, 3rd edition, p 280:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2515
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2516
    The following rules are used to determine whether an objectref that is not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2517
    null can be cast to the resolved type: if S is the class of the object
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2518
    referred to by objectref and T is the resolved class, array, or interface type,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2519
    checkcast determines whether objectref can be cast to type T as follows:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2520
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2521
    - If S is an ordinary (nonarray) class, then:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2522
      - If T is a class type, then S must be the same class as T, or a subclass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2523
        of T.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2524
      - If T is an interface type, then S must implement interface T.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2525
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2526
    (s isJavaArrayClass not and:[s isInterface not]) ifTrue:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2527
        [^s includesBehavior: t].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2528
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2529
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2530
    - If S is an interface type, then:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2531
      - If T is a class type, then T must be Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2532
      - If T is an interface type, then T must be the same interface as S or a
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2533
        superinterface of S.    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2534
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2535
    s isInterface ifTrue:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2536
        [^t isInterface not 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2537
            ifTrue: [t == (self classForName:'java.lang.Object')]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2538
            ifFalse:[s includesBehavior: t]].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2539
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2540
    - If S is a class representing the array type SC[], that is, an array of com-
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2541
      ponents of type SC , then:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2542
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2543
    self assert: s isJavaArrayClass description: 'S should be array type'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2544
    sc := s javaComponentClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2545
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2546
      - If T is a class type, then T must be Object.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2547
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2548
      t isJavaClassType ifTrue:
915
vranyj1
parents: 914
diff changeset
  2549
        [^t == (self classForName: 'java.lang.Object')].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2550
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2551
      - If T is an array type TC[], that is, an array of components of type TC ,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2552
        then one of the following must be true:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2553
        - TC and SC are the same primitive type.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2554
        - TC and SC are reference types, and type SC can be cast to TC by
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2555
          recursive application of these rules.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2556
    "        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2557
      t isJavaArrayClass ifTrue:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2558
        [tc := t javaComponentClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2559
        ^tc isJavaPrimitiveType
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2560
            ifTrue:[tc == sc]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2561
            ifFalse:[self canCast: sc to: tc]].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2562
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2563
      - If T is an interface type, T must be one of the interfaces implemented
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2564
        by arrays (JLS3 4.10.3).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2565
    "
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  2566
    ((t name == #'java/lang/Cloneable') or:
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  2567
        [t name == #'java/lang/Serializable'])
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  2568
            ifTrue:[^true].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2569
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2570
    ^false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2571
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2572
    "Modified: / 09-01-1999 / 00:45:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2573
    "Created: / 11-02-2011 / 08:21:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
915
vranyj1
parents: 914
diff changeset
  2574
    "Modified: / 14-08-2011 / 23:14:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2575
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2576
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2577
javaArrayClassFor:aClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2578
    ^ self reflection javaArrayClassObjectForClass:aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2579
        ifAbsentPut:[JavaArray javaArrayClassFor:aClass]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2580
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2581
    "Created: / 17-12-2010 / 13:46:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2582
    "Modified: / 28-01-2011 / 14:59:16 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2583
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2584
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2585
javaStringObjectForString:string 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2586
    self breakPoint:#mh info:'refactor my sender to use reflection directly'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2587
    ^ self reflection javaStringObjectForString:string interned:false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2588
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2589
    "Created: / 22-11-2010 / 16:31:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2590
    "Modified: / 09-02-2011 / 00:47:49 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2591
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2592
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2593
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
  2594
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2595
    ^self reflection javaStringObjectForString:string interned:intern.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2596
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2597
    "Created: / 22-11-2010 / 16:28:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2598
    "Modified: / 22-11-2010 / 17:57:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2599
    "Modified: / 09-02-2011 / 01:04:21 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2600
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2601
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2602
javaThreadForSTProcess:stProcess
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2603
    |t|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2604
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2605
    t := Java threads keyAtValue:stProcess ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2606
    t == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2607
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2608
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2609
    ^ t
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2610
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2611
    "Modified: / 26.8.1997 / 19:56:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2612
    "Created: / 3.1.1998 / 01:53:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2613
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2614
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2615
newThread:name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2616
    |thread threadClass i|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2617
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2618
    threadClass := Java at:'java.lang.Thread'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2619
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2620
    thread := (Java at:'java.lang.Thread') basicNew.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2621
    thread instVarNamed:'name'        put:(Java as_String:name).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2622
    thread instVarNamed:'priority'    put:(threadClass instVarNamed:'NORM_PRIORITY').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2623
    thread instVarNamed:'single_step' put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2624
    thread instVarNamed:'daemon'      put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2625
    thread instVarNamed:'stillborn'   put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2626
    thread instVarNamed:'target'      put:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2627
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2628
    "/ that on was only temporarily present in JDK1.1.3 (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2629
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2630
    (i := thread class instVarOffsetOf:'initial_stack_memory') notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2631
	thread instVarAt:i put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2632
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2633
    thread instVarNamed:'group'       put:(self standardThreadGroup).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2634
    ^ thread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2635
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2636
    "Created: / 3.1.1998 / 01:47:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2637
    "Modified: / 27.1.1998 / 00:54:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2638
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2639
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2640
stProcessForJavaThread:jThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2641
    |p|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2643
    p := Java threads at:jThread ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2644
    p == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2645
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2646
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2647
    ^ p
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2648
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2649
    "Created: / 2.1.1998 / 21:48:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2650
    "Modified: / 3.1.1998 / 01:53:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2651
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2652
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2653
standardThreadGroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2654
    |standardGroup threadClass|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2655
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2656
    StandardThreadGroup isNil ifTrue:[
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2657
        threadClass := Java at:'java.lang.Thread'.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2658
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2659
        standardGroup := (self classForName:'java.lang.ThreadGroup') new.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2660
        standardGroup instVarNamed:'parent'      put:nil.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2661
        standardGroup instVarNamed:'name'        put:(Java as_String:'main').
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2662
        standardGroup instVarNamed:'maxPriority' put:(threadClass instVarNamed:'MAX_PRIORITY').
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2663
        standardGroup instVarNamed:'destroyed'   put:0.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2664
        standardGroup instVarNamed:'daemon'      put:nil.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2665
        (standardGroup class instVarOffsetOf:'vmAllowSuspension') notNil ifTrue:[
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2666
            standardGroup instVarNamed:'vmAllowSuspension' put:0.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2667
        ].
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2668
        standardGroup instVarNamed:'nthreads'    put:0.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2669
        standardGroup instVarNamed:'ngroups'     put:0.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2670
        standardGroup instVarNamed:'groups'      put:nil.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2671
        StandardThreadGroup := standardGroup.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2672
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2673
    ^ StandardThreadGroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2674
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  2675
    "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
  2676
    "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
  2677
    "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
  2678
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2679
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2680
threadStart:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2681
    "start the thread"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2683
    |jThread jName name stProcess helper |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2684
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2685
    jThread := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2686
    (jThread instVarNamed:'priority') < 1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2687
        self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2688
        jThread instVarNamed:'priority' put:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2689
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2691
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2692
    stProcess := JavaProcess 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2693
                    for: (helper := JavaProcess newHelper)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2694
                    priority:(Processor activePriority).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2695
    helper javaThreadObject: jThread.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2696
    helper javaProcess: stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2697
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2698
    jName := jThread instVarNamed:'name'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2699
    jName isString ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2700
        name := Java as_ST_String:jName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2701
    ] ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2702
        name := jName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2703
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2705
    "/ kludge - remember the ScreenUpdater ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2706
    name = 'Screen Updater' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2707
        JavaScreenUpdaterThread := stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2708
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2709
        name = 'AWT-Windows' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2710
            JavaEventThread := stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2711
        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2712
            (name startsWith:'AWT-EventQueue') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2713
                JavaEventQueueThread := stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2714
            ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2715
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2716
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2717
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2718
"/name = 'UserDialogShowThread' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2719
"/self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2720
"/].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2721
    "/ when that process terminates, wakup any waiters
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2722
    "/stProcess addExitAction:[self wakeup:jThread].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2724
    stProcess name:'JAVA-' , name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2725
    stProcess restartable:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2726
    stProcess resume.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2727
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2728
    Java threads at:jThread put:stProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2729
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2730
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2731
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2732
    "Modified: / 24-12-1999 / 03:14:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2733
    "Created: / 14-12-2010 / 21:31:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2734
    "Modified: / 15-12-2010 / 11:19:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2735
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2736
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2737
wakeup:anObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2738
    JavaVM releaseAndSignalSemaphoreFor:anObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2739
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2740
    "Created: / 3.1.1998 / 02:29:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2741
    "Modified: / 3.1.1998 / 03:08:05 / 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
wakeupAll:anObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2745
    JavaVM releaseAndSignalForAllSemaphoreFor:anObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2746
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2747
    "Created: / 3.1.1998 / 03:07:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2748
    "Modified: / 3.1.1998 / 03:08:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2749
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2750
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2751
!JavaVM class methodsFor:'helpers - awt'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2753
commonReshapeComponent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2754
    |view x y width height ext menu|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2755
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2756
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2757
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2758
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2759
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2760
    width := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2761
    height := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2762
    ext := width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2764
"/    'pReshape ' print. view print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2765
"/    ' ' print. x print. '/' print. y print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2766
"/    ' extent: ' print. ext printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2767
    view isPopUpView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2768
	view origin:x@y extent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2769
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2770
	(view isTopView 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2771
	or:[view isMemberOf:JavaEmbeddedFrameView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2772
	    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2773
	    "/ dont allow setting the origin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2774
	    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2775
	    menu := self topViewsMenu:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2776
	    menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2777
		"/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2778
		height := height + menu height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2779
		ext := width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2780
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2781
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2782
	    "/ to prevent a view from not being visible/closable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2783
	    "/ in case Java goes mad ..
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2784
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2785
	    (width < 30
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2786
	    or:[height < 10]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2787
		"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2788
		width := 30.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2789
		height := 20.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2790
		ext := width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2791
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2792
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2793
	    view extent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2794
	    (view isKindOf:ModalBox) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2795
		view preferredExtent:ext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2796
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2797
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2798
	    "/ adjust non-resizable views min/max
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2799
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2800
	    view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2801
		view minExtent notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2802
		    view minExtent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2803
		    view maxExtent:ext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2804
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2805
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2806
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2807
	    (view superView notNil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2808
	    and:[view superView isTopView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2809
		menu := self topViewsMenu:view superView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2810
		menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2811
		    "/ must add menus height to yPos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2812
		    y := y + menu height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2813
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2814
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2815
		"/ post a configuration event
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2816
		EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2817
		    'JAVA: configure: need event' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2818
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2819
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2820
	    (x isNil or:[y isNil]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2821
		Transcript showCR:'bad args to reshape'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2822
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2823
		view origin:x@y extent:ext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2824
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2825
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2826
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2827
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2828
    view isJavaView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2829
	view invalidate.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2830
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2831
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2832
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2833
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2834
    "Created: / 4.1.1998 / 18:00:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2835
    "Modified: / 5.12.1998 / 13:34:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2836
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2837
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2838
createdWindowsView:aView for:aJavaPeer
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2839
    "this is only sent with the sun.awt.windows toolkit"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2840
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2841
    aJavaPeer instVarNamed:'pData' put:aView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2842
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2843
    JavaWindowGroup isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2844
	JavaWindowGroup := WindowGroup new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2845
	JavaWindowGroup isForModalSubview:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2846
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2847
    aView windowGroup:JavaWindowGroup.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2848
    JavaWindowGroup addView:aView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2849
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2850
    KnownWindows isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2851
	KnownWindows := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2852
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2853
    KnownWindows at:aJavaPeer put:aView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2854
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2855
    FirstWindowCreationSemaphore signalIf.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2857
"/'*** ' print. aJavaPeer print. ' -> ' print. aView printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2858
"/(aView isKindOf:ModalBox) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2859
"/    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2860
"/].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2861
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2862
    "Created: / 4.1.1998 / 17:57:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2863
    "Modified: / 28.1.1998 / 22:40:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2864
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2865
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2866
gcForWGraphics:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2867
    |jGraphics gc orgX orgY trans tX tY|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2868
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2869
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2870
    O_WGgraphics_pData isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2871
	O_WGgraphics_pData := (jGraphics class instVarOffsetOf:'pData').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2872
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2873
    O_WGgraphics_originX isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2874
	O_WGgraphics_originX := (jGraphics class instVarOffsetOf:'originX').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2875
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2876
    O_WGgraphics_originY isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2877
	O_WGgraphics_originY := (jGraphics class instVarOffsetOf:'originY').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2878
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2879
    gc := jGraphics instVarAt:O_WGgraphics_pData.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2880
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2881
    trans := gc translation.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2882
    tX := trans x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2883
    tY := trans y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2884
"/    tX := gc translationX.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2885
"/    tY := gc translationY.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2886
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2887
    orgX := jGraphics instVarAt:O_WGgraphics_originX.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2888
    orgY := jGraphics instVarAt:O_WGgraphics_originY.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2889
    ((orgX ~~ tX) or:[orgY ~~ tY]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2890
	gc translation:orgX@orgY
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2891
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2892
    ^ gc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2893
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2894
    "Created: / 8.1.1998 / 00:16:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2895
    "Modified: / 23.12.1998 / 20:27:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2896
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2897
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2898
jPeerForView:aView
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2899
    ^ KnownWindows keyAtValue:aView ifAbsent:nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2900
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2901
    "Created: / 15.1.1998 / 13:48:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2902
    "Modified: / 15.1.1998 / 13:48:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2903
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2904
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2905
pReshape:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2906
    |jFramePeer view x y width height menu|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2907
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2908
    jFramePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2909
    view := jFramePeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2910
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2911
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2912
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2913
    width := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2914
    height := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2915
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2916
"/    'pReshape ' print. view print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2917
"/    ' ' print. x print. '/' print. y print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2918
"/    ' extent: ' print. width print. '/' print. height printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2919
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2920
    view isPopUpView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2921
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2922
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2923
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2924
    (view isTopView 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2925
    or:[view isMemberOf:JavaEmbeddedFrameView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2926
	"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2927
	"/ dont allow setting the origin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2928
	"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2929
	menu := self topViewsMenu:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2930
	menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2931
	    "/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2932
	    height := height + menu height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2933
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2934
	view extent:width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2935
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2936
	(view superView notNil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2937
	and:[view superView isTopView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2938
	    menu := self topViewsMenu:view superView.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2939
	    menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2940
		"/ must add menus height to yPos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2941
		y := y + menu height.
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
	view origin:x@y extent:width@height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2945
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2946
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2947
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2948
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2949
    "Created: / 7.1.1998 / 21:47:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2950
    "Modified: / 5.12.1998 / 13:47:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2951
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2952
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2953
replacementFontFor:name style:styleNr size:size
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2954
    |font family style|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2955
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2956
    style := 'roman'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2957
    styleNr = 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2958
        style := 'roman'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2959
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2960
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2961
    font := Font family:name style:style size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2962
    font notNil ifTrue:[^ font].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2963
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2964
    name = 'Dialog' ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2965
        family := 'helvetica'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2966
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2967
        family := 'courier'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2968
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2969
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2970
    ^ Font family:name style:style size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2971
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2972
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2973
topViewsMenu:view
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2974
    |idx|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2975
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2976
    view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2977
	view subViews size > 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2978
	    (idx := view subViews findFirst:[:v | v isMemberOf:MenuPanel]) ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2979
		"/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2980
		^ view subViews at:idx
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2981
	    ]
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
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2985
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2986
    "Modified: / 4.8.1997 / 01:23:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2987
    "Created: / 4.1.1998 / 18:01:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2988
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2989
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2990
viewForWPeer:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2991
    |jPeer|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2992
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2993
    jPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2994
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2995
    "/ sigh; pData was renamed to pNativeWidget in jdk1.2 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2996
    O_FramePeer_pNativeWidget isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2997
	O_FramePeer_pNativeWidget := (jPeer class instVarOffsetOf:'pNativeWidget').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2998
	O_FramePeer_pNativeWidget isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  2999
	    O_FramePeer_pNativeWidget := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3000
	    O_FramePeer_pData isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3001
		O_FramePeer_pData := (jPeer class instVarOffsetOf:'pData').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3002
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3003
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3004
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3005
    O_FramePeer_pNativeWidget > 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3006
	"/ ok, we are < 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3007
	^ jPeer instVarAt:O_FramePeer_pNativeWidget.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3008
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3009
    ^ jPeer instVarAt:O_FramePeer_pData.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3010
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3011
    "Modified: / 19.11.1998 / 01:43:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3012
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3013
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3014
!JavaVM class methodsFor:'helpers - exceptions'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3015
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3016
throwAbstractMethodError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3017
    ^ 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
  3018
        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
  3019
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3020
    "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
  3021
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3022
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3023
throwArrayIndexOutOfBoundsException:badIndex
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3024
    |exClass ex|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3025
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3026
    exClass := Java classForName:'java.lang.ArrayIndexOutOfBoundsException'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3027
    ex := exClass newWith_int:badIndex.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3028
    ^ self throwException:ex
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3030
    "Created: / 14.1.1998 / 21:36:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3031
    "Modified: / 20.11.1998 / 13:27:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3032
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3034
throwArrayIndexOutOfBoundsException:theArray _:badIndex
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3035
    |exClass ex|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3036
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3037
    exClass := Java classForName:'java.lang.ArrayIndexOutOfBoundsException'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3038
    ex := exClass newWith_int:badIndex.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3039
    ^ self throwException:ex
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3040
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3041
    "Modified: / 20.11.1998 / 13:27:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3042
    "Created: / 8.1.1999 / 15:03:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3043
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3044
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3045
throwArrayStoreException:badArray
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3046
    ^ self
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3047
        throwExceptionClassName:'java.lang.ArrayStoreException'
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3048
         withMessage:('bad array store: ' , badArray class printString)
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3049
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  3050
    "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
  3051
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3052
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3053
throwClassCastException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3054
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3055
	throwExceptionClassName:'java.lang.ClassCastException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3056
	withMessage:'cast failed'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3057
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3058
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3059
    "Created: / 8.1.1999 / 18:55:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3060
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3061
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3062
throwClassFormatError
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3063
    ^ self 
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3064
        throwExceptionClassName:'java.lang.ClassFormatError' 
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3065
        withMessage:'Invalid class format'
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3066
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3067
    "Created: / 04-01-1998 / 22:26:09 / cg"
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3068
    "Modified: / 10-11-1998 / 13:20:31 / cg"
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3069
    "Created: / 08-08-2011 / 17:57:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3070
!
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  3071
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3072
throwClassNotFoundException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3073
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3074
	throwExceptionClassName:'java.lang.ClassNotFoundException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3075
	withMessage:'no such class'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3076
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3077
    "Created: / 4.1.1998 / 22:25:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3078
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3079
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3080
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3081
throwClassNotFoundException: className 
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3082
    ^ self throwExceptionClassName: 'java.lang.ClassNotFoundException'
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3083
        withMessage: 'no such class: ' , className
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3084
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3085
    "Created: / 4.1.1998 / 22:26:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3086
    "Modified: / 10.11.1998 / 13:20:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3087
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3088
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3089
throwDivisionByZeroException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3090
    DivisionByZeroExceptionDebug == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3091
	self halt:'division by zero'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3092
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3093
    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3094
	throwExceptionClassName:'java.lang.ArithmeticException'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3095
	withMessage:'division by zero'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3096
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3097
    "Created: / 8.1.1999 / 14:28:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3098
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3099
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3100
throwException:aJavaException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3101
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3102
    <resource: #skipInDebuggersWalkBack>
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3103
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3104
    |con jMsg msg exClass srchCon handlerContext handlerPC method pc hPC
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3105
     monitorObject|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3106
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3107
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3109
    ExceptionTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3110
        'JAVA: exception: ' print. aJavaException class fullName print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3111
        msg := aJavaException instVarNamed:'detailMessage'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3112
        msg notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3113
            ' (' print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3114
            (Java as_ST_String:msg) print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3115
            ')' print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3116
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3117
        '' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3118
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3119
    ExceptionDebug ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3120
"/        self internalError:('JAVA: exception: ' , aJavaException class fullName).        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3121
        (ExceptionDebugPatterns isNilOrEmptyCollection or:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3122
            [ExceptionDebugPatterns anySatisfy: [:pattern|pattern match:aJavaException class fullName]])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3123
            ifTrue:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3124
                [self halt:('JAVA: exceptionDebug: ' , aJavaException class fullName)]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3125
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3126
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3127
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3128
    "/ search stack for a javaContext which handles that exception
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3129
    "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3130
    srchCon := thisContext sender.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3131
    [handlerContext isNil and:[srchCon notNil]] whileTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3132
        (srchCon isJavaContext) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3133
            method := srchCon method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3134
            pc := srchCon pc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3135
            (hPC := method handlerFor:aJavaException at:pc) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3136
                "JV@2011-02-25: Another crap in JVM and Java VM Spec?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3137
                 Or theri proxu generator? Assume that if athrow's pc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3138
                 is same as the handler's pc it means rethrow to
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3139
                 handling context - so DO NOT HANDLE IT!!"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3140
                "Hack disabled for now"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3141
                "pc ~~ hPC"true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3142
                    handlerPC := hPC.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3143
                    handlerContext := srchCon
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3144
                ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3145
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3146
                "/ on the fly, release any monitor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3147
                method isSynchronized ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3148
                    method isStatic ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3149
                        self assert: srchCon receiver == method javaClass.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3150
                        monitorObject := method javaClass.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3151
                    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3152
                        monitorObject := srchCon receiver
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3153
                    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3154
                    self _MONITOREXIT:monitorObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3155
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3156
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3157
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3158
        srchCon := srchCon sender.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3159
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3160
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3161
    handlerContext isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3162
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3163
        "/ no JavaHandler ... let smalltalk handle it
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3164
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3165
        exClass := aJavaException class.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3166
        msg := 'Java ' , exClass name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3167
        jMsg := aJavaException instVarNamed:'detailMessage'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3168
        jMsg notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3169
            msg := msg , ': ' , (Java as_ST_String:jMsg).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3170
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3171
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3172
        "/ for our convenience: skip ST contexts 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3173
        "/ (i.e. the handler or debugger will see the javaContext first )
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3174
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3175
        con := thisContext sender.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3176
        [con isNil or:[con isJavaContext]] whileFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3177
            con := con sender
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3178
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3179
        con isNil ifTrue:[con := thisContext sender].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3180
        JavaUnhandledExceptionError
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3181
                raiseWith:aJavaException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3182
                errorString:msg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3183
                in:con.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3184
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3185
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3186
        "/ found a java exceptionHandler
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3187
        "/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3188
        handlerContext setPC:handlerPC.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3189
        handlerContext exceptionArg:aJavaException pc:handlerPC.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3190
        handlerContext markForException.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3191
        handlerContext unwindAndRestart.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3192
        self halt:'should not be reached'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3193
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3194
Processor activeProcess == JavaScreenUpdaterThread ifTrue:[self halt].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3195
Processor activeProcess == JavaEventQueueThread ifTrue:[self halt].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3196
    Processor activeProcess terminate.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3197
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3198
    "Created: / 07-01-1998 / 15:28:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3199
    "Modified: / 24-12-1999 / 02:33:25 / cg"
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3200
    "Modified: / 10-08-2011 / 20:23:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3201
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3202
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3203
throwExceptionClassName:aJavaExceptionClassName withMessage:someMessage
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3204
    |exClass ex|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3206
    exClass := Java classForName:aJavaExceptionClassName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3207
    ex := exClass newWith_String:someMessage.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3208
    ^ self throwException:ex
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3209
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3210
    "Created: / 7.1.1998 / 15:25:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3211
    "Modified: / 14.1.1998 / 23:38:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3212
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3213
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3214
throwExceptionInInitializerError:className
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3215
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3216
        throwExceptionClassName:'java.lang.ExceptionInInitializerError' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3217
        withMessage:'error when initializing class: ' , className
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3218
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3219
    "Created: / 24-11-2010 / 09:23:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3220
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3221
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3222
throwFileNotFoundException: message
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3223
    ^ self 
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3224
        throwExceptionClassName:'java.io.FileNotFoundException' 
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3225
        withMessage: message
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3226
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3227
    "Created: / 04-01-1998 / 22:26:09 / cg"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3228
    "Modified: / 10-11-1998 / 13:20:31 / cg"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3229
    "Created: / 10-08-2011 / 14:19:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3230
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3231
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3232
throwIOExceptionWithMessage:message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3233
    IOExceptionDebug == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3234
	self halt:'IO Exception'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3235
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3236
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3237
	throwExceptionClassName:'java.io.IOException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3238
	withMessage:message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3239
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3240
    "Created: / 7.1.1998 / 10:34:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3241
    "Modified: / 7.1.1998 / 15:26:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3242
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3243
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3244
throwIllegalAccessError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3245
    ^ 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
  3246
        withMessage: 'illegal access'
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3247
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3248
    "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
  3249
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3250
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3251
throwIllegalAccessException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3252
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3253
	throwExceptionClassName:'java.lang.IllegalAccessException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3254
	withMessage:'illegal access'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3256
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3257
    "Created: / 14.1.1998 / 23:13:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3258
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3259
985
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3260
throwIllegalArgumentException: message
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3261
    ^ self 
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3262
        throwExceptionClassName:'java.lang.IllegalArgumentException' 
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3263
        withMessage:'illegal access'
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3264
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3265
    "Modified: / 07-01-1998 / 15:25:35 / cg"
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3266
    "Created: / 14-01-1998 / 23:13:44 / cg"
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3267
    "Created: / 07-09-2011 / 14:18:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3268
!
8d63abcb4308 Few fixes...
vranyj1
parents: 981
diff changeset
  3269
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3270
throwIncompatibleClassChangeError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3271
        ^ 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
  3272
                withMessage: 'illegal change'.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3273
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3274
    "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
  3275
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3276
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3277
throwInstantiationException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3278
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3279
	throwExceptionClassName:'java.lang.InstantiationException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3280
	withMessage:'cannot instantiate'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3281
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3282
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3283
    "Created: / 14.1.1998 / 23:15:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3284
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3285
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3286
throwInstantiationExceptionFor:aJavaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3287
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3288
        throwExceptionClassName:'java.lang.InstantiationException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3289
        withMessage:('cannot instantiate: ' , aJavaClass javaName)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3290
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3291
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3292
    "Created: / 14.1.1998 / 23:17:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3293
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3294
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3295
throwLinkageError: message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3296
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3297
        throwExceptionClassName:'java.lang.LinkageError' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3298
        withMessage: message
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3299
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3300
    "Modified: / 10-11-1998 / 13:20:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3301
    "Created: / 26-11-2010 / 11:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3302
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3303
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3304
throwNoSuchFieldException
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3305
  ^ 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
  3306
        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
  3307
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3308
    "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
  3309
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3310
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3311
throwNoSuchMethodError
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3312
      ^ 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
  3313
              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
  3314
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3315
    "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
  3316
!
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3317
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3318
throwNullPointerException
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  3319
    NullPointerExceptionDebug == true ifTrue:[
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3320
        self halt:'Null Pointer exception'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3321
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3322
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3323
    ^ self 
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3324
        throwExceptionClassName:'java.lang.NullPointerException' 
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3325
        withMessage:'null pointer'
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3326
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3327
    "Created: / 09-01-1998 / 02:26:08 / cg"
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  3328
    "Modified: / 28-01-1998 / 02:30:09 / cg"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  3329
    "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
  3330
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3332
throwNumberFormatException 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3333
    ^ self 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3334
	throwExceptionClassName:'java.lang.NumberFormatException' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3335
	withMessage:'bad number format'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3337
    "Modified: / 7.1.1998 / 15:25:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3338
    "Created: / 11.1.1998 / 16:08:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3339
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3340
943
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3341
throwOutOfMemoryError
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3342
    ^ self 
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3343
        throwExceptionClassName:'java.lang.OutOfMemoryError' 
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3344
        withMessage:'Oops, out of memory!!'
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3345
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3346
    "Created: / 04-01-1998 / 22:26:09 / cg"
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3347
    "Modified: / 10-11-1998 / 13:20:31 / cg"
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3348
    "Created: / 30-08-2011 / 09:23:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3349
!
35fe635719f9 JavaZipSupport refactoring
vranyj1
parents: 942
diff changeset
  3350
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3351
throwZipException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3352
    ^ self throwExceptionClassName: 'java.util.zip.ZipException'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3353
        withMessage: 'error in opening zip file'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3354
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3355
    "Created: / 27-03-2011 / 16:25:43 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3356
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3357
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3358
!JavaVM class methodsFor:'helpers - io'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3359
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3360
anyStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3361
    |jStream fileNo file|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3362
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3363
    jStream := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3364
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3365
    fileNo := self validateFileNo:jStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3366
    fileNo == 0 ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3367
        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
  3368
        ^ self    "/ already closed
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3369
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3370
    file := self getOpenFileAt:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3371
    file isNil ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3372
        self halt:'invalid fileNo in close'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3373
        self internalError:'invalid fileNo in close'.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3374
        ^ self
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3375
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3376
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3377
    file == Stdin ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3378
        file := StdinReplacementFileQuerySignal raiseRequest.
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3379
        file isNil ifTrue:[
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3380
            file := Stdin
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3381
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3382
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3383
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3384
    "/ should always be bytes
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3385
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3386
    (file ~~ Stdin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3387
    and:[file ~~ Stdout
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3388
    and:[file ~~ Stderr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3389
    and:[file ~~ Transcript]]]) ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3390
        file close.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3391
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3392
    self setOpenFile:nil at:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3393
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3394
    fileNo := jStream instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3395
    fileNo isInteger ifFalse:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3396
        "/ JDK 1.1.3
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3397
        fileNo instVarNamed:'fd' put:0.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3398
    ] ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3399
        "/ JDK 1.0
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3400
        jStream instVarNamed:'fd' put:0
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3401
    ].
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3402
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3403
    "Created: / 04-02-1998 / 15:22:03 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3404
    "Modified: / 14-10-1998 / 15:10:07 / cg"
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3405
    "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
  3406
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3407
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3408
anyStream_readBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3409
    |bytes offset count stream nRead|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3410
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3411
    bytes := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3412
    offset := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3413
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3414
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3415
    stream := self validateFile:(nativeContext receiver).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3416
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3417
    "/ should always be bytes
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3418
    bytes class isBytes ifFalse:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3419
        self halt.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3420
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3421
    stream == Stdin ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3422
        stream := StdinReplacementFileQuerySignal raiseRequest.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3423
        stream isNil ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3424
            ^ -1 "/ 0  EOF
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3425
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3426
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3427
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3428
    FileIOTrace ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3429
        ('JAVA: read ' , count printString , ' bytes from ' , stream pathName) infoPrintCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3430
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3432
    stream isPositionable ifFalse:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3433
        "/ mhmh - some kind of socket or pipe
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3434
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3435
        stream readWait.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3436
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3437
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3438
    count == 0 ifTrue:[^0].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3439
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3440
    Stream readErrorSignal handle:[:ex |
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3441
        nRead := -1
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3442
    ] do:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3443
        nRead := stream nextAvailableBytes:count into:bytes startingAt:offset+1.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3444
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3445
    nRead == 0 ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3446
        stream atEnd ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3447
            FileIOTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3448
                ('JAVA: at EOF ' , nRead printString) infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3449
            ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3450
            ^ -1
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3451
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3452
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3453
    count ~~ nRead ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3454
        FileIOTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3455
            ('JAVA: only got ' , nRead printString) infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3456
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3457
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3458
    ^ nRead
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3459
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3460
    "Created: / 04-02-1998 / 15:20:00 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3461
    "Modified: / 10-11-1998 / 19:56:47 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3462
    "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
  3463
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3464
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3465
anyStream_writeBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3466
    |bytes offset count stream|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3467
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3468
    bytes := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3469
    offset := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3470
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3471
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3472
    stream := self validateFile:(nativeContext receiver).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3473
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3474
    FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3475
        stream isFileStream ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3476
            Logger log: ('write ' , count printString , ' bytes to ' , stream pathName) severity: #info facility: 'JVM'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3477
        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3478
            stream ~~ Stdout ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3479
                stream ~~ Stderr ifTrue:[
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3480
                    Logger log: ('write ' , count printString , ' bytes to ' , stream displayString) severity: #info facility: 'JVM'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3481
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3482
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3483
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3484
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3485
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3486
    "/ should always be bytes
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3487
    Stream writeErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3488
        ex return
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3489
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3490
        Socket brokenConnectionSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3491
            ex return
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3492
        ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3493
            stream isBinary ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3494
                stream nextPutBytes:count from:bytes startingAt:offset+1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3495
            ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3496
                stream nextPutAll: (bytes asString copyFrom: offset + 1 to: offset + count).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3497
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3498
            
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3499
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3500
        stream == Transcript ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3501
            Transcript endEntry
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3502
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3503
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3504
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3505
    "Created: / 04-02-1998 / 15:23:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3506
    "Modified: / 16-02-1999 / 11:32:45 / cg"
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  3507
    "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
  3508
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3509
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3510
checkWritePermissionOfDirectory:dir message:msg
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3511
    |answer|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3512
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3513
    (PermittedDirectories notNil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3514
    and:[PermittedDirectories includes:dir]) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3515
	FileOpenConfirmation ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3516
	    answer := Dialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3517
		    confirmWithCancel:msg withCRs
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3518
			       labels:#('no' 'grant')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3519
			       values:#(false true)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3520
			      default:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3521
	    answer == false ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3522
		^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3523
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3524
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3525
	    (self confirm:('JAVA Security check\\Always permit writes in this directory (''' , dir pathName , ''') ?') withCRs)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3526
	    ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3527
		PermittedDirectories isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3528
		    PermittedDirectories := Set new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3529
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3530
		PermittedDirectories add:dir.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3531
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3532
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3533
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3534
    ^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3535
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3536
    "Created: / 3.12.1998 / 15:07:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3537
    "Modified: / 3.12.1998 / 15:16:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3538
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3539
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3540
commonClose:nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3541
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3542
    | fdobj fd stream |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3543
    fdobj := (nativeContext receiver instVarNamed: #fd).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3544
    fd    := fdobj instVarNamed: #fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3545
    stream := self getOpenFileAt:fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3546
    stream notNil ifTrue:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3547
        stream close.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3548
    ] ifFalse:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3549
        self breakPoint: #jv.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3550
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3551
    self setOpenFile: nil at: fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3552
    fdobj instVarNamed:#fd put: -1.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3553
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3554
    "Created: / 10-08-2011 / 14:02:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3555
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3556
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3557
commonOpen:nativeContext forAppend:forAppend
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3558
    |fs fd fn name dir stream fileNo answer readonly|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3559
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3560
    fs := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3561
    fd := fs instVarNamed:'fd'.
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3562
    (fd instVarNamed:'fd') ~~ -1 ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3563
        "/self halt:'file already open'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3564
        self internalError:'file already open'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3565
        ^ self.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3566
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3567
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3568
    name := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3569
    name := Java as_ST_String:name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3570
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3571
    FileOpenTrace ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3572
        ('JAVA: opening ' , name) infoPrintCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3573
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3574
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  3575
    fn := name utf8Decoded asFilename.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3576
    dir := fn directory pathName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3577
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3578
    readonly := false.
904
vranyj1
parents: 903
diff changeset
  3579
"/    (PermittedDirectories notNil
vranyj1
parents: 903
diff changeset
  3580
"/    and:[PermittedDirectories includes:dir]) ifFalse:[
vranyj1
parents: 903
diff changeset
  3581
"/        FileOpenConfirmation ifTrue:[
vranyj1
parents: 903
diff changeset
  3582
"/            answer := Dialog 
vranyj1
parents: 903
diff changeset
  3583
"/                    confirmWithCancel:('JAVA Security check\\Opening ''' , name , ''' for read/write.\Grant permission ?') withCRs
vranyj1
parents: 903
diff changeset
  3584
"/                               labels:#('no' 'grant' 'readonly')
vranyj1
parents: 903
diff changeset
  3585
"/                               values:#(false true #readonly)
vranyj1
parents: 903
diff changeset
  3586
"/                              default:3.
vranyj1
parents: 903
diff changeset
  3587
"/            answer == false ifTrue:[
vranyj1
parents: 903
diff changeset
  3588
"/                self throwIOExceptionWithMessage:('no permission to open ' , name , ' for writing').
vranyj1
parents: 903
diff changeset
  3589
"/                ^ self
vranyj1
parents: 903
diff changeset
  3590
"/            ].
vranyj1
parents: 903
diff changeset
  3591
"/            readonly := (answer == #readonly).
vranyj1
parents: 903
diff changeset
  3592
"/
vranyj1
parents: 903
diff changeset
  3593
"/            readonly ifFalse:[
vranyj1
parents: 903
diff changeset
  3594
"/                (self confirm:('JAVA Security check\\Always permit writes in this directory (''' , dir , ''') ?') withCRs)
vranyj1
parents: 903
diff changeset
  3595
"/                ifTrue:[
vranyj1
parents: 903
diff changeset
  3596
"/                    PermittedDirectories isNil ifTrue:[
vranyj1
parents: 903
diff changeset
  3597
"/                        PermittedDirectories := Set new
vranyj1
parents: 903
diff changeset
  3598
"/                    ].
vranyj1
parents: 903
diff changeset
  3599
"/                    PermittedDirectories add:dir.
vranyj1
parents: 903
diff changeset
  3600
"/                ]
vranyj1
parents: 903
diff changeset
  3601
"/            ]
vranyj1
parents: 903
diff changeset
  3602
"/        ]
vranyj1
parents: 903
diff changeset
  3603
"/    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3604
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3605
    readonly ifTrue:[
904
vranyj1
parents: 903
diff changeset
  3606
        (fn exists and:[fn isReadable not]) ifTrue:[
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3607
            ^self throwFileNotFoundException: 'File is not readable'    
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3608
        ].
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3609
        stream := fn readStream.
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3610
    ] ifFalse:[    
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  3611
        fn exists ifFalse:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3612
            ^self throwFileNotFoundException: 'File does not exist'
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3613
        ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3614
        fn isDirectory ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3615
             ^self throwFileNotFoundException: 'File is directory'
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3616
        ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  3617
        fn isWritable ifFalse:[
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3618
            ^self throwFileNotFoundException: 'File does not writable'    
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3619
        ].
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3620
        forAppend ifTrue:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3621
            stream := fn appendingWriteStream.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3622
        ] ifFalse:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3623
            stream := fn writeStream.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3624
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3625
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3626
    stream isNil ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3627
        self throwIOExceptionWithMessage:('cannot open ' , name , ' for writing').
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3628
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3629
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3630
    fileNo := self addOpenFile:stream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3631
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3632
    FileOpenTrace ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3633
        ('JAVA: opened ' , name , ' as FD ' , fileNo printString , ' for writing') infoPrintCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3634
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3635
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3636
    fd instVarNamed:'fd' put:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3637
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3638
    "Created: / 07-04-1998 / 19:14:09 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  3639
    "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
  3640
    "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
  3641
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3643
fileStreamForReading:name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3644
    |fn stream tryAlongClassPath|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3645
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3646
    FileOpenTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3647
        ('JAVA: opening for read:' , name) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3648
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3649
    fn := name asFilename.
904
vranyj1
parents: 903
diff changeset
  3650
    fn exists  ifFalse:[
vranyj1
parents: 903
diff changeset
  3651
        ^self throwFileNotFoundException: 'File does not exists'
vranyj1
parents: 903
diff changeset
  3652
    ].
vranyj1
parents: 903
diff changeset
  3653
    fn isDirectory ifTrue:[
vranyj1
parents: 903
diff changeset
  3654
        ^self throwFileNotFoundException: 'File is directory'
vranyj1
parents: 903
diff changeset
  3655
    ].
vranyj1
parents: 903
diff changeset
  3656
    fn isReadable  ifFalse:[
vranyj1
parents: 903
diff changeset
  3657
        ^self throwFileNotFoundException: 'File is not readable'
vranyj1
parents: 903
diff changeset
  3658
    ].
vranyj1
parents: 903
diff changeset
  3659
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3660
    stream := fn readStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3661
    stream notNil ifTrue:[^ stream].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3662
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3663
    fn isAbsolute ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3664
        "/ if not absolute, try along classPath
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3665
        "/ This allows classes to open local files (JEdit)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3666
        "/ even if they have NOT been loaded by a Java classLoader.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3667
        "/ Only do this for image files 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3668
        "/ (and maybe some other config files in the future),
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3669
        "/ to avoid security holes.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3670
        tryAlongClassPath := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3671
"/        tryAlongClassPath := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3672
"/        (fn hasSuffix:'gif') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3673
"/            tryAlongClassPath := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3674
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3675
"/        (fn hasSuffix:'jpg') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3676
"/            tryAlongClassPath := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3677
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3678
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3679
        tryAlongClassPath ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3680
            Java effectiveClassPath do:[:dirName |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3681
                |fn|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3683
                (fn := dirName asFilename construct:name) exists ifTrue:[
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3684
                    fn isReadable ifFalse:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3685
                        self throwFileNotFoundException: 'File is not readable'.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3686
                        ^nil
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  3687
                    ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3688
                    stream := fn readStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3689
                    stream notNil ifTrue:[^ stream].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3690
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3691
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3692
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3693
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3694
    ^ nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3695
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3696
    "Modified: / 27-01-1999 / 18:54:46 / cg"
904
vranyj1
parents: 903
diff changeset
  3697
    "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
  3698
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3699
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3700
fixFilename:path
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3701
    OperatingSystem isMSDOSlike ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3702
	(#($/ $\) includes:(path at:1)) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3703
	    (path at:3) == $: ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3704
		^ path copyFrom:2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3705
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3706
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3707
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3708
    ^ path
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3709
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3710
    "Created: / 20.10.1998 / 20:58:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3711
    "Modified: / 20.10.1998 / 21:06:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3712
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3713
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3714
validateFile:javaStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3715
    |fileNo file descriptor|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3716
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3717
    fileNo := self validateFileNo:javaStream.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3718
    fileNo isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3719
"/        self halt:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3720
"/        self internalError:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3721
	self throwIOExceptionWithMessage:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3722
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3723
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3724
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3725
    file := self getOpenFileAt:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3726
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3727
    file isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3728
"/        self halt:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3729
"/        self internalError:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3730
	self throwIOExceptionWithMessage:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3731
	^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3732
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3733
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3734
    ^ file
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3735
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3736
    "Created: / 4.1.1998 / 16:50:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3737
    "Modified: / 4.1.1998 / 17:50:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3738
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3739
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3740
validateFileNo:javaStream
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3741
    |fileNo file descriptor|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3742
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3743
    "/ JDK 1.1.3 has fileDescriptor wrapped
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3744
    "/ JDK 1.0 has it directly as integer
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3745
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3746
    fileNo := javaStream instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3747
    fileNo isInteger ifFalse:[
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3748
        descriptor := fileNo.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3749
        descriptor notNil ifTrue:[
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3750
            fileNo := descriptor instVarNamed:'fd'.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3751
            ((fileNo == -1) and:[OperatingSystem isMSWINDOWSlike]) ifTrue:[
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3752
                fileNo := descriptor instVarNamed:'handle'.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3753
            ]
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3754
        ]
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3755
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3756
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3757
    fileNo isInteger ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3758
"/        self halt:'invalid fileNo in read'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3759
"/        self internalError:'invalid fileNo in read'.
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3760
        self throwIOExceptionWithMessage:'invalid fileNo in read'.
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3761
        ^ nil
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3762
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3764
    ^ fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3765
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3766
    "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
  3767
    "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
  3768
    "Modified: / 18-08-2011 / 20:03:37 / jv"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3769
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3771
!JavaVM class methodsFor:'helpers - reflection'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3772
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3773
classForJavaClassObject:aJavaClassObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3774
    "given java.lang.class instance, return the real class for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3775
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3776
    ^ self reflection classForJavaClassObject:aJavaClassObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3777
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3778
    "Created: / 23-01-1998 / 17:44:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3779
    "Modified: / 03-02-2011 / 21:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3780
    "Modified: / 09-02-2011 / 01:02:17 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3781
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3782
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3783
javaClassObjectForClass: aClass 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3784
    "given a real class, return the corresponding java.lang.class
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3785
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3786
    
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3787
    | class |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3788
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3789
    "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
  3790
    (JavaObjectDictionary new hasReflection: aClass name) ifTrue: [
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3791
        class := JavaObjectDictionary new reflectionOf: aClass name
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3792
    ] ifFalse: [ class := aClass. ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3793
    ^ self reflection javaClassObjectForClass: class.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3794
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3795
    "Created: / 23-01-1998 / 17:43:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3796
    "Modified: / 05-12-1998 / 15:29:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3797
    "Modified: / 17-01-2011 / 19:24:22 / kursjan <kursjan@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3798
    "Modified: / 28-01-2011 / 14:31:25 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3799
    "Modified: / 03-02-2011 / 21:31:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3800
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3801
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3802
javaConstructorObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3803
    "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3804
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3805
    self breakPoint:#mh info:'refactor my sender to call reflection directly'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3806
    ^ self reflection javaConstructorObjectForMethod: method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3807
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3808
    "Modified: / 09-02-2011 / 00:58:09 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3809
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3810
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3811
javaFieldObjectForField: aJavaField in: aJavaLangClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3812
    "given a java field, return the corresponding java.lang.Field
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3813
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3814
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3815
        See OpenJDK7 source:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3816
        jdk7/hotspot/src/share/vm/runtime/reflection.cpp,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3817
        oop Reflection::new_field"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3818
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3819
    | field  clazz  name  slot  type  modifiers |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3820
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3821
    clazz := aJavaLangClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3822
    name := self reflection javaStringObjectForString: aJavaField name
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3823
                interned: true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3824
    slot := aJavaField index.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3825
    type := self javaClassObjectForClass: aJavaField typeClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3826
    modifiers := aJavaField accessFlags.
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
  3827
    field := (Java classForName: 'java.lang.reflect.Field') new.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3828
    field
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3829
        instVarNamed: #clazz put: clazz;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3830
        instVarNamed: #name put: name;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3831
        instVarNamed: #slot put: slot;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3832
        instVarNamed: #type put: type;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3833
        instVarNamed: #modifiers put: modifiers;        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3834
        yourself.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3835
    aJavaField annotations ifNotNil: [field instVarNamed: #annotations
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3836
            put: aJavaField annotations runtimeVisible rawAnnotations].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3837
    ^ field.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3838
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3839
    "Modified: / 05-12-1998 / 15:29:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3840
    "Created: / 22-11-2010 / 17:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3841
    "Modified: / 09-02-2011 / 01:06:20 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3842
    "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
  3843
    "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
  3844
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3845
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3846
javaMethodObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3847
    "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3848
     instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3849
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3850
    ^ self reflection javaMethodObjectForMethod:method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3851
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3852
    "Modified: / 28-02-2011 / 17:08:36 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3853
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3854
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3855
methodForJavaConstructorObject:constructor 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3856
    "given a java.lang.reflect.Constructor, return the corresponding method
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3857
     it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3858
    self breakPoint:#mh info: 'refactor my sender to call reflection directly'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3859
    ^ self reflection methodForJavaConstructorObject: constructor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3860
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3861
    "Modified: / 09-02-2011 / 00:59:43 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3862
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3863
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3864
methodForJavaMethodObject:aJavaMethodObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3865
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3866
        Given an instance of java.lang.reflect.Method, answers
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3867
        real method associated with it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3868
   ^ self reflection methodForJavaMethodObject:aJavaMethodObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3869
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3870
    "Modified: / 07-02-2011 / 09:50:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3871
    "Modified: / 28-02-2011 / 16:58:05 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3872
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  3873
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3874
!JavaVM class methodsFor:'native - java.awt'!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3875
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3876
_java_awt_AWTEvent_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3877
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3878
    <javanative: 'java/awt/AWTEvent' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3879
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3880
    "Intentionally left blank"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3881
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3882
    "Modified: / 12-08-2011 / 19:08:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3883
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3884
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3885
_java_awt_Color_initIDs: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3886
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3887
    <javanative: 'java/awt/Color' name: 'initIDs()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3888
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3889
        "/ new with jdk1.2 ...
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3890
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3891
    "Created: / 28.1.1998 / 22:19:23 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3892
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  3893
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3894
_java_awt_Component_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3895
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3896
    <javanative: 'java/awt/Component' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3897
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3898
        "/ introduced with jdk1.2 ... (sigh)
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3899
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3900
    "Created: / 27.1.1998 / 19:53:29 / cg"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3901
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3902
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3903
_java_awt_Container_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3904
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3905
    <javanative: 'java/awt/Container' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3906
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3907
    "Intentionally left blank"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3908
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3909
    "Modified: / 12-08-2011 / 19:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3910
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3912
_java_awt_Dimension_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3913
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3914
    <javanative: 'java/awt/Dimension' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3915
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3916
    "Intentionally left blank"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3917
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3918
    "Modified: / 12-08-2011 / 19:08:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3919
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3920
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3921
_java_awt_Rectangle_initIDs: nativeContext
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3922
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3923
    <javanative: 'java/awt/Rectangle' name: 'initIDs()V'>
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3924
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3925
    ^ UnimplementedNativeMethodSignal raise
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3926
!
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  3927
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3928
_java_awt_Toolkit_initIDs: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3929
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3930
    <javanative: 'java/awt/Toolkit' name: 'initIDs'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3931
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3932
        "/ introduced with jdk1.2 ... (sigh)
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3933
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3934
    "Created: / 27.1.1998 / 19:53:50 / cg"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3935
! !
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  3936
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3937
!JavaVM class methodsFor:'native - java.io'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3938
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3939
_java_io_FileDescriptor_initIDs: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3940
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3941
    <javanative: 'java/io/FileDescriptor' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3942
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3943
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3944
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3945
    "Created: / 27.1.1998 / 18:16:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3946
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  3947
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3948
_java_io_FileDescriptor_set: nativeContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3949
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3950
    <javanative: 'java/io/FileDescriptor' name: 'set(I)J'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3951
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3952
    "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
  3953
     FD instead"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3954
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3955
    ^nativeContext argAt:1
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3956
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  3957
    "Modified: / 18-08-2011 / 19:54:36 / jv"
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3958
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  3959
904
vranyj1
parents: 903
diff changeset
  3960
_java_io_FileDescriptor_sync: nativeContext
vranyj1
parents: 903
diff changeset
  3961
vranyj1
parents: 903
diff changeset
  3962
    <javanative: 'java/io/FileDescriptor' name: 'sync'>
vranyj1
parents: 903
diff changeset
  3963
    "
vranyj1
parents: 903
diff changeset
  3964
    /**
vranyj1
parents: 903
diff changeset
  3965
    * Force all system buffers to synchronize with the underlying
vranyj1
parents: 903
diff changeset
  3966
    * device.  This method returns after all modified data and
vranyj1
parents: 903
diff changeset
  3967
    * attributes of this FileDescriptor have been written to the
vranyj1
parents: 903
diff changeset
  3968
    * relevant device(s).  In particular, if this FileDescriptor
vranyj1
parents: 903
diff changeset
  3969
    * refers to a physical storage medium, such as a file in a file
vranyj1
parents: 903
diff changeset
  3970
    * system, sync will not return until all in-memory modified copies
vranyj1
parents: 903
diff changeset
  3971
    * of buffers associated with this FileDescriptor have been
vranyj1
parents: 903
diff changeset
  3972
    * written to the physical medium.
vranyj1
parents: 903
diff changeset
  3973
    *
vranyj1
parents: 903
diff changeset
  3974
    * sync is meant to be used by code that requires physical
vranyj1
parents: 903
diff changeset
  3975
    * storage (such as a file) to be in a known state  For
vranyj1
parents: 903
diff changeset
  3976
    * example, a class that provided a simple transaction facility
vranyj1
parents: 903
diff changeset
  3977
    * might use sync to ensure that all changes to a file caused
vranyj1
parents: 903
diff changeset
  3978
    * by a given transaction were recorded on a storage medium.
vranyj1
parents: 903
diff changeset
  3979
    *
vranyj1
parents: 903
diff changeset
  3980
    * sync only affects buffers downstream of this FileDescriptor.  If
vranyj1
parents: 903
diff changeset
  3981
    * any in-memory buffering is being done by the application (for
vranyj1
parents: 903
diff changeset
  3982
    * example, by a BufferedOutputStream object), those buffers must
vranyj1
parents: 903
diff changeset
  3983
    * be flushed into the FileDescriptor (for example, by invoking
vranyj1
parents: 903
diff changeset
  3984
    * OutputStream.flush) before that data will be affected by sync.
vranyj1
parents: 903
diff changeset
  3985
    *
vranyj1
parents: 903
diff changeset
  3986
    * @exception SyncFailedException
vranyj1
parents: 903
diff changeset
  3987
    *        Thrown when the buffers cannot be flushed,
vranyj1
parents: 903
diff changeset
  3988
    *        or because the system cannot guarantee that all the
vranyj1
parents: 903
diff changeset
  3989
    *        buffers have been synchronized with physical media.
vranyj1
parents: 903
diff changeset
  3990
    * @since     JDK1.1
vranyj1
parents: 903
diff changeset
  3991
    */
vranyj1
parents: 903
diff changeset
  3992
    public native void sync() throws SyncFailedException;
vranyj1
parents: 903
diff changeset
  3993
    "
vranyj1
parents: 903
diff changeset
  3994
vranyj1
parents: 903
diff changeset
  3995
    OpenFileTable do:[:stream|
vranyj1
parents: 903
diff changeset
  3996
        stream notNil ifTrue:[stream flush].
vranyj1
parents: 903
diff changeset
  3997
    ].
vranyj1
parents: 903
diff changeset
  3998
vranyj1
parents: 903
diff changeset
  3999
    "Created: / 12-11-1998 / 19:26:25 / cg"
vranyj1
parents: 903
diff changeset
  4000
    "Modified (format): / 10-08-2011 / 19:04:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 903
diff changeset
  4001
!
vranyj1
parents: 903
diff changeset
  4002
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4003
_java_io_FileInputStream_available: nativeContext
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4004
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4005
    <javanative: 'java/io/FileInputStream' name: 'available'>
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4006
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4007
        |file|
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4008
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4009
    file := self validateFile:(nativeContext receiver).
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4010
    file isNil ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4011
	self throwIOExceptionWithMessage:'invalid fileNo in available'.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4012
	^ self
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4013
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4014
    file == Stdin ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4015
	file := StdinReplacementFileQuerySignal raiseRequest.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4016
	file isNil ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4017
	    ^ 1
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4018
	]
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4019
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4020
    file isFileStream ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4021
	^ file size - file position + 1
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4022
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4023
    file atEnd ifTrue:[
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4024
	^ 0.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4025
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4026
    self halt.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4027
    ^ 1
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4028
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4029
    "Modified: / 14.1.1998 / 15:12:52 / cg"
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4030
!
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4031
898
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4032
_java_io_FileInputStream_close0: nativeContext
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4033
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4034
    <javanative: 'java/io/FileInputStream' name: 'close0'>
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4035
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4036
    ^self commonClose: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4037
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4038
    "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
  4039
!
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4040
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4041
_java_io_FileInputStream_initIDs: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4042
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4043
    <javanative: 'java/io/FileInputStream' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4044
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4045
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4046
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4047
    "Created: / 27.1.1998 / 18:15:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4048
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4049
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4050
_java_io_FileInputStream_open: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4051
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4052
    <javanative: 'java/io/FileInputStream' name: 'open'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4053
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4054
        |fs fd fn name stream fileNo|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4055
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4056
    fs := nativeContext receiver.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4057
    fd := fs instVarNamed:'fd'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4058
    (fileNo := fd instVarNamed:'fd') ~~ 0 ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4059
        fileNo ~~ -1 ifTrue:[
vranyj1
parents: 903
diff changeset
  4060
            self halt:'file already open'.
vranyj1
parents: 903
diff changeset
  4061
            self internalError:'file already open'.
vranyj1
parents: 903
diff changeset
  4062
            ^ self.
vranyj1
parents: 903
diff changeset
  4063
        ]
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4064
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4065
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4066
    name := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4067
    name := Java as_ST_String:name.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4068
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4069
    name := self fixFilename:name.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4070
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4071
    FileOpenTrace ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4072
        ('JAVA: opening ' , name) infoPrintCR.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4073
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4074
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4075
    stream := self fileStreamForReading:name.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4076
    stream isNil ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4077
        ^ self.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4078
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4079
    stream buffered:false.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4080
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4081
"/    FileOpenConfirmation ifTrue:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4082
"/        (self confirm:('JAVA Security check\\Opening ''' , name , ''' for reading.\Grant permission ?') withCRs)
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4083
"/        ifFalse:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4084
"/            self throwIOExceptionWithMessage:('no permission to open ' , name , ' for reading').
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4085
"/            ^ self
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4086
"/        ]
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4087
"/    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4088
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4089
    fileNo := self addOpenFile:stream.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4090
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4091
    FileOpenTrace ifTrue:[
904
vranyj1
parents: 903
diff changeset
  4092
        ('JAVA: opened ' , name , ' as FD ' , fileNo printString) infoPrintCR.
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4093
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4094
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4095
    fd instVarNamed:'fd' put:fileNo.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4096
904
vranyj1
parents: 903
diff changeset
  4097
    "Created: / 04-01-1998 / 16:47:12 / cg"
vranyj1
parents: 903
diff changeset
  4098
    "Modified: / 28-01-1999 / 17:24:07 / cg"
vranyj1
parents: 903
diff changeset
  4099
    "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
  4100
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4101
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4102
_java_io_FileInputStream_read: nativeContext
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4103
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4104
    <javanative: 'java/io/FileInputStream' name: 'read()I'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4105
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4106
        |file byte|
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4107
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4108
    file := self validateFile:(nativeContext receiver).
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4109
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4110
    file == Stdin ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4111
	file := StdinReplacementFileQuerySignal raiseRequest.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4112
	file isNil ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4113
	    ^ -1
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4114
	]
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4115
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4116
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4117
    FileIOTrace ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4118
	('JAVA: read 1 byte from ' , file pathName) infoPrintCR.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4119
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4120
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4121
    byte := file nextByte.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4122
    byte isNil ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4123
	^ -1
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4124
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4125
    ^ byte
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4126
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4127
    "Created: / 5.1.1998 / 02:17:08 / cg"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4128
    "Modified: / 5.1.1998 / 02:17:25 / cg"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4129
!
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4130
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4131
_java_io_FileInputStream_readBytes: nativeContext
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4132
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4133
    <javanative: 'java/io/FileInputStream' name: 'readBytes'>
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4134
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4135
    ^ self anyStream_readBytes:nativeContext
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4136
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4137
    "Modified: / 04-02-1998 / 15:23:08 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4138
    "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
  4139
!
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  4140
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4141
_java_io_FileOutputStream_close0: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4142
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4143
    <javanative: 'java/io/FileOutputStream' name: 'close0'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4144
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4145
    ^self commonClose: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4146
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4147
    "Modified: / 10-08-2011 / 14:03:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4148
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4149
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4150
_java_io_FileOutputStream_initIDs: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4151
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4152
    <javanative: 'java/io/FileOutputStream' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4153
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4154
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4155
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4156
    "Created: / 27.1.1998 / 18:16:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4157
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4158
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4159
_java_io_FileOutputStream_open: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4160
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4161
    <javanative: 'java/io/FileOutputStream' name: 'open'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4162
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4163
    ^ self commonOpen:nativeContext forAppend:false
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4164
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4165
    "Modified: / 07-04-1998 / 19:14:31 / cg"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4166
    "Modified (format): / 10-08-2011 / 14:25:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4167
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4168
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4169
_java_io_FileOutputStream_openAppend: nativeContext
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4170
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4171
    <javanative: 'java/io/FileOutputStream' name: 'openAppend'>
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4172
906
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4173
    ^ 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
  4174
fea23aa2b228 Few more fixes and workarounds for Saxon 6.5.5: the Othello example works fine...
vranyj1
parents: 905
diff changeset
  4175
    "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
  4176
    "Modified (format): / 10-08-2011 / 23:48:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4177
!
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  4178
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4179
_java_io_FileOutputStream_write: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4180
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4181
    <javanative: 'java/io/FileOutputStream' name: 'write'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4182
    "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4183
     /**
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4184
     * Writes the specified byte to this file output stream. Implements
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4185
     * the <code>write</code> method of <code>OutputStream</code>.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4186
     *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4187
     * @param      b   the byte to be written.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4188
     * @exception  IOException  if an I/O error occurs.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4189
     */
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4190
     public native void write(int b) throws IOException;
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4191
    "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4192
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4193
    | fdobj fd stream b |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4194
    b := nativeContext argAt:1.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4195
    fdobj := (nativeContext receiver instVarNamed: #fd).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4196
    fd    := fdobj instVarNamed: #fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4197
    stream := self getOpenFileAt:fd.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4198
    [
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4199
        stream nextPut: b asCharacter
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4200
    ] on: Error do:[:ex|
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4201
        self throwIOExceptionWithMessage: ex description
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4202
    ]
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4203
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4204
    "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
  4205
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4206
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4207
_java_io_FileOutputStream_writeBytes: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4208
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4209
    <javanative: 'java/io/FileOutputStream' name: 'writeBytes'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4210
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4211
        ^ self anyStream_writeBytes:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4212
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4213
    "Modified: / 4.2.1998 / 15:24:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4214
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4215
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4216
_java_io_FileSystem_getFileSystem: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4217
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4218
    <javanative: 'java/io/FileSystem' name: 'getFileSystem'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4219
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4220
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4221
    OperatingSystem isUNIXlike ifTrue:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4222
        [^(Java classForName:'java.io.UnixFileSystem') new].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4223
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4224
    OperatingSystem isMSWINDOWSlike ifTrue:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4225
        [^(Java classForName:'java.io.WinNTFileSystem') new].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4226
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4227
    self error:'Unknown/Unsupported platform'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4228
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4229
    "Created: / 09-12-2010 / 17:58:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4230
    "Modified: / 01-04-2011 / 18:09:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4231
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4232
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4233
_java_io_ObjectInputStream_latestUserDefinedLoader: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4234
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4235
    <javanative: 'java/io/ObjectInputStream' name: 'latestUserDefinedLoader'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4236
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4237
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4238
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4239
    * Returns the first non-null class loader (not counting class loaders of
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4240
    * generated reflection implementation classes) up the execution stack, or
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4241
    * null if only code from the null class loader is on the stack.  This
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4242
    * method is also called via reflection by the following RMI-IIOP class:
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4243
    *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4244
    *     com.sun.corba.se.internal.util.JDKClassLoader
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4245
    *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4246
    * This method should not be removed or its signature changed without
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4247
    * corresponding modifications to the above class.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4248
    */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4249
    // REMIND: change name to something more accurate?
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4250
    private static native ClassLoader latestUserDefinedLoader();
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4251
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4252
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4253
    | ctx cl |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4254
    ctx := nativeContext.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4255
    [ ctx notNil ] whileTrue:[
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4256
        ctx receiver isJavaObject ifTrue:[
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4257
            (cl := ctx receiver class classLoader) notNil ifTrue:[
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4258
                "/self breakPoint: #jv info: 'Should not count class loaders of generated reflection implementation classes'.
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4259
                "/Please check"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4260
                ^cl.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4261
            ]                    
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4262
        ].
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4263
        ctx := ctx sender.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4264
    ].
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4265
    ^nil
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4266
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
  4267
    "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
  4268
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4269
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4270
_java_io_ObjectStreamClass_hasStaticInitializer: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4271
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4272
    <javanative: 'java/io/ObjectStreamClass' name: 'hasStaticInitializer'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4273
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4274
    | cls |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4275
    cls := self reflection classForJavaClassObject: (nativeContext argAt:1).
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4276
    ^(cls includesSelector: #'<clinit>()V') ifTrue:[1] ifFalse:[0]
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4277
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
  4278
    "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
  4279
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4280
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4281
_java_io_ObjectStreamClass_initNative: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4282
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4283
    <javanative: 'java/io/ObjectStreamClass' name: 'initNative'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4284
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4285
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4286
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4287
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4288
     * Initializes native code.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4289
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4290
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4291
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4292
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4293
    "Created: / 20-12-2010 / 17:43:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4294
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4295
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4296
_java_io_RandomAccessFile_initIDs: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4297
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4298
    <javanative: 'java/io/RandomAccessFile' name: 'initIDs'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4299
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4300
    "Nothing to do"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4301
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4302
    "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
  4303
!
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4304
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4305
_java_io_RandomAccessFile_open: nativeContext
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4306
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4307
    <javanative: 'java/io/RandomAccessFile' name: 'open'>
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4308
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4309
        |fs fd name dir stream fileNo answer readonly|
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4310
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4311
    readonly := false.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4312
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4313
    fs := nativeContext receiver.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4314
    fd := fs instVarNamed:'fd'.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4315
    (fd instVarNamed:'fd') ~~ 0 ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4316
	self halt:'file already open'.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4317
	self internalError:'file already open'.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4318
	^ self.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4319
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4320
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4321
    name := nativeContext argAt:1.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4322
    name := Java as_ST_String:name.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4323
    name := self fixFilename:name.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4324
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4325
    FileOpenTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4326
	('JAVA: opening ' , name) infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4327
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4328
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4329
    dir := name asFilename directory pathName.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4330
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4331
    (PermittedDirectories notNil
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4332
    and:[PermittedDirectories includes:dir]) ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4333
	FileOpenConfirmation ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4334
	    answer := Dialog 
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4335
		    confirmWithCancel:('JAVA Security check\\Opening ''' , name , ''' for read/write.\Grant permission ?') withCRs
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4336
			       labels:#('no' 'grant' 'readonly')
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4337
			       values:#(false true #readonly)
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4338
			      default:3.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4339
	    answer == false ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4340
		self throwIOExceptionWithMessage:('no permission to open ' , name , ' for writing').
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4341
		^ self
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4342
	    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4343
	    readonly := (answer == #readonly).
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4344
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4345
	    readonly ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4346
		(self confirm:('JAVA Security check\\Always permit writes in this directory (''' , dir , ''') ?') withCRs)
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4347
		ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4348
		    PermittedDirectories isNil ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4349
			PermittedDirectories := Set new
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4350
		    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4351
		    PermittedDirectories add:dir.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4352
		]
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4353
	    ]
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4354
	]
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4355
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4356
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4357
    readonly ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4358
	stream := name asFilename readStream.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4359
    ] ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4360
	stream := name asFilename readWriteStream.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4361
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4362
    stream isNil ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4363
	self throwIOExceptionWithMessage:('cannot open ' , name , ' for writing').
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4364
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4365
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4366
    fileNo := self addOpenFile:stream.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4367
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4368
    FileOpenTrace ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4369
	('JAVA: opened ' , name , ' as FD ' , fileNo printString , ' for writing') infoPrintCR.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4370
    ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4371
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4372
    fd instVarNamed:'fd' put:fileNo.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4373
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4374
    "Created: / 4.2.1998 / 00:14:48 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4375
    "Modified: / 12.11.1998 / 21:29:46 / cg"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4376
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4377
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4378
_java_io_UnixFileSystem_canonicalize0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4379
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4380
    <javanative: 'java/io/UnixFileSystem' name: 'canonicalize0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4381
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4382
    |  path |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4383
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4384
    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
  4385
    ^(Java as_String: path utf8Encoded asFilename asAbsoluteFilename pathName utf8Decoded)
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4386
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4387
    "Created: / 10-12-2010 / 14:40:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4388
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4389
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4390
_java_io_UnixFileSystem_checkAccess: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4391
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4392
    <javanative: 'java/io/UnixFileSystem' name: 'checkAccess'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4393
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4394
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4395
     public static final int ACCESS_READ    = 0x04;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4396
     public static final int ACCESS_WRITE   = 0x02;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4397
     public static final int ACCESS_EXECUTE = 0x01;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4398
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4399
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4400
    | fileobj file access result |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4401
    fileobj := nativeContext argAt:1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4402
    file := (Java as_ST_String:(fileobj instVarNamed:#path)) asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4403
    access := nativeContext argAt:2.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4404
    [
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4405
        access == 16r01 ifTrue:[result := file isExecutable].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4406
        access == 16r02 ifTrue:[result := file isWritable].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4407
        access == 16r04 ifTrue:[result := file isReadable].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4408
    ] on: Error do:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4409
        result := false.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4410
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4411
    ^result ifTrue:[1] ifFalse:[0].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4412
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4413
    "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
  4414
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4415
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4416
_java_io_UnixFileSystem_createDirectory: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4417
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4418
    <javanative: 'java/io/UnixFileSystem' name: 'createDirectory'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4419
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4420
    | fileobj file |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4421
    fileobj := (nativeContext argAt:1).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4422
    file := Java as_ST_String: (fileobj instVarNamed:#path).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4423
    file := file asFilename.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4424
    file exists ifFalse:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4425
        [
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4426
            file makeDirectory.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4427
            ^1.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4428
        ] on: Error do:[:ex|
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4429
            self throwIOExceptionWithMessage:ex description.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4430
        ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4431
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4432
    ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4433
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4434
    "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
  4435
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4436
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4437
_java_io_UnixFileSystem_createFileExclusively: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4438
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4439
    <javanative: 'java/io/UnixFileSystem' name: 'createFileExclusively'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4440
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4441
    | file |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4442
    file := Java as_ST_String: (nativeContext argAt:1).
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4443
    file := file asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4444
    file exists ifFalse:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4445
        [
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4446
            file createAsEmptyFile
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4447
        ] on: Error do:[:ex|
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4448
            self throwIOExceptionWithMessage:ex description.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4449
        ].
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4450
        ^1
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4451
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4452
    ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4453
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4454
    "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
  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
_java_io_UnixFileSystem_delete0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4458
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4459
    <javanative: 'java/io/UnixFileSystem' name: 'delete0'>
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4460
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4461
      /**
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4462
      * Delete the file or directory denoted by the given abstract pathname,
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4463
      * returning <code>true</code> if and only if the operation succeeds.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4464
      */
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4465
      public abstract boolean delete(File f);
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4466
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4467
    | file |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4468
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4469
    file := (Java as_ST_String: ((nativeContext argAt:1) instVarNamed: #path)) asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4470
    file exists ifFalse:[^0].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4471
    ^[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4472
        file remove.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4473
        true
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4474
    ] on: Error do:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4475
        false
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4476
    ]
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4477
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4478
    "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
  4479
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4480
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4481
_java_io_UnixFileSystem_getBooleanAttributes0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4482
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4483
    <javanative: 'java/io/UnixFileSystem' name: 'getBooleanAttributes0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4484
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4485
        |file path retval fileSystemClass|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4486
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4487
    retval := 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4488
    file := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4489
    path := Java as_ST_String:(file instVarNamed:#path).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4490
    fileSystemClass := (Java classForName:'java.io.FileSystem').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4491
    path asFilename exists ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4492
        retval := retval bitOr:(fileSystemClass instVarNamed:#'BA_EXISTS')
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4493
    ] ifFalse:[ ^ 0. ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4494
    path asFilename isDirectory ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4495
        retval := retval bitOr:(fileSystemClass instVarNamed:#'BA_DIRECTORY')
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4496
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4497
    path asFilename isRegularFile ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4498
        retval := retval bitOr:(fileSystemClass instVarNamed:#'BA_REGULAR')
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4499
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4500
    path asFilename isHidden ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4501
        retval := retval bitOr:(fileSystemClass instVarNamed:#'BA_HIDDEN')
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4502
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4503
    ^ retval
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4504
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4505
    "Modified: / 10-12-2010 / 14:43:31 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4506
    "Created: / 10-12-2010 / 14:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4507
    "Modified: / 11-12-2010 / 19:44:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4508
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4509
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4510
_java_io_UnixFileSystem_getLastModifiedTime: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4511
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4512
    <javanative: 'java/io/UnixFileSystem' name: 'getLastModifiedTime'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4513
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4514
        | file  path  retval |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4515
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4516
    retval := 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4517
    file := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4518
    path := Java as_ST_String: (file instVarNamed: #path).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4519
    retval := path asFilename modificationTime asMilliseconds.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4520
    ^ retval
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4521
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4522
    "Modified: / 10-12-2010 / 14:43:31 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4523
    "Modified: / 11-12-2010 / 19:44:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4524
    "Created: / 27-03-2011 / 15:32:59 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4525
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4526
898
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4527
_java_io_UnixFileSystem_getLength: nativeContext
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4528
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4529
    <javanative: 'java/io/UnixFileSystem' name: 'getLength'>
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4530
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4531
    | file |
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4532
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4533
    file := (Java as_ST_String: ((nativeContext argAt:1) instVarNamed: #path)) asFilename.
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4534
    file exists ifFalse:[^0].
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4535
    ^file fileSize
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4536
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4537
    "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
  4538
!
94eb1038a323 - add native to close InputFileStream
vranyj1
parents: 895
diff changeset
  4539
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4540
_java_io_UnixFileSystem_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4541
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4542
    <javanative: 'java/io/UnixFileSystem' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4543
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4544
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4545
    self breakPoint: #libjava
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4546
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4547
    "Created: / 10-12-2010 / 14:47:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4548
    "Modified: / 10-12-2010 / 20:58:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4549
!
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4550
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4551
_java_io_UnixFileSystem_list: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4552
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4553
    <javanative: 'java/io/UnixFileSystem' name: 'list'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4554
    "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4555
    /**
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4556
    * Returns an array of strings naming the files and directories in the
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4557
    * directory denoted by this abstract pathname.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4558
    *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4559
    * <p> If this abstract pathname does not denote a directory, then this
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4560
    * method returns {@code null}.  Otherwise an array of strings is
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4561
    * returned, one for each file or directory in the directory.  Names
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4562
    * denoting the directory itself and the directory's parent directory are
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4563
    * not included in the result.  Each string is a file name rather than a
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4564
    * complete path.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4565
    *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4566
    * <p> There is no guarantee that the name strings in the resulting array
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4567
    * will appear in any specific order; they are not, in particular,
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4568
    * guaranteed to appear in alphabetical order.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4569
    *
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4570
    * @return  An array of strings naming the files and directories in the
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4571
    *          directory denoted by this abstract pathname.  The array will be
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4572
    *          empty if the directory is empty.  Returns {@code null} if
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4573
    *          this abstract pathname does not denote a directory, or if an
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4574
    *          I/O error occurs.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4575
    */
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4576
   "
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4577
    | fileobj file names jnames |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4578
    fileobj := (nativeContext argAt:1).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4579
    file := Java as_ST_String: (fileobj instVarNamed:#path).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4580
    file := file asFilename.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4581
    file exists ifFalse:[^nil].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4582
    file isDirectory ifFalse:[^nil].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4583
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4584
    names := file directoryContents.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4585
    jnames := String javaArrayClass new: names size.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4586
    1 to: names size do:[:i|
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4587
        jnames at: i put: (Java as_String:(names at: i))
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4588
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4589
    ^jnames
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4590
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4591
    "Modified: / 10-08-2011 / 13:28:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4592
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4593
899
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4594
_java_io_UnixFileSystem_setPermission: nativeContext
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4595
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4596
    <javanative: 'java/io/UnixFileSystem' name: 'setPermission'>
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4597
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4598
    /**
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4599
     * 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
  4600
     * or directory denoted by the given abstract pathname, based on the parameters
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4601
     * enable, access and oweronly.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4602
     */
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4603
    public abstract boolean setPermission(File f, int access, boolean enable, boolean owneronly);
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4604
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4605
    | f access enable owneronly file perms |
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4606
    f := nativeContext argAt: 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4607
    access := nativeContext argAt: 2.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4608
    enable := (nativeContext argAt: 3) == 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4609
    owneronly := (nativeContext argAt: 4) == 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4610
    file := (Java as_ST_String: (f instVarNamed: #path)) asFilename.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4611
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4612
    public static final int ACCESS_READ    = 0x04;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4613
    public static final int ACCESS_WRITE   = 0x02;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4614
    public static final int ACCESS_EXECUTE = 0x01;
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4615
    "
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4616
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4617
    access == 16r04 ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4618
        perms := owneronly ifFalse:[#(readUser readGroup readOthers)] ifTrue:[#(readUser)].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4619
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4620
    access == 16r02 ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4621
        perms := owneronly ifFalse:[#(writeUser writeGroup writeOthers)] ifTrue:[#(writeUser)].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4622
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4623
    access == 16r01 ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4624
        perms := owneronly ifFalse:[#(executeUser executeGroup executeOthers)] ifTrue:[#(executeUser)].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4625
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4626
    [
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4627
        enable ifTrue:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4628
            file addAccessRights: perms
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4629
        ] ifFalse:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4630
            file removeAccessRights: perms
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4631
        ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4632
        ^ 1.
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4633
    ] on: Error do:[
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4634
        ^ 0
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4635
    ].
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4636
    ^0
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4637
ac6820bae6ff - fixes in TestletTestCaseProxy
vranyj1
parents: 898
diff changeset
  4638
    "Modified: / 09-08-2011 / 17:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
901
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4639
!
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4640
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4641
_java_io_UnixFileSystem_setReadOnly: nativeContext
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4642
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4643
    <javanative: 'java/io/UnixFileSystem' name: 'setReadOnly'>
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4644
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4645
    | fileobj file |
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4646
    fileobj := (nativeContext argAt:1).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4647
    file := Java as_ST_String: (fileobj instVarNamed:#path).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4648
    file := file asFilename.
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4649
    file exists ifFalse:[^0].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4650
    [
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4651
        file  removeAccessRights: #(writeUser writeGroup writeOthers).
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4652
        ^1
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4653
    ] on: Error do:[
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4654
        ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4655
    ].
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4656
    ^0
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4657
64a889b68bef - JavaVM: more natives
vranyj1
parents: 900
diff changeset
  4658
    "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
  4659
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4660
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4661
_java_io_Win32FileSystem_initIDs: nativeContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4662
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4663
    <javanative: 'java/io/Win32FileSystem' name: 'initIDs()V'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4664
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4665
    "Intentionally left blank"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4666
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4667
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4668
_java_io_WinNTFileSystem_canonicalize0: aJavaContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4669
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4670
    <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
  4671
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4672
    
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4673
    |  path |
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4674
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4675
    path := Java as_ST_String: (aJavaContext argAt: 1).
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4676
    ^(Java as_String: path asFilename asAbsoluteFilename pathName)
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4677
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4678
    "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
  4679
!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4680
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4681
_java_io_WinNTFileSystem_canonicalizeWithPrefix0: nativeContext
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4682
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4683
    <javanative: 'java/io/WinNTFileSystem' name: 'canonicalizeWithPrefix0(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;'>
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4684
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4685
    |  path |
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4686
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4687
    path := Java as_ST_String: (nativeContext argAt: 2).
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4688
    ^(Java as_String: path utf8Encoded asFilename asAbsoluteFilename pathName utf8Decoded)
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4689
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4690
    "Modified: / 01-09-2011 / 21:50:47 / jv"
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4691
!
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4692
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4693
_java_io_WinNTFileSystem_checkAccess: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4694
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4695
    <javanative: 'java/io/WinNTFileSystem' name: 'checkAccess(Ljava/io/File;I)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4696
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4697
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4698
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4699
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4700
_java_io_WinNTFileSystem_createDirectory: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4701
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4702
    <javanative: 'java/io/WinNTFileSystem' name: 'createDirectory(Ljava/io/File;)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4703
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4704
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4705
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4706
920
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4707
_java_io_WinNTFileSystem_createFileExclusively: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4708
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4709
    <javanative: 'java/io/WinNTFileSystem' name: 'createFileExclusively(Ljava/lang/String;)Z'>
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4710
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4711
    ^ self _java_io_UnixFileSystem_createFileExclusively: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4712
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4713
    "Modified: / 18-08-2011 / 17:26:11 / jv"
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4714
!
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4715
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4716
_java_io_WinNTFileSystem_delete0: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4717
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4718
    <javanative: 'java/io/WinNTFileSystem' name: 'delete0(Ljava/io/File;)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4719
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4720
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4721
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  4722
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4723
_java_io_WinNTFileSystem_getBooleanAttributes: aJavaContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4724
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4725
    <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
  4726
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4727
    ^ self _java_io_UnixFileSystem_getBooleanAttributes0:aJavaContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4728
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
  4729
    "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
  4730
!
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4731
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4732
_java_io_WinNTFileSystem_getLastModifiedTime: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4733
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4734
    <javanative: 'java/io/WinNTFileSystem' name: 'getLastModifiedTime(Ljava/io/File;)J'>
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4735
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4736
    ^ self _java_io_UnixFileSystem_getLastModifiedTime: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4737
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4738
    "Modified: / 18-08-2011 / 14:12:07 / jv"
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4739
!
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4740
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4741
_java_io_WinNTFileSystem_getLength: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4742
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4743
    <javanative: 'java/io/WinNTFileSystem' name: 'getLength(Ljava/io/File;)J'>
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4744
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4745
    ^ self _java_io_UnixFileSystem_getLength: nativeContext
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4746
e6e8a96b217c Fixes for Groovy and Saxon
vranyj1
parents: 919
diff changeset
  4747
    "Modified: / 18-08-2011 / 14:15:36 / jv"
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4748
!
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4749
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4750
_java_io_WinNTFileSystem_list: nativeContext
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4751
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4752
    <javanative: 'java/io/WinNTFileSystem' name: 'list(Ljava/io/File;)[Ljava/lang/String;'>
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4753
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4754
    ^ self _java_io_UnixFileSystem_list: nativeContext
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4755
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
  4756
    "Modified: / 01-09-2011 / 21:46:37 / jv"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4757
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  4758
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4759
!JavaVM class methodsFor:'native - java.lang'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4760
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4761
_java_lang_ClassLoader_NativeLibrary_load: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4762
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4763
    <javanative: 'java/lang/ClassLoader$NativeLibrary' name: 'load'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4764
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4765
        "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4766
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4767
    |nativeLoader jLibName libName libHandle index|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4768
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4769
    nativeLoader := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4770
    jLibName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4771
    libName := (Java as_ST_String:jLibName) asFilename baseName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4773
    (index := SimulatedNativeLibs indexOf:libName) ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4774
"/        ('JAVA: builtIn nativeLibLoad simulated: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4775
        nativeLoader instVarNamed:'handle' put:index.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4776
        ^ self "/ void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4777
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4778
    (LoadedNativeLibs notNil 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4779
    and:[LoadedNativeLibs includesKey:libName]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4780
"/        ('JAVA: native library already loaded: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4781
        nativeLoader instVarNamed:'handle' put:(LoadedNativeLibs at:libName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4782
        ^ self "/ void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4783
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4784
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4785
    (self confirm:'permission to load native library: ' , libName , ' ?') ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4786
        ^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4787
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4788
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4789
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4790
    libName asFilename exists ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4791
        ('JAVA: no file to load nativeLib: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4792
        ^ self "/ void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4793
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4794
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4795
    libHandle := ObjectFileLoader loadLibrary:libName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4796
    libHandle isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4797
        ('JAVA: failed to load nativeLib: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4798
        ^ self "/ void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4799
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4800
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4801
    LoadedNativeLibs isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4802
        LoadedNativeLibs := Dictionary new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4803
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4804
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4805
    LoadedNativeLibs at:libName put:libHandle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4806
    nativeLoader instVarNamed:'handle' put:(LoadedNativeLibs at:libName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4807
    ^ self "/ void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4808
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4809
    "Modified: / 06-02-1998 / 03:12:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4810
    "Created: / 10-12-2010 / 15:11:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4811
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4812
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
  4813
_java_lang_ClassLoader_defineClass1: nativeContext 
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  4814
    <javanative: 'java/lang/ClassLoader' name: 'defineClass1'>
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  4815
    "
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
  4816
     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
  4817
                                      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
  4818
    
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4819
    | 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
  4820
self breakPoint:#mh.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4821
    className := Java as_ST_String: (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
  4822
    b := 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
  4823
    off := 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
  4824
    len := nativeContext argAt: 4.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4825
    pd := nativeContext argAt: 5.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4826
    source := Java as_ST_String: (nativeContext argAt: 6).
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4827
    bs := (off = 0 and: [ len = b size ]) ifTrue: [ b readStream ] ifFalse: [
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4828
                (b copyFrom: off + 1 to: off + len) readStream
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4829
            ].
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4830
    [ cls := Java javaRegistry loadStream: bs loader: nativeContext receiver. ] 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4831
        on: JavaClassReader invalidClassFormatSignal
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4832
        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
  4833
    self throwClassFormatError.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4834
    ^ self.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4835
].
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  4836
    cls classLoader: 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
  4837
     "FIXME: What to do with 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
  4838
    ^ self reflection javaClassObjectForClass: cls.
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  4839
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  4840
    "Modified: / 31-08-2011 / 21:18:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  4841
!
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  4842
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4843
_java_lang_ClassLoader_findBootstrapClass: nativeContext 
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4844
    <javanative: 'java/lang/ClassLoader' name: 'findBootstrapClass'>
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4845
    | nm  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
  4846
self breakPoint:#mh.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4847
    nm := Java as_ST_String: (nativeContext argAt: 1).
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
  4848
    class := Java javaRegistry classForName: nm definedBy: nil.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4849
    ^ class notNil 
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4850
        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
  4851
        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
  4852
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4853
    "Modified: / 08-09-2011 / 08:04:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4854
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4855
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4856
_java_lang_ClassLoader_findLoadedClass0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4857
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4858
    <javanative: 'java/lang/ClassLoader' name: 'findLoadedClass0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4859
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4860
    "
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4861
    The <tt>Class</tt> object, or <tt>null</tt> if the class has not been loaded
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4862
    "        
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4863
    |  class |
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4864
    class := Java at: (Java as_ST_String: (nativeContext argAt:1)).
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4865
    ^(class notNil and:[class classLoader == nativeContext receiver]) ifTrue:[
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4866
        self reflection javaClassObjectForClass:class
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4867
    ] ifFalse:[
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4868
        nil
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4869
    ]
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  4870
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  4871
    "Modified: / 12-08-2011 / 21:32:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4872
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  4873
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4874
_java_lang_ClassLoader_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4875
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4876
    <javanative: 'java/lang/ClassLoader' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4877
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4878
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4879
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4880
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4881
    "Created: / 09-11-2010 / 20:55:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4882
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4883
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
  4884
_java_lang_ClassLoader_resolveClass0: nativeContext 
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4885
    <javanative: 'java/lang/ClassLoader' name: 'resolveClass0'>
1000
cfa982260238 Lot of debug/info prints rewritten to use Logger
vranyj1
parents: 998
diff changeset
  4886
    "resolve a new class as previously created by defineClass0"
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4887
    
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
  4888
    | jClassLoader  jCls  cls  anyUnresolved |
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4889
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4890
    self breakPoint: #mh.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4891
    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
  4892
    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
  4893
    jCls isNil ifTrue: [
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4894
        self halt.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4895
        ^ nil
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4896
    ].
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
  4897
    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
  4898
    cls isNil ifTrue: [
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4899
        self halt.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4900
        ^ nil
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4901
    ].
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
  4902
    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
  4903
        do: [self breakPoint:#mh. 
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4904
        "correct this so it works with new resolving"
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  4905
            JavaClassReader resolveClass: cls.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4906
            
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4907
"/        JavaClassReader postLoadActions:true.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4908
            
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4909
            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
  4910
            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
  4911
                :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
  4912
                (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
  4913
                    self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4914
                    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
  4915
                    self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4916
                    anyUnresolved := true.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4917
                ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4918
            ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4919
        ].
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
  4920
    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
  4921
        jClassLoader notNil ifTrue: [
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4922
            "/ 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
  4923
            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
  4924
                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
  4925
                    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
  4926
                        :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
  4927
                        (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
  4928
                            self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4929
                            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
  4930
                            self halt: 'debugHalt'.
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4931
                        ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4932
                    ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4933
                ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4934
        ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4935
    ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4936
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4937
    "Created: / 07-01-1998 / 13:12:27 / cg"
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4938
    "Modified: / 20-10-1998 / 19:01:57 / cg"
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4939
    "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
  4940
    "Modified: / 14-09-2011 / 22:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4941
!
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
  4942
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4943
_java_lang_Class_desiredAssertionStatus0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4944
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4945
    <javanative: 'java/lang/Class' name: 'desiredAssertionStatus0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4946
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4947
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4948
    ^AssertionsEnabled == true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4949
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4950
    "Created: / 24-11-2010 / 08:58:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4951
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4952
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4953
_java_lang_Class_forName0: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4954
    <javanative: 'java/lang/Class' name: 'forName0'>
1024
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4955
    | nm initialize loader class descriptor |
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4956
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4957
    nm := Java as_ST_String: (aJavaContext argAt: 1).
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4958
    initialize := aJavaContext argAt: 2.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4959
    loader := aJavaContext argAt: 3.
1024
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4960
    JavaClassReader classLoaderQuerySignal answer: loader do: [ 
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4961
        (nm first == $[) ifTrue:[
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4962
            descriptor := JavaDescriptor fromString: nm.
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4963
            class := descriptor javaClass.
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4964
        ] ifFalse:[
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4965
            class := Java classForName: nm
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4966
        ]
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4967
    ].
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4968
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4969
    class isNil ifTrue: [
1024
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4970
        ^ self throwClassNotFoundException: nm
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4971
    ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4972
    ((initialize ~~ 0) and: [ class isJavaArrayClass not ]) ifTrue: [
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4973
        [ class classInit ] on: Error
1024
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4974
            do: [ self throwExceptionInInitializerError: nm ]
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4975
    ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  4976
    ^ JavaVM javaClassObjectForClass: class.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4977
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4978
    "Created: / 24-11-2010 / 09:03:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1024
e00483588b3d Fix in native java.lang.Class.forName0()
vranyj1
parents: 1023
diff changeset
  4979
    "Modified: / 19-10-2011 / 00:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4980
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4981
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4982
_java_lang_Class_getClassLoader0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4983
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4984
    <javanative: 'java/lang/Class' name: 'getClassLoader0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4985
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4986
        "get a classes loader"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4987
    
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  4988
    |jClass cls clc loader |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4989
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4990
    jClass := aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4991
    cls := self reflection classForJavaClassObject:jClass.
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  4992
    cls isJavaPrimitiveType ifTrue:[^nil].
915
vranyj1
parents: 914
diff changeset
  4993
    [ cls isJavaArrayClass ] whileTrue:[cls := cls javaComponentClass].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4994
    loader := cls classLoader.
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  4995
"/    loader isNil ifTrue:[
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  4996
"/        cls := (Java at:'java/lang/ClassLoader').
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  4997
"/        clc notNil ifTrue:[loader := clc instVarNamed: #scl].
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  4998
"/    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  4999
    ^ loader
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5000
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5001
    "Created: / 25-10-2010 / 22:49:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5002
    "Modified: / 28-01-2011 / 15:18:54 / Marcel Hlopko <hlopik@gmail.com>"
915
vranyj1
parents: 914
diff changeset
  5003
    "Modified: / 14-08-2011 / 23:17:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5004
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5005
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5006
_java_lang_Class_getComponentType: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5007
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5008
    <javanative: 'java/lang/Class' name: 'getComponentType'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5009
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5010
        |cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5011
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5012
    cls := self reflection classForJavaClassObject:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5013
    cls isJavaPrimitiveType ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5014
        self breakPoint:#jv.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5015
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5016
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5017
    ^ self javaClassObjectForClass:cls javaComponentClass
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5018
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5019
    "Created: / 12-11-1998 / 18:54:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5020
    "Modified: / 20-12-2010 / 22:56:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5021
    "Modified: / 28-01-2011 / 15:18:59 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5022
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5023
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5024
_java_lang_Class_getConstantPool: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5025
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5026
    <javanative: 'java/lang/Class' name: 'getConstantPool'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5027
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5028
        | class |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5029
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5030
    class := self reflection classForJavaClassObject:aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5031
    ^ self reflection javaConstantPoolObjectFor:class constantPool.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5032
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5033
    "Created: / 21-12-2010 / 20:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5034
    "Modified: / 28-02-2011 / 18:05:13 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5035
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5036
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5037
_java_lang_Class_getDeclaredClasses0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5038
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5039
    <javanative: 'java/lang/Class' name: 'getDeclaredClasses0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5040
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5041
    | class innerPrefix inners |
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5042
    class := self reflection classForJavaClassObject: nativeContext receiver.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5043
    innerPrefix := class name , '$'.                
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5044
    inners := Set new.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5045
    JAVA allClassesDo:[:cls|
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5046
        (cls name startsWith: innerPrefix) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5047
            inners add: (self reflection javaClassObjectForClass: cls)
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5048
        ].
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5049
    ].
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5050
    ^(Java at: 'java.lang.Class') javaArrayClass withAll: inners
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5051
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5052
    "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
  5053
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5054
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5055
_java_lang_Class_getDeclaredConstructors0:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5056
    <javanative: 'java/lang/Class' name: 'getDeclaredConstructors0'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5057
    |class publicOnly constructors|
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5058
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5059
    class := self reflection classForJavaClassObject:(aJavaContext receiver).
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5060
    (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5061
        ^ (self classForName:'java.lang.reflect.Constructor') javaArrayClass new:0
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5062
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5063
    publicOnly := (aJavaContext argAt:1) == 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5064
    constructors := OrderedCollection new.
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5065
    JavaClassReader classLoaderQuerySignal answer: class classLoader do:[
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5066
    class selectorsAndMethodsDo:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5067
            [:selector :method | 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5068
            (method isJavaMethod and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5069
                    [ (selector at:1) == $< and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5070
                            [ (selector startsWith:'<init>(') 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5071
                                and:[ publicOnly not or:[ method isPublic ] ] ] ]) 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5072
                ifTrue:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5073
                    [ constructors add:(self reflection javaConstructorObjectForMethod:method) ] ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5074
    ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5075
    ^ (self classForName:'java.lang.reflect.Constructor') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5076
        withAll:constructors
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5077
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5078
    "Created: / 24-11-2010 / 09:25:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5079
    "Modified: / 09-02-2011 / 01:24:03 / Marcel Hlopko <hlopik@gmail.com>"
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5080
    "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
  5081
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5082
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5083
_java_lang_Class_getDeclaredFields0:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5084
    <javanative: 'java/lang/Class' name: 'getDeclaredFields0'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5085
    |javaClassObject class fields publicOnly|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5086
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5087
    class := self reflection 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5088
                classForJavaClassObject:(javaClassObject := aJavaContext argAt:0).
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5089
    (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5090
        ^(self classForName:'java.lang.reflect.Field') javaArrayClass new:0.
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5091
    ].
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5092
    
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5093
    publicOnly := (aJavaContext argAt:1) == 1.
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  5094
    fields := class fields , class staticFields.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5095
    publicOnly ifTrue:[ fields := fields select:[:f | f isPublic ] ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5096
    JavaClassReader classLoaderQuerySignal answer: class classLoader do:[
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5097
    fields := fields 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5098
                collect:[:f | self javaFieldObjectForField:f in:javaClassObject ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5099
    ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5100
    ^ (self classForName:'java.lang.reflect.Field') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5101
        withAll:fields
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5102
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5103
    "Created: / 10-11-2010 / 16:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5104
    "Modified: / 28-01-2011 / 15:19:06 / Marcel Hlopko <hlopik@gmail.com>"
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5105
    "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
  5106
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5107
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5108
_java_lang_Class_getDeclaredMethods0:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5109
    <javanative: 'java/lang/Class' name: 'getDeclaredMethods0'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5110
    |class publicOnly methods|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5111
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5112
    class := self reflection classForJavaClassObject:(aJavaContext receiver).
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5113
    publicOnly := (aJavaContext argAt:1) == 1.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5114
    methods := OrderedCollection new.
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5115
    (class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5116
        ^(self classForName:'java.lang.reflect.Method') javaArrayClass new:0
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5117
    ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5118
    JavaClassReader classLoaderQuerySignal answer: class classLoader do:[
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5119
    class selectorsAndMethodsDo:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5120
            [:selector :method | 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5121
            (method isJavaMethod and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5122
                    [ (selector at:1) ~~ $< and:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5123
                            [ (selector startsWith:'<init>(') not 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5124
                                and:[ publicOnly not or:[ method isPublic ] ] ] ]) 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5125
                ifTrue:[ methods add:(self javaMethodObjectForMethod:method) ] ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  5126
    ].
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5127
    ^ (self classForName:'java.lang.reflect.Method') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5128
        withAll:methods asArray
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5129
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5130
    "Created: / 21-12-2010 / 22:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5131
    "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
  5132
    "Modified: / 04-06-2011 / 17:07:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
  5133
    "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
  5134
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5135
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5136
_java_lang_Class_getDeclaringClass: nativeContext
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5137
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5138
    <javanative: 'java/lang/Class' name: 'getDeclaringClass'>
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5139
    "
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5140
     /**
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5141
     * 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
  5142
     * 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
  5143
     * 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
  5144
     * 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
  5145
     * 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
  5146
     * type, or void,then this method returns null.
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5147
     *
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5148
     * @return the declaring class for this class
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5149
     * @since JDK1.1
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5150
     */
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5151
    "
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5152
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5153
    | cls enclosingClsName enclosingCls |
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5154
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5155
    cls := self reflection classForJavaClassObject:(nativeContext receiver).
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5156
    (cls isJavaPrimitiveType or:[cls isJavaArrayClass]) ifTrue:[^nil].
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5157
    (cls name includes: $$) ifFalse:[^nil].
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5158
    enclosingClsName := cls name copyTo: (cls name lastIndexOf: $$) - 1.
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5159
    enclosingCls := Java classForName: enclosingClsName.
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5160
    enclosingCls isNil ifTrue:[self error:'Cannot fins declaring class'].
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5161
    ^self reflection javaClassObjectForClass: enclosingCls
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5162
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5163
    "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
  5164
!
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5165
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5166
_java_lang_Class_getEnclosingMethod0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5167
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5168
    <javanative: 'java/lang/Class' name: 'getEnclosingMethod0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5169
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5170
    ^nil "/Not true"
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5171
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
  5172
    "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
  5173
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5174
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5175
_java_lang_Class_getGenericSignature: nativeContext
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5176
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5177
    <javanative: 'java/lang/Class' name: 'getGenericSignature'>
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5178
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5179
    |cls sig |
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5180
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5181
    cls := self reflection classForJavaClassObject:(nativeContext receiver).
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5182
    (cls isJavaPrimitiveType or:[cls isJavaArrayClass]) ifTrue:[^nil].
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5183
    sig := cls signatureJ.
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5184
    ^sig notNil ifTrue:[
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5185
        Java as_String: sig
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5186
    ] ifFalse:[
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5187
        nil
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5188
    ]
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5189
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5190
    "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
  5191
!
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5192
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5193
_java_lang_Class_getInterfaces:nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5194
    <javanative: 'java/lang/Class' name: 'getInterfaces'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5195
    |jClass cls interfaces jInterfaces|
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5196
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5197
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5198
    cls := self reflection classForJavaClassObject:jClass.
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5199
    (cls isJavaPrimitiveType or:[cls isJavaArrayClass])
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5200
        ifTrue:[ ^ (self classForName:'java.lang.Class') javaArrayClass new ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5201
    interfaces := cls interfaces.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5202
    interfaces 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5203
        ifNil:[ ^ (self classForName:'java.lang.Class') javaArrayClass new ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5204
    jInterfaces := (self classForName:'java.lang.Class') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5205
                new:interfaces size.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5206
    interfaces 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  5207
        withIndexDo:[:iface :idx | jInterfaces at:idx put:(self javaClassObjectForClass:iface) ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5208
    ^ jInterfaces
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5209
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5210
    "Modified: / 28-01-2011 / 15:19:11 / Marcel Hlopko <hlopik@gmail.com>"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5211
    "Modified: / 12-08-2011 / 22:27:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5212
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5213
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5214
_java_lang_Class_getModifiers: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5215
    <javanative: 'java/lang/Class' name: 'getModifiers'>
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5216
    | cls |
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5217
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5218
    cls := (self reflection classForJavaClassObject: aJavaContext receiver).
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5219
    ^ (cls isJavaPrimitiveType or: [ cls isJavaArrayClass ]) 
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5220
        ifTrue: [ 1041 "FIXME: make it symbolic" ]
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5221
        ifFalse: [ cls accessFlags ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5222
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5223
    "Created: / 12-11-1998 / 18:54:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5224
    "Modified: / 28-01-2011 / 15:19:14 / Marcel Hlopko <hlopik@gmail.com>"
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
  5225
    "Modified: / 12-08-2011 / 22:34:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5226
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5227
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5228
_java_lang_Class_getName0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5229
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5230
    <javanative: 'java/lang/Class' name: 'getName0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5231
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5232
        |class|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5233
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5234
    class := aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5235
    class := self reflection classForJavaClassObject:aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5236
    ^ self reflection 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5237
        javaStringObjectForString:class javaName
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5238
        interned:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5239
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5240
    "Created: / 22-11-2010 / 17:50:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5241
    "Modified: / 09-02-2011 / 01:06:53 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5242
    "Modified: / 25-02-2011 / 19:00:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5243
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5244
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5245
_java_lang_Class_getPrimitiveClass: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5246
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5247
    <javanative: 'java/lang/Class' name: 'getPrimitiveClass'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5248
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5249
        "get a primitive class by name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5250
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5251
    |jClassName className|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5252
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5253
    jClassName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5254
    className := Java as_ST_String:jClassName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5255
    (JavaDescriptor baseTypesByTypeName keys includes: className)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5256
        ifFalse:[self throwClassNotFoundException:className].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5257
    ^self reflection javaClassObjectForClassNamed: className
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5258
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5259
    "Created: / 04-01-1998 / 00:46:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5260
    "Modified: / 28-01-2011 / 15:30:45 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5261
    "Modified: / 03-02-2011 / 21:43:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5262
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5263
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5264
_java_lang_Class_getProtectionDomain0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5265
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5266
    <javanative: 'java/lang/Class' name: 'getProtectionDomain0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5267
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5268
    ^(self reflection classForJavaClassObject: nativeContext receiver)
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5269
        protectionDomain
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5270
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5271
    "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
  5272
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5273
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5274
_java_lang_Class_getRawAnnotations: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5275
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5276
    <javanative: 'java/lang/Class' name: 'getRawAnnotations'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5277
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5278
        |class |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5279
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5280
    class := self reflection classForJavaClassObject:aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5281
    ^ class runtimeVisibleAnnotationsAsBytesOrNil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5282
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5283
    "Created: / 21-12-2010 / 19:35:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5284
    "Modified: / 28-01-2011 / 15:19:20 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5285
    "Modified: / 25-02-2011 / 16:48:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5286
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5287
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5288
_java_lang_Class_getSuperclass: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5289
    <javanative: 'java/lang/Class' name: 'getSuperclass'>
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5290
    "return a classes superclass"
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5291
    
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5292
    | jClass  cls  superCls |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5293
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5294
    jClass := nativeContext receiver.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5295
    cls := self reflection classForJavaClassObject: jClass.
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5296
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5297
    cls isJavaPrimitiveType ifTrue: [ ^ nil ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5298
    cls isJavaArrayClass ifTrue: [
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5299
        ^ self javaClassObjectForClass: (Java at: 'java.lang.Object')
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5300
    ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5301
    cls isInterface ifTrue: [ ^ nil ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5302
    superCls := cls superclass.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5303
    superCls == JavaObject ifTrue: [ ^ nil. ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5304
    ^ self javaClassObjectForClass: superCls
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5305
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5306
    "Created: / 12-01-1998 / 12:38:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5307
    "Modified: / 04-02-1998 / 14:51:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5308
    "Modified: / 28-01-2011 / 14:12:47 / Marcel Hlopko <hlopik@gmail.com>"
915
vranyj1
parents: 914
diff changeset
  5309
    "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
  5310
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5311
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5312
_java_lang_Class_isArray: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5313
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5314
    <javanative: 'java/lang/Class' name: 'isArray'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5315
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5316
        ^ (self reflection classForJavaClassObject:nativeContext receiver) isJavaArrayClass 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5317
        ifTrue:[1]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5318
        ifFalse:[0]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5319
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5320
    "Created: / 12-11-1998 / 18:54:24 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5321
    "Modified: / 20-12-2010 / 23:20:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5322
    "Modified: / 28-01-2011 / 15:19:24 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5323
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5324
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5325
_java_lang_Class_isAssignableFrom: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5326
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5327
    <javanative: 'java/lang/Class' name: 'isAssignableFrom'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5328
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5329
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5330
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5331
     * Determines if the class or interface represented by this
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5332
     * {@code Class} object is either the same as, or is a superclass or
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5333
     * superinterface of, the class or interface represented by the specified
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5334
     * {@code Class} parameter. It returns {@code true} if so;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5335
     * otherwise it returns {@code false}. If this {@code Class}
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5336
     * object represents a primitive type, this method returns
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5337
     * {@code true} if the specified {@code Class} parameter is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5338
     * exactly this {@code Class} object; otherwise it returns
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5339
     * {@code false}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5340
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5341
     * <p> Specifically, this method tests whether the type represented by the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5342
     * specified {@code Class} parameter can be converted to the type
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5343
     * represented by this {@code Class} object via an identity conversion
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5344
     * or via a widening reference conversion. See <em>The Java Language
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5345
     * Specification</em>, sections 5.1.1 and 5.1.4 , for details.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5346
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5347
     * @param cls the {@code Class} object to be checked
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5348
     * @return the {@code boolean} value indicating whether objects of the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5349
     * type {@code cls} can be assigned to objects of this class
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5350
     * @exception NullPointerException if the specified Class parameter is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5351
     *            null.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5352
     * @since JDK1.1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5353
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5354
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5355
    | clsObj me other |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5356
    clsObj := nativeContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5357
    clsObj ifNil:[^self throwNullPointerException].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5358
    me := self reflection classForJavaClassObject: nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5359
    other := self reflection classForJavaClassObject: clsObj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5360
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5361
    "/    Determines if the class or interface represented by this
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5362
    "/    @code Class} object is either the same as, or is a superclass or
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5363
    "/    superinterface of, the class or interface represented by the specified
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5364
    "/    {@code Class} parameter.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5365
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5366
    ^(other includesBehavior: me)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5367
        ifTrue:[1]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5368
        ifFalse:[0]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5369
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5370
    "Created: / 12-11-1998 / 18:54:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5371
    "Modified: / 05-02-2011 / 23:38:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5372
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5373
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5374
_java_lang_Class_isInstance: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5375
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5376
    <javanative: 'java/lang/Class' name: 'isInstance'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5377
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5378
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5379
    /**
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5380
     * Determines if the specified {@code Object} is assignment-compatible
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5381
     * with the object represented by this {@code Class}.  This method is
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5382
     * the dynamic equivalent of the Java language {@code instanceof}
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5383
     * operator. The method returns {@code true} if the specified
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5384
     * {@code Object} argument is non-null and can be cast to the
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5385
     * reference type represented by this {@code Class} object without
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5386
     * raising a {@code ClassCastException.} It returns {@code false}
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5387
     * otherwise.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5388
     *
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5389
     * <p> Specifically, if this {@code Class} object represents a
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5390
     * declared class, this method returns {@code true} if the specified
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5391
     * {@code Object} argument is an instance of the represented class (or
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5392
     * of any of its subclasses); it returns {@code false} otherwise. If
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5393
     * this {@code Class} object represents an array class, this method
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5394
     * returns {@code true} if the specified {@code Object} argument
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5395
     * can be converted to an object of the array class by an identity
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5396
     * conversion or by a widening reference conversion; it returns
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5397
     * {@code false} otherwise. If this {@code Class} object
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5398
     * represents an interface, this method returns {@code true} if the
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5399
     * class or any superclass of the specified {@code Object} argument
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5400
     * implements this interface; it returns {@code false} otherwise. If
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5401
     * this {@code Class} object represents a primitive type, this method
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5402
     * returns {@code false}.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5403
     *
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5404
     * @param   obj the object to check
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5405
     * @return  true if {@code obj} is an instance of this class
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5406
     *
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5407
     * @since JDK1.1
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5408
     */
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5409
    public native boolean isInstance(Object obj);
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5410
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5411
    
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5412
    |jClass cls obj|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5413
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5414
    obj := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5415
    obj isNil ifTrue:[^ 0].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5416
    jClass := nativeContext receiver.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5417
    cls := self reflection classForJavaClassObject:jClass.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5418
    ^self _INSTANCEOF:obj _:cls
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5419
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5420
    "Modified: / 09-02-1998 / 14:56:23 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5421
    "Modified: / 28-01-2011 / 14:12:42 / Marcel Hlopko <hlopik@gmail.com>"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5422
    "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
  5423
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5424
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5425
_java_lang_Class_isInterface: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5426
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5427
    <javanative: 'java/lang/Class' name: 'isInterface'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5428
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5429
        "return true, if this class is an interface"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5430
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5431
    |jClass cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5432
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5433
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5434
    cls := self reflection classForJavaClassObject:jClass. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5435
    cls isJavaClass ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5436
        ^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5437
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5438
    cls isInterface ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5439
        ^ 1 "TRUE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5440
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5441
    ^ 0 "FALSE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5442
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5443
    "Created: / 12-01-1998 / 12:37:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5444
    "Modified: / 28-01-2011 / 14:12:35 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5445
    "Modified: / 03-02-2011 / 21:50:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5446
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5447
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5448
_java_lang_Class_isPrimitive: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5449
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5450
    <javanative: 'java/lang/Class' name: 'isPrimitive'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5451
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5452
        "return true, if this class is builtin primitive class
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5453
     (i.e. byteArray, array, string etc."
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5454
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5455
    |jClass cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5456
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5457
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5458
    cls := self reflection classForJavaClassObject:jClass. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5459
    ^cls isJavaPrimitiveType 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5460
        ifTrue:[1"true"]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5461
        ifFalse:[0"false"].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5462
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5463
    "Created: / 09-02-1998 / 14:46:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5464
    "Modified: / 28-01-2011 / 14:12:30 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5465
    "Modified: / 04-02-2011 / 11:56:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5466
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5467
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5468
_java_lang_Class_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5469
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5470
    <javanative: 'java/lang/Class' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5471
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5472
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5473
     "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5474
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5475
    "Created: / 20-10-2010 / 11:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5476
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5477
903
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5478
_java_lang_Class_setProtectionDomain0: nativeContext
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5479
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5480
    <javanative: 'java/lang/Class' name: 'getProtectionDomain0'>
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5481
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5482
    (self reflection classForJavaClassObject: nativeContext receiver)
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5483
        protectionDomain: (nativeContext argAt:1)
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5484
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5485
    "Created: / 10-08-2011 / 15:20:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5486
!
0c989d6972bc TestletTestCaseProxy: refactored
vranyj1
parents: 901
diff changeset
  5487
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5488
_java_lang_Double_doubleToRawLongBits: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5489
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5490
    <javanative: 'java/lang/Double' name: 'doubleToRawLongBits'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5491
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5492
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5493
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5494
     * Returns a representation of the specified floating-point value
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5495
     * according to the IEEE 754 floating-point 'double
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5496
     * format' bit layout, preserving Not-a-Number (NaN) values.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5497
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5498
     * <p>Bit 63 (the bit that is selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5499
     * {@code 0x8000000000000000L}) represents the sign of the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5500
     * floating-point number. Bits
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5501
     * 62-52 (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5502
     * {@code 0x7ff0000000000000L}) represent the exponent. Bits 51-0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5503
     * (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5504
     * {@code 0x000fffffffffffffL}) represent the significand
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5505
     * (sometimes called the mantissa) of the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5506
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5507
     * <p>If the argument is positive infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5508
     * {@code 0x7ff0000000000000L}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5509
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5510
     * <p>If the argument is negative infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5511
     * {@code 0xfff0000000000000L}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5512
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5513
     * <p>If the argument is NaN, the result is the {@code long}
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5514
     * integer representing the actual NaN value.  Unlike the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5515
     * {@code doubleToLongBits} method,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5516
     * {@code doubleToRawLongBits} does not collapse all the bit
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5517
     * patterns encoding a NaN to a single 'canonical' NaN
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5518
     * value.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5519
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5520
     * <p>In all cases, the result is a {@code long} integer that,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5521
     * when given to the {@link #longBitsToDouble(long)} method, will
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5522
     * produce a floating-point value the same as the argument to
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5523
     * {@code doubleToRawLongBits}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5524
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5525
     * @param   value   a {@code double} precision floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5526
     * @return the bits that represent the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5527
     * @since 1.3
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5528
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5529
    "
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5530
    | f b |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5531
    f := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5532
    (f =  0.0) ifTrue:[^0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5533
    (f = -0.0) ifTrue:[^(1 bitShift: 63)].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5534
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5535
    b := ByteArray streamContents:[:s|Float storeBinaryIEEEDouble:f on:s].
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5536
    ^ LargeInteger digitBytes: b MSB: UninterpretedBytes isBigEndian not.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5537
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5538
    "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
  5539
    "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
  5540
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5541
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5542
_java_lang_Double_longBitsToDouble: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5543
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5544
    <javanative: 'java/lang/Double' name: 'longBitsToDouble'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5545
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5546
        |i aFloat|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5547
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5548
    i := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5549
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5550
    aFloat := Float new.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5551
    UninterpretedBytes isBigEndian ifTrue:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5552
	aFloat basicAt:1 put:((i bitShift:-56) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5553
	aFloat basicAt:2 put:((i bitShift:-48) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5554
	aFloat basicAt:3 put:((i bitShift:-40) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5555
	aFloat basicAt:4 put:((i bitShift:-32) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5556
	aFloat basicAt:5 put:((i bitShift:-24) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5557
	aFloat basicAt:6 put:((i bitShift:-16) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5558
	aFloat basicAt:7 put:((i bitShift:-8) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5559
	aFloat basicAt:8 put:(i bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5560
    ] ifFalse:[
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5561
	aFloat basicAt:1 put:(i bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5562
	aFloat basicAt:2 put:((i bitShift:-8) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5563
	aFloat basicAt:3 put:((i bitShift:-16) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5564
	aFloat basicAt:4 put:((i bitShift:-24) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5565
	aFloat basicAt:5 put:((i bitShift:-32) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5566
	aFloat basicAt:6 put:((i bitShift:-40) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5567
	aFloat basicAt:7 put:((i bitShift:-48) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5568
	aFloat basicAt:8 put:((i bitShift:-56) bitAnd:16rFF).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5569
    ].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5570
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5571
    ^ aFloat.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5572
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5573
    "Created: / 4.1.1998 / 01:45:00 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5574
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5575
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5576
_java_lang_Float_floatToRawIntBits: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5577
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5578
    <javanative: 'java/lang/Float' name: 'floatToRawIntBits'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5579
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5580
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5581
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5582
     * Returns a representation of the specified floating-point value
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5583
     * according to the IEEE 754 floating-point 'single format' bit
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5584
     * layout, preserving Not-a-Number (NaN) values.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5585
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5586
     * <p>Bit 31 (the bit that is selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5587
     * {@code 0x80000000}) represents the sign of the floating-point
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5588
     * number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5589
     * Bits 30-23 (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5590
     * {@code 0x7f800000}) represent the exponent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5591
     * Bits 22-0 (the bits that are selected by the mask
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5592
     * {@code 0x007fffff}) represent the significand (sometimes called
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5593
     * the mantissa) of the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5594
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5595
     * <p>If the argument is positive infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5596
     * {@code 0x7f800000}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5597
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5598
     * <p>If the argument is negative infinity, the result is
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5599
     * {@code 0xff800000}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5600
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5601
     * <p>If the argument is NaN, the result is the integer representing
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5602
     * the actual NaN value.  Unlike the {@code floatToIntBits}
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5603
     * method, {@code floatToRawIntBits} does not collapse all the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5604
     * bit patterns encoding a NaN to a single 'canonical'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5605
     * NaN value.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5606
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5607
     * <p>In all cases, the result is an integer that, when given to the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5608
     * {@link #intBitsToFloat(int)} method, will produce a
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5609
     * floating-point value the same as the argument to
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5610
     * {@code floatToRawIntBits}.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5611
     *
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5612
     * @param   value   a floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5613
     * @return the bits that represent the floating-point number.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5614
     * @since 1.3
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5615
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5616
    "
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5617
    | f b |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5618
    f := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5619
    (f =  0.0) ifTrue:[^0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5620
    (f = -0.0) ifTrue:[^(1 bitShift: 31) ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5621
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5622
    b := ByteArray streamContents:[:s|ShortFloat storeBinaryIEEESingle:f on:s].
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  5623
    ^ (LargeInteger digitBytes: b MSB: UninterpretedBytes isBigEndian not) compressed
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5624
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5625
    "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
  5626
    "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
  5627
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5628
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5629
_java_lang_Float_intBitsToFloat: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5630
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5631
    <javanative: 'java/lang/Float' name: 'intBitsToFloat(I)F'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5632
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5633
    |i aFloat|
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5634
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5635
    i := nativeContext argAt:1.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5636
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5637
    aFloat := ShortFloat basicNew.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5638
    UninterpretedBytes isBigEndian ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5639
        aFloat basicAt:1 put:((i bitShift:-24) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5640
        aFloat basicAt:2 put:((i bitShift:-16) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5641
        aFloat basicAt:3 put:((i bitShift:-8) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5642
        aFloat basicAt:4 put:(i bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5643
    ] ifFalse:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5644
        aFloat basicAt:1 put:(i bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5645
        aFloat basicAt:2 put:((i bitShift:-8) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5646
        aFloat basicAt:3 put:((i bitShift:-16) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5647
        aFloat basicAt:4 put:((i bitShift:-24) bitAnd:16rFF).
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5648
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5649
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5650
    ^ aFloat.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5651
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5652
    "Modified: / 13-09-2011 / 20:05:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5653
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5654
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5655
_java_lang_Object_clone: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5656
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5657
    <javanative: 'java/lang/Object' name: 'clone'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5658
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5659
        "clone an object"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5660
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5661
    |o rslt|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5662
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5663
    o := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5664
    rslt := o shallowCopy.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5665
    ^ rslt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5666
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5667
    "Created: / 4.1.1998 / 19:39:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5668
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5669
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5670
_java_lang_Object_getClass: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5671
    <javanative: 'java/lang/Object' name: 'getClass'>
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5672
    "return an objects class"
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5673
    
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5674
    | o  cls  jClass |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5675
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5676
    o := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5677
    cls := o class.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
  5678
    jClass := self javaClassObjectForClass: cls.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5679
    ^ jClass
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5680
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5681
    "Created: / 6.1.1998 / 18:28:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5682
    "Modified: / 23.1.1998 / 17:48:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5683
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5684
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5685
_java_lang_Object_hashCode: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5686
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5687
    <javanative: 'java/lang/Object' name: 'hashCode'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5688
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5689
        "identityHash"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5690
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5691
    |o rslt|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5692
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5693
    o := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5694
    rslt := o identityHash.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5695
    ^ rslt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5696
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5697
    "Created: / 4.1.1998 / 19:40:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5698
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5699
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5700
_java_lang_Object_notify: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5701
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5702
    <javanative: 'java/lang/Object' name: 'notify'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5703
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5704
        "wakeup"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5705
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5706
    self wakeup:(nativeContext receiver).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5707
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5708
    "Created: / 6.1.1998 / 21:09:26 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5709
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5710
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5711
_java_lang_Object_notifyAll: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5712
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5713
    <javanative: 'java/lang/Object' name: 'notifyAll'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5714
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5715
        self wakeupAll:(nativeContext receiver).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5716
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5717
    "Created: / 3.1.1998 / 03:06:56 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5718
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5719
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5720
_java_lang_Object_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5721
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5722
    <javanative: 'java/lang/Object' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5723
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5724
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5725
    "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5726
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5727
    "Created: / 19-10-2010 / 12:42:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5728
    "Modified: / 20-10-2010 / 10:57:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5729
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5730
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5731
_java_lang_Object_wait: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5732
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5733
    <javanative: 'java/lang/Object' name: 'wait'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5734
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5735
    |tmo handle sema|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5736
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5737
    handle := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5738
    tmo := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5739
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5740
    sema := JavaVM semaphoreFor:handle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5741
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5742
    [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5743
        self waitFor:sema state:#javaWait timeOut:tmo.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5744
    ] valueOnUnwindDo:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5745
        JavaVM releaseSemaphoreFor:handle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5746
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5747
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5748
    ThreadTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5749
        '====> thread continues ...' printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5750
    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5751
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5752
    "Modified: / 30-12-1998 / 19:20:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5753
    "Modified: / 01-05-2011 / 13:26:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5754
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  5755
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5756
_java_lang_Package_getSystemPackage0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5757
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5758
    <javanative: 'java/lang/Package' name: 'getSystemPackage0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5759
909
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  5760
    "Based on code on OpenJDK, it is ok to return nil here:"
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  5761
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  5762
    ^nil
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  5763
4b1bac2cccfb One more native
vranyj1
parents: 908
diff changeset
  5764
    "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
  5765
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5766
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5767
_java_lang_ProcessEnvironment_environ: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5768
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5769
    <javanative: 'java/lang/ProcessEnvironment' name: 'environ'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5770
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5771
    | env jenv i|
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5772
    env := OperatingSystem getEnvironment.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5773
    jenv :=  ByteArray javaArrayClass new: env size * 2.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5774
    i := 1.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5775
    env keysAndValuesDo:
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5776
        [:name :value|
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5777
        jenv 
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5778
            at: i   put: name  asByteArray;
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5779
            at: i+1 put: value asByteArray.
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5780
        i := i + 2].
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5781
    ^jenv
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5782
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  5783
    "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
  5784
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5785
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5786
_java_lang_ProcessEnvironment_environmentBlock: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5787
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5788
    <javanative: 'java/lang/ProcessEnvironment' name: 'environmentBlock()Ljava/lang/String;'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5789
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5790
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5791
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5792
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5793
_java_lang_Runtime_gc: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5794
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5795
    <javanative: 'java/lang/Runtime' name: 'gc'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5796
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5797
        "Runs the garbage collector.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5798
     Ignored, since the ST-gc runs all the time."
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5799
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5800
    ^ self
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5801
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5802
    "Modified: / 12.1.1998 / 12:58:32 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5803
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5804
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5805
_java_lang_Runtime_runFinalization0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5806
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5807
    <javanative: 'java/lang/Runtime' name: 'runFinalization0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5808
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5809
    Smalltalk garbageCollect
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5810
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5811
    "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
  5812
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5813
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5814
_java_lang_SecurityManager_getClassContext: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5815
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5816
    <javanative: 'java/lang/SecurityManager' name: 'getClassContext'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5817
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5818
    ^ nil "UnimplementedNativeMethodSignal raise"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5819
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5820
    "Created: / 12-11-1998 / 18:56:06 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  5821
    "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
  5822
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5823
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5824
_java_lang_Shutdown_halt0: nativeContext
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5825
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5826
    <javanative: 'java/lang/Shutdown' name: 'halt0'>
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5827
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5828
    "Intentionally left empty!!!!!!"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5829
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5830
    "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
  5831
!
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
  5832
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5833
_java_lang_StrictMath_cbrt: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5834
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5835
    <javanative: 'java/lang/StrictMath' name: 'cbrt'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5836
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5837
    ^ JavaMathSupport cbrt: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5838
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5839
    "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
  5840
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5841
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5842
_java_lang_StrictMath_cos: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5843
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5844
    <javanative: 'java/lang/StrictMath' name: 'cos'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5845
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5846
    ^ JavaMathSupport cos: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5847
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5848
    "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
  5849
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5850
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5851
_java_lang_StrictMath_cosh: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5852
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5853
    <javanative: 'java/lang/StrictMath' name: 'cosh'>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5854
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5855
    "
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5856
    /**
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5857
     * Returns the hyperbolic cosine of a {@code double} value.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5858
     * The hyperbolic cosine of <i>x</i> is defined to be
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5859
     * (<i>e<sup>x</sup>&nbsp;+&nbsp;e<sup>-x</sup></i>)/2
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5860
     * where <i>e</i> is {@linkplain Math#E Euler's number}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5861
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5862
     * <p>Special cases:
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5863
     * <ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5864
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5865
     * <li>If the argument is NaN, then the result is NaN.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5866
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5867
     * <li>If the argument is infinite, then the result is positive
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5868
     * infinity.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5869
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5870
     * <li>If the argument is zero, then the result is {@code 1.0}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5871
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5872
     * </ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5873
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5874
     * @param   x The number whose hyperbolic cosine is to be returned.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5875
     * @return  The hyperbolic cosine of {@code x}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5876
     * @since 1.5
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5877
     */
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5878
    public static native double cosh(double x);
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5879
    "
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5880
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5881
    ^JavaMathSupport cosh: (nativeContext argAt:1)
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5882
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5883
    "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
  5884
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5885
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5886
_java_lang_StrictMath_expm1: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5887
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5888
    <javanative: 'java/lang/StrictMath' name: 'expm1'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5889
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5890
    ^ JavaMathSupport expm1: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5891
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5892
    "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
  5893
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5894
895
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  5895
_java_lang_StrictMath_floor: nativeContext
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  5896
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  5897
    <javanative: 'java/lang/StrictMath' name: 'floor'>
ddeff39cfdb9 TestletProxy refactored
vranyj1
parents: 892
diff changeset
  5898
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5899
   ^ JavaMathSupport floor: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5900
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5901
    "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
  5902
!
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5903
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5904
_java_lang_StrictMath_pow: nativeContext
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5905
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5906
    <javanative: 'java/lang/StrictMath' name: 'pow(DD)D'>
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5907
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5908
    ^JavaMathSupport pow: (nativeContext argAt:1) to: (nativeContext argAt:3)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5909
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5910
    "Modified: / 07-09-2011 / 17:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5911
!
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5912
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5913
_java_lang_StrictMath_sin: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5914
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5915
    <javanative: 'java/lang/StrictMath' name: 'cos'>
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5916
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5917
    ^ JavaMathSupport sin: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5918
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5919
    "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
  5920
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  5921
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5922
_java_lang_StrictMath_sinh: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5923
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5924
    <javanative: 'java/lang/StrictMath' name: 'sinh'>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5925
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5926
    "
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5927
    /**
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5928
     * Returns the hyperbolic sine of a {@code double} value.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5929
     * The hyperbolic sine of <i>x</i> is defined to be
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5930
     * (<i>e<sup>x</sup>&nbsp;-&nbsp;e<sup>-x</sup></i>)/2
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5931
     * where <i>e</i> is {@linkplain Math#E Euler's number}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5932
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5933
     * <p>Special cases:
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5934
     * <ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5935
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5936
     * <li>If the argument is NaN, then the result is NaN.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5937
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5938
     * <li>If the argument is infinite, then the result is an infinity
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5939
     * with the same sign as the argument.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5940
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5941
     * <li>If the argument is zero, then the result is a zero with the
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5942
     * same sign as the argument.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5943
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5944
     * </ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5945
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5946
     * @param   x The number whose hyperbolic sine is to be returned.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5947
     * @return  The hyperbolic sine of {@code x}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5948
     * @since 1.5
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5949
     */
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5950
    public static native double sinh(double x);
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5951
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5952
    "
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5953
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5954
    ^ JavaMathSupport sinh: (nativeContext argAt:1)
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5955
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5956
    "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
  5957
    "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
  5958
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5959
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5960
_java_lang_StrictMath_tanh: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  5961
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5962
    <javanative: 'java/lang/StrictMath' name: 'tanh'>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5963
    "
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5964
    /**
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5965
     * Returns the hyperbolic tangent of a {@code double} value.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5966
     * The hyperbolic tangent of <i>x</i> is defined to be
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5967
     * (<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
  5968
     * in other words, {@linkplain Math#sinh
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5969
     * sinh(<i>x</i>)}/{@linkplain Math#cosh cosh(<i>x</i>)}.  Note
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5970
     * that the absolute value of the exact tanh is always less than
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5971
     * 1.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5972
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5973
     * <p>Special cases:
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5974
     * <ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5975
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5976
     * <li>If the argument is NaN, then the result is NaN.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5977
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5978
     * <li>If the argument is zero, then the result is a zero with the
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5979
     * same sign as the argument.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5980
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5981
     * <li>If the argument is positive infinity, then the result is
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5982
     * {@code +1.0}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5983
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5984
     * <li>If the argument is negative infinity, then the result is
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5985
     * {@code -1.0}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5986
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5987
     * </ul>
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5988
     *
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5989
     * @param   x The number whose hyperbolic tangent is to be returned.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5990
     * @return  The hyperbolic tangent of {@code x}.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5991
     * @since 1.5
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5992
     */
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5993
    public static native double tanh(double x);
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  5994
    "
892
d09b90bc4998 Few more primitives
vranyj1
parents: 888
diff changeset
  5995
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5996
    ^ JavaMathSupport tanh: (nativeContext argAt:1)
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5997
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  5998
    "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
  5999
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6000
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6001
_java_lang_String_intern: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6002
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6003
    <javanative: 'java/lang/String' name: 'intern'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6004
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6005
        |jString|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6006
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6007
    jString := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6008
    ^ Java intern:jString
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6009
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6010
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6011
_java_lang_System_arraycopy: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6012
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6013
    <javanative: 'java/lang/System' name: 'arraycopy'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6014
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6015
    |srcArray srcIdx dstArray dstIdx srcArrayCC dstArrayCC count dstEndIdx|
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6016
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6017
    srcArray := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6018
    srcArray isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6019
        ^ self throwNullPointerException
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6020
    ].
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6021
    srcArray isJavaArray ifFalse:[
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6022
        ^ self throwArrayStoreException:srcArray
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6023
    ].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6024
    srcIdx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6025
    dstArray := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6026
    dstArray isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6027
        ^ self throwNullPointerException
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6028
    ].
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6029
    dstArray isJavaArray ifFalse:[
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6030
        ^ self throwArrayStoreException:dstArray
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6031
    ].
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6032
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6033
    srcArrayCC := srcArray class javaComponentClass.
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6034
    dstArrayCC := dstArray class javaComponentClass.
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6035
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6036
    srcArrayCC isJavaPrimitiveType == dstArrayCC isJavaPrimitiveType 
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6037
        ifTrue:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6038
            [srcArrayCC isJavaPrimitiveType
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6039
                ifTrue:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6040
                    [srcArrayCC ~~ dstArrayCC ifTrue:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6041
                        [^ self throwArrayStoreException:dstArray]].
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6042
            ]
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6043
        ifFalse:
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6044
            [^ self throwArrayStoreException:dstArray].
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6045
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6046
    dstIdx := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6047
    count := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6048
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6049
    count < 0 ifTrue:[
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6050
        ^ self throwArrayIndexOutOfBoundsException:(srcIdx + count - 1)        
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6051
    ].
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6052
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6053
    ((srcIdx < 0) or:[srcIdx + count > srcArray size]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6054
        srcArray size == 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6055
            srcArray isVariable ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6056
                ^ self throwArrayStoreException:srcArray
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6057
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6058
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6059
        ^ self throwArrayIndexOutOfBoundsException:(srcIdx + count - 1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6060
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6061
    ((dstIdx < 0) or:[dstIdx + count > dstArray size]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6062
        dstArray size == 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6063
            dstArray isVariable ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6064
                ^ self throwArrayStoreException:dstArray
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6065
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6066
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6067
        ^ self throwArrayIndexOutOfBoundsException:(dstIdx + count - 1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6068
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6069
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6070
    dstEndIdx := dstIdx + count.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6071
    dstIdx := dstIdx + 1.       "/ ST uses 1-based indexing
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6072
    srcIdx := srcIdx + 1.       "/ ST uses 1-based indexing
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6073
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6074
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6075
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6076
    (srcArray class isBytes and:[dstArray class isBytes]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6077
        dstArray replaceBytesFrom:dstIdx to:dstEndIdx with:srcArray startingAt:srcIdx.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6078
    ] ifFalse:[
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6079
        dstArrayCC isJavaPrimitiveType ifFalse:[
992
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6080
            "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
  6081
            srcArray == dstArray ifTrue:[srcArray := srcArray copy].
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6082
            1 to: count do:[:i|
988
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6083
                | obj |
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6084
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6085
                obj := srcArray at:srcIdx + i - 1.
414a2c9a6a9e Java-style FP math natives and support methods
vranyj1
parents: 985
diff changeset
  6086
992
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6087
                (obj notNil and:[(self canCast: obj class to: dstArrayCC) not]) ifTrue:[
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6088
                    ^ self throwArrayStoreException:dstArray
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6089
                ].
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6090
                dstArray at: dstIdx + i - 1 put: (srcArray at:srcIdx + i - 1)
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6091
            ]
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6092
        ] ifTrue:[
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6093
            dstArray replaceFrom:dstIdx to:dstEndIdx with:srcArray startingAt:srcIdx.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
  6094
        ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6095
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6096
    ^ nil.
864
45d54ed8b273 JavaVM: improvements in java.lang.System.arraycopy native
vranyj1
parents: 859
diff changeset
  6097
992
6d3e3d937fda Class loader mess cleanup, more will come later...
vranyj1
parents: 988
diff changeset
  6098
    "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
  6099
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6100
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6101
_java_lang_System_currentTimeMillis: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6102
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6103
    <javanative: 'java/lang/System' name: 'currentTimeMillis'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6104
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6105
        "return the milliseconds since 1.jan.1970"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6106
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6107
    |delta|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6108
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6109
    "/ workaround win32 bug (use 01:01:01 as base)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6110
    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
  6111
    delta := delta - 3600 - 60 - 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6112
"/    "/ make certain, it fits 64 signed bits
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6113
"/    delta := delta bitAnd:16r7FFFFFFFFFFFFFFF.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6114
"/    ^ delta max:0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6115
    ^ delta
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6116
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6117
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6118
     JavaVM _System_currentTimeMillis:nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6119
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6120
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6121
    "Modified: / 23.12.1998 / 21:54:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6122
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6123
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6124
_java_lang_System_identityHashCode: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6125
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6126
    <javanative: 'java/lang/System' name: 'identityHashCode'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6127
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6128
        |obj|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6129
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6130
    obj := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6131
    ^ obj identityHash
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6132
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6133
    "Modified: / 12.11.1998 / 18:52:07 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6134
    "Created: / 12.11.1998 / 18:54:00 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6135
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6136
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6137
_java_lang_System_initProperties: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6138
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6139
    <javanative: 'java/lang/System' name: 'initProperties'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6140
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6141
        |props stProps|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6142
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6143
    props := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6144
    stProps := self systemProperties.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6145
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6146
    "/ recursively invoke myself on the Java HashTable.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6147
    "/ calling 'put' to stuff in the values ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6148
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6149
    stProps keysAndValuesDo:[:key :value |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6150
	|keyObj valueObj|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6151
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6152
	keyObj := Java as_String:key.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6153
	valueObj := Java as_String:value.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6154
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6155
	props 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6156
	    perform:#'put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6157
	    with:keyObj 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6158
	    with:valueObj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6159
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6160
    ^ props
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6161
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6162
    "Created: / 3.1.1998 / 14:25:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6163
    "Modified: / 4.1.1998 / 14:23:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6164
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6165
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6166
_java_lang_System_mapLibraryName: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6167
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6168
    <javanative: 'java/lang/System' name: 'mapLibraryName'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6169
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6170
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6171
    | name |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6172
    name := Java as_ST_String: (aJavaContext argAt: 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6173
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6174
    OperatingSystem isUNIXlike ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6175
        ^Java as_String: ('lib' , name , '.so').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6176
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6177
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6178
    OperatingSystem isMSWINDOWSlike ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6179
        ^Java as_String: ( name , '.dll').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6180
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6181
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6182
    self error:'Unknown/Unsupported platform'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6183
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6184
    "Created: / 09-12-2010 / 18:16:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6185
    "Modified: / 01-04-2011 / 18:14:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6186
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6187
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6188
_java_lang_System_nanoTime: nativeContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6189
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6190
    <javanative: 'java/lang/System' name: 'nanoTime'>
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6191
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6192
    ^ OperatingSystem getMicrosecondTime * 1000
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6193
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6194
    "Modified: / 07-08-2011 / 21:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6195
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6196
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6197
_java_lang_System_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6198
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6199
    <javanative: 'java/lang/System' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6200
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6201
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6202
    "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6203
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6204
    "Created: / 20-10-2010 / 10:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6205
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6206
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6207
_java_lang_System_setErr0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6208
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6209
    <javanative: 'java/lang/System' name: 'setErr0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6210
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6211
        |stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6212
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6213
    stream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6214
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6215
    self setOpenFile:(self javaConsoleStream ? Stderr) at:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6216
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6217
    nativeContext receiver instVarNamed:'err' put:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6218
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6219
    "Created: / 18.3.1997 / 15:02:05 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6220
    "Modified: / 4.1.1998 / 16:21:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6221
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6222
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6223
_java_lang_System_setIn0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6224
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6225
    <javanative: 'java/lang/System' name: 'setIn0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6226
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6227
        |stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6228
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6229
    stream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6230
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6231
    self setOpenFile:Stdin at:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6232
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6233
    nativeContext receiver instVarNamed:'in' put:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6234
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6235
    "Created: / 4.1.1998 / 16:16:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6236
    "Modified: / 4.1.1998 / 16:20:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6237
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6238
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6239
_java_lang_System_setOut0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6240
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6241
    <javanative: 'java/lang/System' name: 'setOut0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6242
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6243
        |stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6244
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6245
    stream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6246
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6247
    self setOpenFile:(self javaConsoleStream ? Stdout) at:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6248
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6249
    nativeContext receiver instVarNamed:'out' put:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6250
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6251
    "Created: / 4.1.1998 / 16:18:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6252
    "Modified: / 4.1.1998 / 16:20:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6253
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6254
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6255
_java_lang_Thread_currentThread: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6256
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6257
    <javanative: 'java/lang/Thread' name: 'currentThread'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6258
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6259
    |t p|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6260
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6261
    p := Processor activeProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6262
    t := self javaThreadForSTProcess:p.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6263
    t notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6264
        ^ t
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6265
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6266
    t := self newThread:'main'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6267
    Java threads at:t put:p.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6268
    ^ t
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6269
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6270
    "Modified: / 01-05-2011 / 13:24:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6271
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6272
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6273
_java_lang_Thread_holdsLock: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6274
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6275
    <javanative: 'java/lang/Thread' name: 'holdsLock'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6276
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6277
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6278
    | obj |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6279
    obj := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6280
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6281
    ^(self enteredMonitorsOfProcess:Processor activeProcess)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6282
        includes: obj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6283
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6284
    "Created: / 30-04-2011 / 22:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6285
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6286
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6287
_java_lang_Thread_interrupt0: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6288
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6289
    <javanative: 'java/lang/Thread' name: 'interrupt0()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6290
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6291
        "ask if a thread is interrupted (clear interruptState if arg is true)"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6292
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6293
    |jThread stProcess|
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6294
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6295
    jThread := nativeContext receiver.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6296
    stProcess := self stProcessForJavaThread:jThread.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6297
    stProcess isNil ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6298
	self halt.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6299
	^ 0
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6300
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6301
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6302
    stProcess markInterrupted
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6303
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6304
    "Modified: / 2.1.1998 / 21:49:06 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6305
    "Created: / 10.4.1998 / 15:21:43 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6306
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6307
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6308
_java_lang_Thread_isAlive: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6309
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6310
    <javanative: 'java/lang/Thread' name: 'isAlive'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6311
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6312
        "is it alive ?"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6313
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6314
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6315
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6316
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6317
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6318
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6319
	ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6320
	    ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6321
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6322
	^ 0 "FALSE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6323
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6324
    stProcess isDead ifTrue:[^ 0 "FALSE"].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6325
    ^ 1 "TRUE"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6326
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6327
    "Created: / 5.1.1998 / 02:03:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6328
    "Modified: / 6.2.1998 / 02:15:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6329
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6330
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6331
_java_lang_Thread_isInterrupted: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6332
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6333
    <javanative: 'java/lang/Thread' name: 'isInterrupted'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6334
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6335
        "ask if a thread is interrupted (clear interruptState if arg is true)"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6336
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6337
    |jThread stProcess clearInterrupt rslt|
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6338
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6339
    jThread := nativeContext receiver.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6340
    stProcess := self stProcessForJavaThread:jThread.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6341
    stProcess isNil ifTrue:[
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6342
        self halt.
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6343
        ^ 0
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6344
    ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6345
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6346
    clearInterrupt := nativeContext argAt:1.
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6347
    rslt := "stProcess isInterrupted"false ifTrue:[1] ifFalse:[0].
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6348
    "clearInterrupt ~~ 0 ifTrue:[stProcess clearInterruptActions]."
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6349
    ^ rslt
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6350
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6351
    "Modified: / 02-01-1998 / 21:49:06 / cg"
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6352
    "Created: / 07-01-1998 / 18:50:26 / cg"
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6353
    "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
  6354
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6355
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6356
_java_lang_Thread_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6357
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6358
    <javanative: 'java/lang/Thread' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6359
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6360
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6361
    "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6362
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6363
    "Created: / 20-10-2010 / 11:12:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6364
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6365
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6366
_java_lang_Thread_setPriority0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6367
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6368
    <javanative: 'java/lang/Thread' name: 'setPriority0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6369
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6370
   |t p prio|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6371
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6372
    t := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6373
    p := JavaVM stProcessForJavaThread:t.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6374
    prio := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6375
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6376
    p isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6377
        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6378
            'JAVA [info]: no process yet (in setPriority)' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6379
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6380
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6381
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6382
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6383
    "Modified: / 01-05-2011 / 13:25:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6384
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6385
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6386
_java_lang_Thread_sleep: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6387
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6388
    <javanative: 'java/lang/Thread' name: 'sleep'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6389
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6390
        "sleep for some milliseconds "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6391
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6392
    |millis|
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6393
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6394
    millis := nativeContext argAt:1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6395
    self waitFor:nil state:nil timeOut:(millis max:50)
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6396
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6397
    "Modified: / 8.1.1999 / 16:42:52 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6398
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6399
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6400
_java_lang_Thread_start0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6401
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6402
    <javanative: 'java/lang/Thread' name: 'start0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6403
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6404
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6405
    ^self threadStart: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6406
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6407
    "Modified: / 24-12-1999 / 03:14:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6408
    "Created: / 22-11-2010 / 17:48:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6409
    "Modified: / 14-12-2010 / 21:31:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6410
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6411
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6412
_java_lang_Throwable_fillInStackTrace: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6413
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6414
    <javanative: 'java/lang/Throwable' name: 'fillInStackTrace'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6415
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6416
        |exClass exceptionObject list con|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6417
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6418
    exClass := Java classNamed:'java.lang.Throwable'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6419
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6420
    exceptionObject := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6421
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6422
    "/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6423
    "/ debugging only
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6424
    "/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6425
    (exceptionObject isKindOf:(Java classNamed:'java.lang.Throwable')) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6426
	self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6427
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6428
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6429
    con := thisContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6430
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6431
    "/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6432
    "/ we are not interrested in all intermediate Exception frames ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6433
    "/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6434
    FullExceptionTrace ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6435
	"/ first, skip any JavaVM contexts
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6436
	[con receiver == exceptionObject] whileFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6437
	    con := con sender
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6438
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6439
	"/ then, all exception-init contexts
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6440
	[con receiver == exceptionObject] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6441
	    con := con sender
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6442
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6443
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6444
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6445
    list := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6446
    [con notNil] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6447
	(con isJavaContext) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6448
	    "/ add a copy, in case the context continues with some
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6449
	    "/ cleanup ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6450
	    list add:con shallowCopy
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6451
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6452
	con := con sender
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6453
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6454
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6455
    exceptionObject instVarNamed:'backtrace' put:(list asArray).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6456
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6457
    ^ nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6458
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6459
    "Created: / 4.1.1998 / 14:27:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6460
    "Modified: / 8.5.1998 / 21:29:53 / cg"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6461
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6462
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6463
_java_lang_Throwable_getStackTraceDepth: nativeContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6464
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6465
    <javanative: 'java/lang/Throwable' name: 'getStackTraceDepth'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6466
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6467
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6468
    ^(nativeContext receiver instVarNamed: #backtrace) size
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6469
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6470
    "Modified: / 01-05-2011 / 20:25:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6471
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6472
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6473
_java_lang_Throwable_getStackTraceElement: nativeContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6474
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6475
    <javanative: 'java/lang/Throwable' name: 'getStackTraceElement'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6476
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6477
    | throwable index ctx stackTraceElement |
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6478
    throwable := nativeContext receiver.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6479
    index :=  nativeContext argAt: 1.
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6480
    ctx := (throwable instVarNamed:#backtrace) at: index + 1.
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6481
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6482
    stackTraceElement := (self classForName: 'java.lang.StackTraceElement') new.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6483
883
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6484
    stackTraceElement 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6485
        instVarNamed: #declaringClass 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6486
        put: (Java as_String:(ctx method javaClass javaName));
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6487
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6488
        instVarNamed: #methodName 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6489
        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
  6490
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6491
        instVarNamed: #lineNumber 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6492
        put: ctx lineNumber.
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6493
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6494
    ctx method javaClass sourceFile notNil ifTrue:[                
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6495
        stackTraceElement        
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6496
            instVarNamed: #fileName 
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6497
            put: (Java as_String:(ctx method javaClass sourceFile))
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6498
    ].
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6499
    ^ stackTraceElement
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6500
b0eecab8d572 - JavaResolver: fixes in class resolving
vranyj1
parents: 881
diff changeset
  6501
    "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
  6502
!
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6503
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6504
_java_lang_UNIXProcess_forkAndExec: nativeContext
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6505
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6506
    <javanative: 'java/lang/UNIXProcess' name: 'forkAndExec'>
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6507
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6508
    ^ UnimplementedNativeMethodSignal raise
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6509
!
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6510
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6511
_java_lang_UNIXProcess_initIDs: nativeContext
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6512
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6513
    <javanative: 'java/lang/UNIXProcess' name: 'initIDs'>
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6514
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6515
    "Nothing to do"
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6516
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6517
    "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
  6518
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6519
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6520
!JavaVM class methodsFor:'native - java.lang.reflect'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6521
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6522
_java_lang_reflect_Array_getLength: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6523
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6524
    <javanative: 'java/lang/reflect/Array' name: 'getLength(Ljava/lang/Object;)I'>
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6525
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6526
    ^(nativeContext argAt: 1) size
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6527
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6528
    "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
  6529
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
  6530
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6531
_java_lang_reflect_Array_newArray:aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6532
    <javanative: 'java/lang/reflect/Array' name: 'newArray'>
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6533
    |componentClass size|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6534
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6535
    componentClass := self reflection 
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6536
                classForJavaClassObject:(aJavaContext argAt:1).
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6537
    size := aJavaContext argAt:2.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
  6538
    ^ componentClass javaArrayClass new:size
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6539
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6540
    "Created: / 17-12-2010 / 14:49:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6541
    "Modified: / 19-12-2010 / 17:54:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6542
    "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
  6543
    "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
  6544
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6545
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6546
_java_lang_reflect_Array_set: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6547
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6548
    <javanative: 'java/lang/reflect/Array' name: 'set'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6549
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6550
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6551
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6552
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6553
_java_lang_reflect_Proxy_defineClass0: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6554
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6555
    <javanative: 'java/lang/reflect/Proxy' name: 'defineClass0'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6556
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6557
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6558
    private static native Class defineClass0(ClassLoader loader, String name,
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6559
                                             byte[] b, int off, int len);
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6560
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6561
    | loader name b off len  bs cls |
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6562
    loader := nativeContext argAt: 1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6563
    name := nativeContext argAt: 2.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6564
    b := nativeContext argAt: 3.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6565
    off := nativeContext argAt: 4.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6566
    len := nativeContext argAt: 5.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6567
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6568
    bs := (off = 0 and: [len = b size]) 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6569
            ifTrue:[b readStream]
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6570
            ifFalse:[(b copyFrom: off + 1 to: off + len) readStream].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6571
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6572
    cls := JavaClassReader readStream: bs.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6573
    cls classLoader: loader.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6574
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6575
    ^self reflection javaClassObjectForClass: cls.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6576
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6577
    "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
  6578
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6579
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6580
!JavaVM class methodsFor:'native - java.net'!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6581
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6582
_java_net_DatagramPacket_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6583
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6584
    <javanative: 'java/net/DatagramPacket' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6585
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6586
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6587
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6588
    "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
  6589
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6590
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6591
_java_net_Inet4AddressImpl_getLocalHostName: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6592
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6593
    <javanative: 'java/net/Inet4AddressImpl' name: 'getLocalHostName()Ljava/lang/String;'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6594
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6595
    ^Java as_String: OperatingSystem getHostName
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6596
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6597
    "Modified: / 13-09-2011 / 22:36:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6598
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6599
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6600
_java_net_Inet4Address_init: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6601
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6602
    <javanative: 'java/net/Inet4Address' name: 'init()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6603
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6604
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6605
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6606
    "Modified: / 13-09-2011 / 22:31:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6607
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6608
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6609
_java_net_Inet6Address_init: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6610
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6611
    <javanative: 'java/net/Inet6Address' name: 'init()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6612
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6613
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6614
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6615
    "Modified: / 13-09-2011 / 22:32:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6616
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6617
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6618
_java_net_InetAddressImplFactory_isIPv6Supported: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6619
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6620
    <javanative: 'java/net/InetAddressImplFactory' name: 'isIPv6Supported'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6621
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6622
    ^ 0 "IPv6 is not supported!!"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6623
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6624
    "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
  6625
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6626
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6627
_java_net_InetAddress_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6628
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6629
    <javanative: 'java/net/InetAddress' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6630
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6631
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6632
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6633
    "Created: / 27-01-1998 / 18:16:40 / cg"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6634
    "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
  6635
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6636
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6637
_java_net_NetworkInterface_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6638
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6639
    <javanative: 'java/net/NetworkInterface' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6640
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6641
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6642
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6643
    "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
  6644
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6645
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6646
_java_net_PlainDatagramSocketImpl_init: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6647
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6648
    <javanative: 'java/net/PlainDatagramSocketImpl' name: 'init'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6649
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6650
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6651
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6652
    "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
  6653
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6654
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6655
_java_net_PlainSocketImpl_initProto: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6656
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6657
    <javanative: 'java/net/PlainSocketImpl' name: 'initProto'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6658
997
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6659
    "Nothing to do"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6660
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6661
    "Created: / 12-01-1998 / 12:56:52 / cg"
c87f3a1cbeba Few more natives for Windows
vranyj1
parents: 995
diff changeset
  6662
    "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
  6663
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6664
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6665
_java_net_PlainSocketImpl_socketCreate: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6666
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6667
    <javanative: 'java/net/PlainSocketImpl' name: 'socketCreate(Z)V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6668
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6669
        |jsock isStream fd sock fileNo|
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6670
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6671
    jsock := nativeContext receiver.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6672
    isStream := (nativeContext argAt:1) == 1.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6673
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6674
    fd := jsock instVarNamed:'fd'.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6675
    (fd instVarNamed:'fd') ~~ 0 ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6676
	self halt:'file already open'.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6677
	self internalError:'file already open'.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6678
	self throwIOExceptionWithMessage:'file already open in socketCreate'.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6679
	^ self.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6680
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6681
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6682
    FileOpenTrace ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6683
	('JAVA: create socket') infoPrintCR.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6684
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6685
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6686
    isStream ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6687
	sock := Socket newTCP
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6688
    ] ifFalse:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6689
	sock := Socket newUDP
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6690
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6691
    sock isNil ifTrue:[
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6692
	self throwIOExceptionWithMessage:'socketCreate failed'.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6693
    ].
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6694
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6695
    fileNo := self addOpenFile:sock.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6696
    fd instVarNamed:'fd' put:fileNo.
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6697
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6698
    "Created: / 25.1.1998 / 19:59:25 / cg"
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6699
    "Modified: / 30.12.1998 / 20:10:38 / cg"
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6700
! !
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6701
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6702
!JavaVM class methodsFor:'native - java.security'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6703
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6704
_java_security_AccessController_doPrivileged: aJavaContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6705
    <javanative: 'java/security/AccessController' name: 'doPrivileged'>
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6706
    "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
  6707
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  6708
    | retval |
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  6709
    
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  6710
    JavaVM privilegedAccessQuery answer: true do: [
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  6711
        retval := (aJavaContext argAt: 1) perform: #'run()Ljava/lang/Object;'.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  6712
    ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
  6713
    ^retval
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6714
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6715
    "Created: / 20-10-2010 / 12:31:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1017
23971b5214d8 removed useless infoPrintCR
hlopkmar
parents: 1016
diff changeset
  6716
    "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
  6717
    "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
  6718
!
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6719
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6720
_java_security_AccessController_getStackAccessControlContext: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6721
    <javanative: 'java/security/AccessController' name: 'getStackAccessControlContext'>
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6722
    "/ introduced with jdk1.2
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6723
    "/ supposed to do more here ...
1016
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6724
    
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6725
    ^nil.
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6726
2b20730b8717 work on ticket #28(illegal access after evaluating expresion in workspace).
hlopkmar
parents: 1000
diff changeset
  6727
    "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
  6728
    "Modified: / 09-10-2011 / 23:40:46 / Marcel Hlopko <hlopik@gmail.com>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6729
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6730
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6731
!JavaVM class methodsFor:'native - java.sql'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6732
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6733
_java_sql_DriverManager_getCallerClassLoader: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6734
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6735
    <javanative: 'java/sql/DriverManager' name: 'getCallerClassLoader()Ljava/lang/ClassLoader;'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6736
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6737
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6738
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6739
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6740
!JavaVM class methodsFor:'native - java.text'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6741
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6742
_java_text_Bidi_nativeBidiChars: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6743
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6744
    <javanative: 'java/text/Bidi' name: 'nativeBidiChars(Ljava/text/Bidi;[CI[BIII)V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6745
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6746
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6747
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
  6748
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6749
!JavaVM class methodsFor:'native - java.util'!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6750
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6751
_java_util_ResourceBundle_getClassContext: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6752
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6753
    <javanative: 'java/util/ResourceBundle' name: 'getClassContext'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6754
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6755
        "returns an array filled with the contextChain receivers classes.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6756
     What an ugly, messy interface."
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6757
    
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6758
    |chain con cls jClass|
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6759
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6760
    chain := OrderedCollection new.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6761
    con := thisContext sender.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6762
    [
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6763
        con notNil 
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6764
            and:[con receiver isMethod not or:[con receiver isJavaMethod not]]
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6765
    ] whileTrue:[con := con sender.].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6766
    con := con sender.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6767
    [con notNil] whileTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6768
        (true) "con isJavaContext" ifTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6769
            cls := con receiver class.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6770
            cls isMeta ifTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6771
                "/ t'was a static method
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6772
                cls := cls soleInstance
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6773
            ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6774
            cls isJavaClass ifTrue:[
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6775
                jClass := self reflection javaClassObjectForClass:cls.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6776
                chain add:jClass.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6777
            ]
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6778
        ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6779
        con := con sender.
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6780
    ].
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6781
    ^ chain asArray
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6782
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6783
    "Created: / 05-01-1998 / 02:47:00 / cg"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6784
    "Modified: / 24-12-1998 / 00:34:57 / cg"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6785
    "Modified: / 28-01-2011 / 15:31:28 / Marcel Hlopko <hlopik@gmail.com>"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6786
    "Modified: / 03-02-2011 / 21:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6787
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6788
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6789
_java_util_TimeZone_getSystemTimeZoneID: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6790
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6791
    <javanative: 'java/util/TimeZone' name: 'getSystemTimeZoneID'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6792
866
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6793
    "JV@2011-06-25: TODO: finish, returning nil here means GMT"
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6794
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6795
    ^ nil
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6796
10d1f47af6d9 Few fixes for Mauve...
vranyj1
parents: 864
diff changeset
  6797
    "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
  6798
! !
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6799
846
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6800
!JavaVM class methodsFor:'native - java.util.concurrent.atomic'!
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6801
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6802
_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8: nativeContext
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6803
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6804
    <javanative: 'java/util/concurrent/atomic/AtomicLong' name: 'VMSupportsCS8'>
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6805
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6806
    "Should be safe - say we don't support lockless updates"        
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6807
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6808
    ^ 0
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6809
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
  6810
    "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
  6811
! !
cec92244091c fixed bug in resolving
hlopkmar
parents: 837
diff changeset
  6812
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6813
!JavaVM class methodsFor:'native - java.util.jar'!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6814
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6815
_java_util_jar_JarFile_getMetaInfEntryNames: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6816
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6817
    <javanative: 'java/util/jar/JarFile' name: 'getMetaInfEntryNames'>
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  6818
    "
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  6819
    private native String[] getMetaInfEntryNames();
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  6820
    "
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6821
    | zipArchive entries jentries |
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  6822
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
  6823
    zipArchive := ZipCache at: (nativeContext receiver instVarNamed: #jzfile).
881
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6824
    entries := zipArchive entries select:[:entry|entry size > 9 and:[entry startsWith: 'META-INF/']].    
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6825
    jentries := Java java_lang_String javaArrayClass new: entries size.
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6826
    1 to: entries size do:[:i|
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6827
        jentries at: i put: (Java as_String: (entries at: i))
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6828
    ].
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6829
    ^jentries
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6830
e45c36ff74fc Fixes in primitives
vranyj1
parents: 880
diff changeset
  6831
    "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
  6832
! !
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
  6833
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6834
!JavaVM class methodsFor:'native - java.util.zip'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6835
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6836
_java_util_zip_Adler32_updateBytes: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6837
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6838
    <javanative: 'java/util/zip/Adler32' name: 'updateBytes'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6839
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6840
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6841
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6842
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6843
_java_util_zip_Deflater_initIDs: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6844
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6845
    <javanative: 'java/util/zip/Deflater' name: 'initIDs'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6846
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6847
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6848
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
  6849
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6850
_java_util_zip_Inflater_getBytesWritten: nativeContext
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6851
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6852
    <javanative: 'java/util/zip/Inflater' name: 'getBytesWritten'>
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6853
952
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  6854
    | addr inflater |
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  6855
    addr := nativeContext argAt: 1.
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  6856
    inflater := ZipInflaters at: addr.
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  6857
    ^inflater bytesWritten.
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  6858
7afd3529b9fa More natives for java.util.zip.Inflater
vranyj1
parents: 948
diff changeset
  6859
    "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
  6860
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6861
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6862
_java_util_zip_Inflater_inflateBytes: nativeContext
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6863
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6864
    <javanative: 'java/util/zip/Inflater' name: 'inflateBytes'>
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6865
    "
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6866
    private native int inflateBytes(long addr, byte[] b, int off, int len)
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6867
    "
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6868
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6869
    | addr b off len inflater ret |
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6870
    addr := nativeContext argAt: 1."long takes 2 slots"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6871
    b := nativeContext argAt: 3.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6872
    off := nativeContext argAt: 4.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6873
    len := nativeContext argAt: 5.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6874
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6875
    inflater := ZipInflaters at: addr.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6876
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6877
    ret := inflater inflate: b offset: off length: len inflater: nativeContext receiver.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6878
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6879
    ^ret.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6880
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6881
    "Created: / 30-04-2011 / 23:02:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6882
    "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
  6883
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6884
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6885
_java_util_zip_Inflater_init: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6886
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6887
    <javanative: 'java/util/zip/Inflater' name: 'init'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6888
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6889
    
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6890
    | nowrap inflater |
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6891
    nowrap := nativeContext argAt:1.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6892
    inflater := JavaZipSupport inflaterFor: self.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6893
    inflater init: nowrap.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6894
    ZipInflaters add: inflater.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6895
    ^ZipInflaters size.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6896
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6897
    "Created: / 01-02-1998 / 20:14:01 / cg"
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6898
    "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
  6899
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6900
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6901
_java_util_zip_Inflater_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6902
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6903
    <javanative: 'java/util/zip/Inflater' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6904
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6905
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6906
    "Nothing to do, used only to register natives"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6907
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6908
    "Created: / 30-04-2011 / 21:55:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6909
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6910
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  6911
_java_util_zip_Inflater_reset: nativeContext
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  6912
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  6913
    <javanative: 'java/util/zip/Inflater' name: 'reset'>
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6914
    "
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6915
    private native static void reset(long addr);
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6916
    "
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6917
    | addr inflater |
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
  6918
    addr := nativeContext argAt: 1.
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6919
    inflater := ZipInflaters at: addr.
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6920
    inflater reset.
908
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  6921
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  6922
    "Created: / 01-02-1998 / 20:14:13 / cg"
945
84d75b6d090d Native method fixes
vranyj1
parents: 943
diff changeset
  6923
    "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
  6924
!
d990d0d520d9 ClassLoader trickery, maybe not a good idea, we will see.
vranyj1
parents: 907
diff changeset
  6925
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6926
_java_util_zip_ZipEntry_initFields: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6927
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6928
    <javanative: 'java/util/zip/ZipEntry' name: 'initFields'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6929
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6930
        | entry jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6931
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6932
    entry := aJavaContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6933
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6934
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6935
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6936
    entry 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6937
        instVarNamed: #time     put: zmember lastModFileTime;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6938
        instVarNamed: #crc      put: zmember crc32;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6939
        instVarNamed: #size     put: zmember uncompressedSize;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6940
        instVarNamed: #csize    put: zmember compressedSize;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6941
        instVarNamed: #method   put: zmember compressionMethod;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6942
        instVarNamed: #extra    put: zmember extraField;
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6943
        instVarNamed: #comment  put: (zmember fileComment ifNotNil:[Java as_String: zmember fileComment]).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6944
        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6945
        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6946
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6947
    "Created: / 01-04-2011 / 13:04:24 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6948
    "Modified: / 29-04-2011 / 20:01:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6949
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6950
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6951
_java_util_zip_ZipEntry_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6952
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6953
    <javanative: 'java/util/zip/ZipEntry' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6954
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6955
        "hopefully nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6956
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6957
    "Created: / 01-04-2011 / 13:02:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6958
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6959
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6960
_java_util_zip_ZipFile_freeEntry: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6961
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6962
    <javanative: 'java/util/zip/ZipFile' name: 'freeEntry'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6963
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6964
    | zipArchiveIndex  zipEntryIndex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6965
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6966
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6967
    zipArchiveIndex := nativeContext at: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6968
    zipEntryIndex := nativeContext at: 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6969
    zipEntryIndex = 0 ifFalse: [ ZipEntryCache at: zipEntryIndex put: nil ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6970
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6971
    "Modified: / 01-05-2011 / 13:33:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6972
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6973
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6974
_java_util_zip_ZipFile_getCSize: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6975
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6976
    <javanative: 'java/util/zip/ZipFile' name: 'getCSize'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6977
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6978
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6979
    | jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6980
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6981
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6982
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6983
    ^zmember compressedSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6984
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6985
    "Created: / 30-04-2011 / 21:50:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6986
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  6987
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6988
_java_util_zip_ZipFile_getEntry: nativeContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6989
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6990
    <javanative: 'java/util/zip/ZipFile' name: 'getEntry'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6991
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  6992
    | zipArchive  filename  member |
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6993
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6994
    zipArchive := ZipCache at: (nativeContext at: 1).
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6995
    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
  6996
    member := (zipArchive findMember: filename).
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  6997
    member isNil 
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  6998
        ifTrue: [ ^ 0 ]
921
cf21839e2346 Fixes for System.in, System.out, System.err on Windows/SunJDK6
vranyj1
parents: 920
diff changeset
  6999
        ifFalse: [ ^ ZipEntryCache indexOf: (ZipEntryCache add: member) ].
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7000
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7001
    "Created: / 27-03-2011 / 16:59:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7002
    "Modified: / 01-04-2011 / 16:03:01 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7003
    "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
  7004
    "Modified: / 18-08-2011 / 19:44:56 / jv"
762
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7005
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7006
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7007
_java_util_zip_ZipFile_getMethod: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7008
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7009
    <javanative: 'java/util/zip/ZipFile' name: 'getMethod'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7010
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7011
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7012
    | jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7013
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7014
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7015
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7016
    ^zmember compressionMethod
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7017
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7018
    "Created: / 30-04-2011 / 21:53:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7019
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7020
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7021
_java_util_zip_ZipFile_getSize: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7022
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7023
    <javanative: 'java/util/zip/ZipFile' name: 'getSize'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7024
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7025
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7026
    | jzentry zmember |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7027
    jzentry := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7028
    zmember := ZipEntryCache at: jzentry.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7029
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7030
    ^zmember uncompressedSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7031
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7032
    "Created: / 30-04-2011 / 21:53:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7033
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7034
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7035
_java_util_zip_ZipFile_getTotal: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7036
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7037
    <javanative: 'java/util/zip/ZipFile' name: 'getTotal'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7038
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7039
    | zar |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7040
    zar := ZipCache at: (nativeContext at: 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7041
    ^ zar entries size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7042
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7043
    "Modified: / 01-05-2011 / 13:31:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7044
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7045
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7046
_java_util_zip_ZipFile_initIDs: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7047
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7048
    <javanative: 'java/util/zip/ZipFile' name: 'initIDs'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7049
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7050
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7051
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7052
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7053
    "Created: / 23-03-2011 / 19:37:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7054
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7055
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7056
_java_util_zip_ZipFile_open: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7057
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7058
    <javanative: 'java/util/zip/ZipFile' name: 'open'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7059
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7060
    | path  mode  lastModTime  result |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7061
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7062
    path := Java as_ST_String: (nativeContext at: 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7063
    mode := nativeContext at: 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7064
    lastModTime := nativeContext at: 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7065
    result := path asFilename.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7066
    result ifNil: [ JavaVM throwZipException ].
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7067
    ^[ 
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7068
        ZipCache indexOf: ( ZipCache add: (ZipArchive readingFrom: result readStream) ) 
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7069
    ] on: Error do:[:ex|
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7070
        self throwIOExceptionWithMessage: 'Cannot open zip file: ', ex description
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7071
    ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7072
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7073
    "Modified: / 01-04-2011 / 15:35:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 952
diff changeset
  7074
    "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
  7075
!
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7076
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7077
_java_util_zip_ZipFile_read: aJavaContext
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7078
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7079
    <javanative: 'java/util/zip/ZipFile' name: 'read'>
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7080
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7081
    
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7082
    | jzfile jzentry pos b off len zar zmember bytesToRead |
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7083
    jzfile := aJavaContext argAt: 1.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7084
    jzentry := aJavaContext argAt: 3. "first arg is long!!!!!!"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7085
    pos := aJavaContext argAt: 5. "jzentry arg is long!!!!!!"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7086
    b := aJavaContext argAt: 7.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7087
    off := aJavaContext argAt: 8.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7088
    len := aJavaContext argAt: 9.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7089
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7090
    zar := ZipCache at: jzfile.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7091
    zmember := ZipEntryCache at: jzentry.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7092
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7093
    bytesToRead := len min: (zmember compressedSize - pos).
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7094
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7095
    ^zar nextBytes: bytesToRead of: zmember startingAt: pos into: b startingAt: off + 1.
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7096
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7097
    "Created: / 30-04-2011 / 22:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d995915ebc0b Merged with /branches/jk
vranyj1
parents: 761
diff changeset
  7098
    "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
  7099
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7100
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7101
!JavaVM class methodsFor:'native - old-style'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7102
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7103
_AccessController_beginPrivileged:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7104
    "/ introduced with jdk1.2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7105
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7106
    "Created: / 27.1.1998 / 18:18:11 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7107
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7108
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7109
_AccessController_endPrivileged:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7110
    "/ introduced with jdk1.2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7111
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7112
    "Created: / 27.1.1998 / 18:18:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7113
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7114
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7115
_AudioDevice_audioClose:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7116
    |device fd stream|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7117
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7118
    device := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7119
    device notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7120
	fd := device instVarNamed:'dev'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7121
	(fd notNil and:[fd > 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7122
	    stream := self getOpenFileAt:fd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7123
	    stream notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7124
		stream close.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7125
		device instVarNamed:'dev' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7126
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7127
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7128
    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7129
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7130
    "Created: / 10.1.1998 / 15:45:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7131
    "Modified: / 13.1.1998 / 18:08:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7132
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7133
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7134
_AudioDevice_audioOpen:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7135
    |f stream fileNo|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7136
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7137
    NoAudio ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7138
	Transcript showCR:'JAVA: audio disabled'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7139
	^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7140
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7141
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7142
    Stream streamErrorSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7143
	Stream streamErrorSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7144
	    stream := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7145
	    ex return.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7146
	] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7147
	    stream := SoundStream writing.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7148
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7149
    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7150
	stream := SoundStream writing.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7151
	stream notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7152
	    stream setSampleRate:8000.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7153
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7154
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7155
    stream isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7156
"/        ^ -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7157
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7158
	f := '/dev/audio' asFilename.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7159
	f exists ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7160
	    Transcript showCR:'JAVA: neither SoundStream nor /dev/audio available'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7161
	    ^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7162
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7163
	stream := f readWriteStream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7164
	stream isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7165
	    Transcript showCR:'JAVA: /dev/audio exists, but cannot be opened'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7166
	    ^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7167
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7168
	fileNo := self addOpenFile:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7169
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7170
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7171
    fileNo := self addOpenFile:stream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7172
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7173
    FileOpenTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7174
	('JAVA: opened audioDevice as FD ' , fileNo printString) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7175
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7176
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7177
    ^ fileNo
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7178
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7179
    "Created: / 10.1.1998 / 15:45:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7180
    "Modified: / 14.10.1998 / 15:20:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7181
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7182
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7183
_AudioDevice_audioWrite:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7184
    |device fd stream bytes count|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7185
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7186
    device := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7187
    device notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7188
	fd := device instVarNamed:'dev'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7189
	(fd notNil and:[fd > 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7190
	    stream := self getOpenFileAt:fd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7191
	    stream notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7192
		bytes := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7193
		count := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7194
		stream nextPutBytes:count from:bytes startingAt:1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7195
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7196
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7197
    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7198
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7199
    "Created: / 10.1.1998 / 15:45:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7200
    "Modified: / 13.1.1998 / 18:07:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7201
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7202
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7203
_BigInteger_plumbInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7204
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7205
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7206
    "Modified: / 12.11.1998 / 19:23:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7207
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7208
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7209
_CMM_cmmGetTagSize:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7210
    "/ public static native synchronized int cmmGetTagSize (long arg1, int arg2, int[] arg3)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7211
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7212
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7213
    UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7214
    ^ -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7215
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7216
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7217
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7218
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7219
_CMM_cmmInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7220
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7221
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7222
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7223
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7224
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7225
_CMM_cmmLoadProfile:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7226
    "/ public static native synchronized int cmmLoadProfile (byte[] arg1, long[] arg2)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7227
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7228
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7229
    UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7230
    ^ -1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7231
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7232
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7233
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7234
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7235
_CRC32_update1:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7236
    "/ void update1 (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7237
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7238
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7239
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7240
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7241
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7242
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7243
_CRC32_update:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7244
    "/ void update (byte[] int int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7245
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7246
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7247
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7248
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7249
    "Created: / 27.1.2000 / 03:09:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7250
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7251
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7252
_ClassLoader_createArrayClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7253
    "java.lang.Class createArrayClass (java.lang.String java.lang.Class)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7254
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7255
    "resolve a new class as previously created by defineClass0"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7256
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7257
    |jClassLoader name elCls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7258
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7259
    jClassLoader := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7260
    name := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7261
    elCls := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7262
    elCls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7263
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7264
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7265
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7266
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7267
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7268
    "Modified: / 27.1.2000 / 02:36:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7269
    "Created: / 27.1.2000 / 02:56:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7270
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7271
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
  7272
_ClassLoader_defineClass0: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7273
    "create a new class from a given byteArray.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7274
     Here, construct a stream on it and pass the work to the
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7275
     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
  7276
    
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7277
    | jClassLoader  jName  data  offset  length  inStream  newClass  jClass |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7278
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7279
    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
  7280
    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
  7281
    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
  7282
    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
  7283
    length := nativeContext argAt: 4.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7284
    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
  7285
    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
  7286
    inStream readLimit: (offset + length).
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7287
    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
  7288
    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
  7289
        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
  7290
            log: '_ClassLoader_defineClass0: was not able to read given class'
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7291
            severity: #severe
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7292
            facility: #JavaVM.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7293
        self breakPoint: #mh.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7294
        ^ nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7295
    ].
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
  7296
    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
  7297
    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
  7298
    ^ jClass.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7299
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7300
    "Created: / 7.1.1998 / 12:35:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7301
    "Modified: / 24.1.1998 / 15:26:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7302
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7303
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7304
_ClassLoader_findSystemClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7305
    ^ self _ClassLoader_findSystemClass0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7306
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7307
    "Created: / 18.11.1998 / 00:00:14 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7308
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7309
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7310
_ClassLoader_getSystemResource:nativeContext asStream0:returnAsStream
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7311
    "common code for
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7312
        getSystemResourceAsStream0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7313
        getSystemResourceAsName0"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7314
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7315
    |jString rString dir file text inStream url|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7316
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7317
    jString := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7318
    rString := Java as_ST_String:jString.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7319
    Java effectiveClassPath keysAndValuesDo:[:classPathIndex :aPath |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7320
        |f zipFile zar data |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7321
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7322
        f := aPath asFilename.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7323
        ((zipFile := f withSuffix:'jar') exists 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7324
        or:[(zipFile := f withSuffix:'zip') exists]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7325
            zar := ZipArchive oldFileNamed:zipFile.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7326
            (Array 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7327
                with:rString
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7328
                with:rString asLowercase
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7329
                with:rString asUppercase) 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7330
            do:[:tryName |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7331
                |entry|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7332
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7333
                entry := zar findMember:tryName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7334
                entry notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7335
                    returnAsStream ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7336
                        data := zar extract:tryName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7337
                        inStream := (Java classForName:'java.io.ByteArrayInputStream') newCleared.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7338
                        inStream perform:#'<init>([B)V' with:data.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7339
                        ^ inStream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7340
                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7341
                    url := 'systemResource:/ZIP' , (classPathIndex-1) printString , '/+/' , tryName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7342
                    ^ Java as_String:url.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7343
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7344
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7345
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7346
            f exists ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7347
                (file := f construct:rString) exists ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7348
                    (Java isExcludedFromClassPath:file) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7349
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7350
                        "/ Copy data from returned buffer into Java byte array. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7351
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7352
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7353
                        returnAsStream ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7354
                            text := file contents asString.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7355
                            data := text asByteArray.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7356
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7357
                            "/ Create input stream using byte array 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7358
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7359
                            inStream := (Java classForName:'java.io.ByteArrayInputStream') newCleared.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7360
                            inStream perform:#'<init>([B)V' with:data.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7361
                            ^ inStream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7362
                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7363
                        url := 'systemResource:/FILE/' , file pathName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7364
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7365
                        ^ Java as_String:url
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7366
                    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7367
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7368
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7369
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7370
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7371
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7372
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7373
    "Created: / 08-01-1998 / 16:06:56 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7374
    "Modified: / 26-12-1998 / 17:14:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7375
    "Modified: / 22-11-2010 / 13:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7376
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7377
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7378
_ClassLoader_getSystemResourceAsName0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7379
    "/ java.lang.String getSystemResourceAsName0 (java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7380
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7381
    ^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7382
	_ClassLoader_getSystemResource:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7383
	asStream0:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7384
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7385
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7386
_ClassLoader_getSystemResourceAsStream0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7387
    "/ java.lang.InputStream getSystemResourceAsStream0 (java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7388
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7389
    ^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7390
	_ClassLoader_getSystemResource:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7391
	asStream0:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7392
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7393
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7394
_ClassLoader_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7395
     ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7396
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7397
    "Created: / 5.1.1998 / 02:04:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7398
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7399
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7400
_ClassLoader_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7401
    "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7402
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7403
    "Created: / 27.1.1998 / 18:37:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7404
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7405
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
  7406
_ClassLoader_resolveClass0: nativeContext 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7407
    "resolve a new class as previously created by defineClass0"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7408
    
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
  7409
    | jClassLoader  jCls  cls anyUnresolved |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7410
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7411
    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
  7412
    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
  7413
    jCls isNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7414
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7415
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7416
    ].
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
  7417
    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
  7418
    cls isNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7419
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7420
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7421
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7422
    ('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
  7423
    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
  7424
        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
  7425
        "correct this so it works with new resolving"
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7426
        self breakPoint:#mh.
5badd1d31864 introduced JavaClassRegistry, taken loading responsibilities from JavaClassReader, got rid of stringConstants and started using StringRefs.. Bugs very likely :)
hlopkmar
parents: 1024
diff changeset
  7427
            JavaClassReader resolveClass: cls.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7428
            
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7429
"/        JavaClassReader postLoadActions:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7430
            
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7431
            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
  7432
            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
  7433
                :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
  7434
                (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
  7435
                    self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7436
                    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
  7437
                    self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7438
                    anyUnresolved := true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7439
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7440
            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7441
        ].
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
  7442
    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
  7443
        jClassLoader notNil ifTrue: [
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7444
            "/ 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
  7445
            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
  7446
                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
  7447
                    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
  7448
                        :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
  7449
                        (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
  7450
                            self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7451
                            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
  7452
                            self halt: 'debugHalt'.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7453
                        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7454
                    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7455
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7456
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7457
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7458
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7459
    "Created: / 07-01-1998 / 13:12:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7460
    "Modified: / 20-10-1998 / 19:01:57 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7461
    "Modified: / 28-01-2011 / 15:28:18 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7462
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7463
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7464
_ClassLoader_resolveClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7465
    "void resolveClass (java.lang.Class)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7466
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7467
    "resolve a new class as previously created by defineClass0"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7468
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7469
    |jClassLoader jCls cls loaderStub anyUnresolved|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7470
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7471
    jClassLoader := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7472
    jCls := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7473
    jCls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7474
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7475
        ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7476
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7477
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7478
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7479
    "Modified: / 27.1.2000 / 02:36:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7480
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7481
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7482
_Class_forName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7483
    "get a java.lang.Class by name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7484
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7485
    |jClassName className cls jClass s m c loader|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7486
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7487
    jClassName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7488
    className := Java as_ST_String:jClassName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7489
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7490
    (s := nativeContext sender) notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7491
	(s isJavaContext) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7492
	    c := s method javaClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7493
	    loader := c classLoader.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7494
	    loader isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7495
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7496
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7497
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7498
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7499
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7500
    JavaClassReader classLoaderQuerySignal answer:loader
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7501
    do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7502
	cls := Java classForName:className.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7503
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7504
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7505
"/(className startsWith:'sun.awt') ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7506
"/('classForName: ' , className , ' -> ') print.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7507
"/cls notNil ifTrue:[cls fullName printCR] ifFalse:['nil' printCR].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7508
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7509
    cls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7510
	ExceptionTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7511
	    ('throwing exception: no such class:' , className) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7512
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7513
	ExceptionDebug ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7514
	    self halt:'no such class:' , className.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7515
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7516
	self throwClassNotFoundException:className.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7517
	"/ not proceedable
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7518
	AbortSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7519
	"/ not reached
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7520
	^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7521
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7522
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7523
    ^ self javaClassObjectForClass:cls.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7524
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7525
    "Modified: / 30.12.1998 / 20:12:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7526
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7527
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7528
_Class_getClassLoader:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7529
    "get a classes loader"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7530
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7531
    |jClass cls loader|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7532
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7533
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7534
    cls := self reflection classForJavaClassObject:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7535
    loader := cls classLoader.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7536
    cls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7537
        loader := JavaClassReader classLoaderQuerySignal query.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7538
        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7539
"/    ('JAVA: getClassLoader - ' , loader printString) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7540
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7541
    ^ loader
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7542
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7543
    "Created: / 05-01-1998 / 02:51:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7544
    "Modified: / 04-01-1999 / 17:50:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7545
    "Modified: / 28-01-2011 / 15:18:57 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7546
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7547
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7548
_Class_getConstructor0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7549
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7550
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7551
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7552
    "Created: / 12.11.1998 / 18:55:42 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7553
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7554
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7555
_Class_getConstructors0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7556
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7557
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7558
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7559
    "Created: / 12.11.1998 / 18:55:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7560
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7561
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7562
_Class_getField0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7563
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7564
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7565
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7566
    "Created: / 12.11.1998 / 18:55:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7567
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7568
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7569
_Class_getFields0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7570
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7571
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7572
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7573
    "Created: / 12.11.1998 / 18:55:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7574
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7575
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7576
_Class_getMethod0:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7577
    "get a method, given a name and type spec"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7578
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7579
    |jClass cls jmName mName mTypes whichAccess argSig sel|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7580
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7581
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7582
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7583
    jmName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7584
    mName := Java as_ST_String:jmName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7585
    mTypes := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7586
    whichAccess := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7587
    argSig := JavaMethod argSignatureFromArgTypeArray:mTypes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7588
    cls methodDictionary 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7589
        keysAndValuesDo:[:sel :mthd | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7590
            |i1 i2 jMethod retTypeClass argTypes|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7591
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7592
            JavaMethods notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7593
                (jMethod := JavaMethods at:mthd ifAbsent:nil) notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7594
                    ^ jMethod
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7595
                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7596
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7597
            mthd name printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7598
            mName printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7599
            mthd name = mName ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7600
                i1 := mthd signature indexOf:$(.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7601
                i2 := mthd signature indexOf:$) startingAt:(i1 + 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7602
                (mthd signature copyFrom:i1 + 1 to:i2 - 1) = argSig ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7603
                    "/ found it - create a java.lang.reflect.Method for it.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7604
                    jMethod := (Java at:'java.lang.reflect.Method') new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7605
                    jMethod instVarNamed:'clazz' put:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7606
                    jMethod instVarNamed:'slot' put:sel.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7607
                    jMethod instVarNamed:'name' put:jmName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7608
                    retTypeClass := mthd returnTypeClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7609
                    retTypeClass isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7610
                        retTypeClass := #void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7611
                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7612
                    argTypes := mthd argSignature.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7613
                    argTypes := argTypes 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7614
                                collect:[:s | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7615
                                    |c|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7616
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7617
                                    c := Java at:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7618
                                    self javaClassObjectForClass:(c ? s asSymbol)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7619
                                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7620
                    jMethod instVarNamed:'returnType'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7621
                        put:(self javaClassObjectForClass:retTypeClass).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7622
                    jMethod instVarNamed:'parameterTypes' put:argTypes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7623
                    JavaMethods isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7624
                        JavaMethods := IdentityDictionary new
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7625
                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7626
                    JavaMethods at:jMethod put:mthd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7627
                    JavaMethods at:mthd put:jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7628
                    ^ jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7629
                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7630
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7631
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7632
    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7633
    self throwExceptionClassName:'java.lang.NoSuchMethodException'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7634
        withMessage:'not yet implemented'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7635
    ^ nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7636
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7637
    "Modified: / 22-10-1998 / 01:54:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7638
    "Modified: / 28-01-2011 / 14:36:26 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7639
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7640
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7641
_Class_getMethods0:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7642
    "get a method, given a name and type spec"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7643
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7644
    |jClass cls jmName mTypes whichAccess argSig sel methods|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7645
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7646
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7647
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7648
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7649
    "/ 0 = PUBLIC (i.e. includes inherited) / 1 = DECLARED here
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7650
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7651
    whichAccess := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7652
    methods := OrderedCollection new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7653
    [cls isJavaClass] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7654
        cls methodDictionary 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7655
            keysAndValuesDo:[:sel :mthd | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7656
                |i1 i2 jMethod argTypes retTypeClass|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7658
                mthd name printCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7659
                i1 := mthd signature indexOf:$(.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7660
                i2 := mthd signature indexOf:$) startingAt:(i1 + 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7661
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7662
                "/ create a java.lang.reflect.Method for it.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7663
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7664
                jMethod := (Java at:'java.lang.reflect.Method') new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7665
                jMethod instVarNamed:'clazz' put:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7666
                jMethod instVarNamed:'slot' put:sel.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7667
                jMethod instVarNamed:'name' put:(Java as_String:mthd name).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7668
                retTypeClass := mthd returnTypeClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7669
                retTypeClass isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7670
                    retTypeClass := #void
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7671
                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7672
                argTypes := mthd argSignature.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7673
                argTypes := argTypes 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7674
                            collect:[:s | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7675
                                |c|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7676
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7677
                                c := Java at:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7678
                                self javaClassObjectForClass:(c ? s asSymbol)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7679
                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7680
                jMethod instVarNamed:'returnType'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7681
                    put:(self javaClassObjectForClass:retTypeClass).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7682
                jMethod instVarNamed:'parameterTypes' put:argTypes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7683
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7684
"/ (mthd name includesString:'setName') ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7685
                
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7686
                JavaMethods isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7687
                    JavaMethods := IdentityDictionary new
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7688
                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7689
                JavaMethods at:jMethod put:mthd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7690
                JavaMethods at:mthd put:jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7691
                methods add:jMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7692
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7693
        whichAccess == 1 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7694
            "/ local methods only
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7695
            cls := nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7696
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7697
            cls := cls superclass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7698
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7699
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7700
    methods := methods asArray.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7701
    ^ methods.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7702
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7703
    "Modified: / 22-10-1998 / 01:53:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7704
    "Modified: / 28-01-2011 / 14:36:58 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7705
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7706
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7707
_Class_getName:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7708
    "get a classes name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7709
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7710
    |jClass cls nm|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7711
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7712
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7713
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7714
    cls isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7715
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7716
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7717
    cls isJavaClass ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7718
        nm := (cls fullName copyReplaceAll:$/ with:$.)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7719
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7720
        cls isSymbol ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7721
            nm := cls
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7722
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7723
            nm := cls name
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7724
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7725
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7726
    ^ Java as_String:nm.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7727
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7728
    "Modified: / 30-12-1998 / 21:13:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7729
    "Modified: / 28-01-2011 / 15:30:34 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7730
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7731
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7732
_Class_getSigners:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7733
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7734
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7735
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7736
    "Created: / 12.11.1998 / 18:55:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7737
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7738
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7739
_Class_newInstance:nativeContext 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7740
    "get an instance for a java.lang.Class"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7741
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7742
    |jClass cls newInst|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7743
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7744
    jClass := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7745
    cls := self reflection javaClassObjectForClass:jClass.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7746
    cls classInit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7747
    newInst := cls newCleared.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7748
    newInst perform:#'<init>()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7749
    ^ newInst
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7750
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7751
    "Created: / 02-01-1998 / 22:41:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7752
    "Modified: / 15-01-1998 / 00:57:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7753
    "Modified: / 28-01-2011 / 14:12:25 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7754
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7755
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7756
_Class_setSigners:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7757
    UnimplementedNativeMethodSignal raiseRequest
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7758
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7759
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7760
    "Created: / 12.11.1998 / 18:55:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7761
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  7762
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  7763
_ColorModel_deletepData:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  7764
    "/ void deletepData ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  7765
    UnimplementedNativeMethodSignal raiseRequest
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  7766
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  7767
    "Created: / 12.11.1998 / 19:22:05 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7768
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7769
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7770
_ColorModel_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7771
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7772
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7773
    "Created: / 28.1.1998 / 22:19:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7774
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7775
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7776
_Constructor_getModifiers:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7777
    "/ int getModifiers ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7778
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7779
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7780
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7781
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7782
    "Created: / 27.1.2000 / 02:54:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7783
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7784
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7785
_Constructor_newInstance:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7786
    "/ java.lang.Object newInstance (java.lang.Object[])
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7787
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7788
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7789
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7790
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7791
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7792
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7793
_Double_doubleToLongBits:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7794
    |f i|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7795
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7796
    f := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7797
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7798
    UninterpretedBytes isBigEndian ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7799
	i := f basicAt:8. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7800
	i := i bitOr:((f basicAt:7) bitShift:8).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7801
	i := i bitOr:((f basicAt:6) bitShift:16).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7802
	i := i bitOr:((f basicAt:5) bitShift:24).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7803
	i := i bitOr:((f basicAt:4) bitShift:32).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7804
	i := i bitOr:((f basicAt:3) bitShift:40).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7805
	i := i bitOr:((f basicAt:2) bitShift:48).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7806
	i := i bitOr:((f basicAt:1) bitShift:56).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7807
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7808
	i := f basicAt:1. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7809
	i := i bitOr:((f basicAt:2) bitShift:8).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7810
	i := i bitOr:((f basicAt:3) bitShift:16).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7811
	i := i bitOr:((f basicAt:4) bitShift:24).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7812
	i := i bitOr:((f basicAt:5) bitShift:32).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7813
	i := i bitOr:((f basicAt:6) bitShift:40).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7814
	i := i bitOr:((f basicAt:7) bitShift:48).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7815
	i := i bitOr:((f basicAt:8) bitShift:56).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7816
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7817
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7818
    ^ i.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7819
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7820
    "Created: / 4.1.1998 / 01:39:12 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7821
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7822
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7823
_Double_valueOf0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7824
    |s d|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7825
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7826
    s := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7827
    s notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7828
	s := Java as_ST_String:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7829
	d := Float readFrom:s onError:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7830
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7831
    d isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7832
	self throwNumberFormatException.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7833
	"/ not reached
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7834
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7835
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7836
    ^ d
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7837
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7838
    "Modified: / 8.8.1997 / 12:03:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7839
    "Created: / 7.1.1998 / 11:09:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7840
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7841
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7842
_Field_get:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7843
    "/ java.lang.Object get (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7844
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7845
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7846
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7847
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7848
    "Created: / 27.1.2000 / 03:04:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7849
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7850
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7851
_Field_getBoolean:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7852
    "/ boolean getBoolean (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7853
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7854
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7855
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7856
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7857
    "Created: / 27.1.2000 / 03:05:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7858
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7859
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7860
_Field_getByte:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7861
    "/ byte getByte (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7862
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7863
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7864
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7865
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7866
    "Created: / 27.1.2000 / 03:05:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7867
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7868
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7869
_Field_getChar:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7870
    "/ char getChar (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7871
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7872
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7873
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7874
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7875
    "Created: / 27.1.2000 / 03:03:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7876
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7877
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7878
_Field_getDouble:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7879
    "/ double getDouble (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7880
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7881
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7882
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7883
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7884
    "Created: / 27.1.2000 / 03:07:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7885
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7886
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7887
_Field_getFloat:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7888
    "/ float getFloat (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7889
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7890
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7891
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7892
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7893
    "Created: / 27.1.2000 / 03:05:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7894
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7895
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7896
_Field_getInt:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7897
    "/ int getInt (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7898
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7899
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7900
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7901
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7902
    "Created: / 27.1.2000 / 03:04:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7903
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7904
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7905
_Field_getLong:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7906
    "/ long getLong (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7907
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7908
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7909
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7910
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7911
    "Created: / 27.1.2000 / 03:05:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7912
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7913
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7914
_Field_getModifiers:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7915
    "/ int getModifiers ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7916
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7917
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7918
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7919
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7920
    "Created: / 27.1.2000 / 03:07:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7921
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7922
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7923
_Field_getShort:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7924
    "/ unsigned short getShort (java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7925
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7926
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7927
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7928
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7929
    "Created: / 27.1.2000 / 03:07:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7930
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7931
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7932
_Field_set:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7933
    "/ void set (java.lang.Object java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7934
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7935
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7936
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7937
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7938
    "Created: / 27.1.2000 / 03:04:33 / cg"
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
_Field_setBoolean:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7942
    "/ void setBoolean (java.lang.Object boolean)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7943
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7944
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7945
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7946
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7947
    "Created: / 27.1.2000 / 03:06:06 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7948
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7949
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7950
_Field_setByte:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7951
    "/ void setByte (java.lang.Object byte)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7952
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7953
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7954
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7955
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7956
    "Created: / 27.1.2000 / 03:06:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7957
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7958
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7959
_Field_setChar:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7960
    "/ void setChar (java.lang.Object char)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7961
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7962
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7963
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7964
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7965
    "Created: / 27.1.2000 / 03:03:48 / cg"
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
_Field_setDouble:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7969
    "/ void setDouble (java.lang.Object double)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7970
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7971
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7972
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7973
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7974
    "Created: / 27.1.2000 / 03:04:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7975
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7976
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7977
_Field_setFloat:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7978
    "/ void setFloat (java.lang.Object float)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7979
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7980
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7981
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7982
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7983
    "Created: / 27.1.2000 / 03:06:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7984
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7985
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7986
_Field_setInt:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7987
    "/ void setInt (java.lang.Object int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7988
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7989
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7990
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7991
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7992
    "Created: / 27.1.2000 / 03:05:04 / 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
_Field_setLong:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7996
    "/ void setLong (java.lang.Object long)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7997
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7998
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  7999
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8000
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8001
    "Created: / 27.1.2000 / 03:06:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8002
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8003
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8004
_Field_setShort:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8005
    "/ void setShort (java.lang.Object unsigned short)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8006
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8007
UnimplementedNativeMethodSignal raiseRequest.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8008
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8009
    "Modified: / 27.1.2000 / 02:53:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8010
    "Created: / 27.1.2000 / 03:03:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8011
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8012
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8013
_FileDescriptor_initSystemFD:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8014
    |descriptor fileNo idx myStream|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8015
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8016
    descriptor := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8017
    fileNo := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8018
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8019
    fileNo == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8020
	myStream := Stdin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8021
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8022
	fileNo == 1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8023
	   myStream := JavaConsoleStream ? Stdout
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8024
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8025
	    fileNo == 2 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8026
		myStream := JavaConsoleStream ? Stderr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8027
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8028
		self halt:'invalid fileNo given'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8029
		self internalError:'invalid fileNo given'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8030
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8031
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8032
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8034
    self setOpenFile:myStream at:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8035
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8036
    descriptor instVarNamed:'fd' put:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8037
    ^ descriptor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8038
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8039
    "Modified: / 27.1.1998 / 18:15:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8040
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8041
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8042
_FileDescriptor_valid:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8043
    "/ boolean valid ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8044
    |descriptor fileNo stream|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8045
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8046
    descriptor := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8047
    fileNo := descriptor instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8048
    stream := self getOpenFileAt:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8049
    stream isNil ifTrue:[^ 0]. "/ FALSE 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8050
    stream isOpen ifFalse:[^ 0].  "/ FALSE 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8051
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8052
    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8053
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8054
    "Modified: / 11.12.1998 / 13:02:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8055
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8056
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8057
_FileInputStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8058
    ^ self anyStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8059
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8060
    "Created: / 4.1.1998 / 17:45:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8061
    "Modified: / 4.2.1998 / 15:20:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8062
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8063
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8064
_FileInputStream_skip:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8065
    "/ long skip (long)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8066
    |file nSkip nSkipped|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8067
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8068
    file := self validateFile:(nativeContext receiver).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8069
    nSkip := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8070
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8071
    file == Stdin ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8072
	file := StdinReplacementFileQuerySignal raiseRequest.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8073
	file isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8074
	    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8075
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8076
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8078
    FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8079
	(('JAVA: skip %1 byte(s) from ' bindWith:nSkip printString) , file pathName) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8080
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8081
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8082
    file skip:nSkip.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8083
    ^ nSkip
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8084
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8085
    "Modified: / 27.1.1999 / 20:36:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8086
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8087
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8088
_FileOutputStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8089
    ^ self anyStream_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8090
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8091
    "Created: / 13.1.1998 / 09:33:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8092
    "Modified: / 4.2.1998 / 15:20:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8093
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8094
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8095
_File_canRead0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8096
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8097
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8098
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8099
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8100
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8101
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8102
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8103
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8104
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8105
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8106
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8107
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8108
	(f := path asFilename) isReadable ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8109
	    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8110
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8111
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8112
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8113
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8114
    "Created: / 4.1.1998 / 18:09:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8115
    "Modified: / 27.1.1999 / 18:57:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8116
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8117
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8118
_File_canWrite0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8119
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8120
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8121
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8122
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8123
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8124
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8125
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8126
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8127
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8128
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8129
	(f := path asFilename) isWritable ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8130
	    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8131
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8132
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8133
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8134
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8135
    "Created: / 4.2.1998 / 00:19:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8136
    "Modified: / 27.1.1999 / 18:57:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8137
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8138
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8139
_File_canonPath:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8140
    "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8141
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8142
    |jPath path realPath|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8143
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8144
    jPath := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8145
    jPath isNil ifTrue:[^ jPath].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8146
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8147
    path := Java as_ST_String:jPath.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8148
    realPath := path asFilename pathName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8149
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8150
    ^ Java as_String:realPath
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8151
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8152
    "Created: / 27.1.1998 / 18:35:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8153
    "Modified: / 27.1.1998 / 21:36:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8154
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8155
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8156
_File_delete0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8157
    "/ boolean delete0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8158
    |oldFile oldPath oldF|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8159
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8160
    oldFile := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8161
    oldPath := oldFile instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8162
    oldPath isNil ifTrue:[^ 0].    "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8163
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8164
    oldPath := Java as_ST_String:oldPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8165
    oldF := oldPath asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8167
    oldF exists ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8168
	^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8169
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8170
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8171
    (self checkWritePermissionOfDirectory:oldF directory message:('JAVA Security check\\Delete of ''' , oldPath , '''.\Grant permission ?'))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8172
    ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8173
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8174
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8176
    OperatingSystem accessDeniedErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8177
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8178
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8179
	oldF delete.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8180
	^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8181
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8182
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8183
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8184
    "Modified: / 30.12.1998 / 20:15:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8185
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8186
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8187
_File_exists0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8188
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8189
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8190
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8191
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8192
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8193
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8194
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8195
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8196
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8197
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8198
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8199
	    ^ 1 "TRUE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8200
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8201
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8202
    ^ 0 "FALSE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8203
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8204
    "Created: / 5.1.1998 / 02:07:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8205
    "Modified: / 27.1.1999 / 18:57:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8206
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8207
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8208
_File_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8209
    "/ introduced with jdk1.2 ... (sigh)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8210
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8211
    "Created: / 27.1.1998 / 18:25:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8212
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8213
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8214
_File_isAbsolute:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8215
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8216
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8217
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8218
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8219
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8220
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8221
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8222
	(f := path asFilename) isAbsolute ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8223
	    ^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8224
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8225
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8226
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8227
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8228
    "Created: / 11.1.1998 / 09:54:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8229
    "Modified: / 20.10.1998 / 20:59:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8230
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8231
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8232
_File_isDirectory0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8233
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8234
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8235
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8236
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8237
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8238
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8239
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8240
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8241
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8242
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8243
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8244
	    f isDirectory ifTrue:[^ 1 "TRUE"]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8245
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8246
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8247
    ^ 0 "FALSE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8248
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8249
    "Created: / 7.1.1998 / 10:31:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8250
    "Modified: / 27.1.1999 / 18:58:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8251
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8253
_File_isFile0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8254
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8256
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8257
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8258
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8259
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8260
	    path storeString print. ' ' print. thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8261
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8262
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8263
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8264
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8265
	    f isDirectory ifFalse:[^ 1 "TRUE"]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8266
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8267
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8268
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8269
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8270
    "Created: / 11.1.1998 / 11:40:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8271
    "Modified: / 27.1.1999 / 18:58:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8272
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8273
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8274
_File_lastModified0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8275
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8276
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8277
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8278
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8279
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8280
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8281
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8282
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8283
	    ^ f modificationTime getMilliseconds.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8284
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8285
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8286
    ^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8287
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8288
    "Created: / 4.2.1998 / 16:50:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8289
    "Modified: / 20.10.1998 / 21:00:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8290
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8291
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8292
_File_length0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8293
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8294
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8295
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8296
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8297
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8298
	FileAccessTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8299
	    thisContext printCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8300
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8301
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8302
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8303
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8304
	    ^ f fileSize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8305
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8306
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8307
    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8308
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8309
    "Created: / 7.1.1998 / 12:18:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8310
    "Modified: / 27.1.1999 / 18:57:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8311
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8312
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8313
_File_list0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8314
    |file path f files|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8315
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8316
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8317
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8318
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8319
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8320
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8321
	(f := path asFilename) exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8322
	    f isDirectory ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8323
		files := f directoryContents asArray.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8324
		files := files collect:[:nm | Java as_String:nm].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8325
		^ files
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8326
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8327
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8328
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8329
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8330
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8331
    "Created: / 14.1.1998 / 21:30:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8332
    "Modified: / 20.10.1998 / 21:00:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8333
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8334
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8335
_File_mkdir0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8336
    |file path f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8337
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8338
    file := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8339
    path := file instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8340
    path notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8341
	path := Java as_ST_String:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8342
	path := self fixFilename:path.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8343
	f := path asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8344
	(f exists and:[f isDirectory]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8345
	    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8346
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8347
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8348
	FileOpenConfirmation ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8349
	    (self confirm:('JAVA Security check\\Create directory ''' , path , '''.\Grant permission ?') withCRs)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8350
	    ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8351
		^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8352
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8353
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8354
	OperatingSystem accessDeniedErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8355
	    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8356
	] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8357
	    f makeDirectory.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8358
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8359
	f  exists ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8360
	    f isDirectory ifTrue:[^ 1 "TRUE"]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8361
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8362
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8363
    ^ 0 "FALSE"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8364
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8365
    "Created: / 4.2.1998 / 00:19:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8366
    "Modified: / 4.12.1998 / 14:04:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8367
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8368
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8369
_File_renameTo0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8370
    "/ void renameTo0 (java.io.File)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8371
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8372
    |oldFile newFile oldPath newPath oldF newF|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8373
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8374
    oldFile := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8375
    oldPath := oldFile instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8376
    oldPath isNil ifTrue:[^ 0].    "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8378
    oldPath := Java as_ST_String:oldPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8379
    oldF := oldPath asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8380
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8381
    newFile := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8382
    newPath := newFile instVarNamed:'path'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8383
    newPath isNil ifTrue:[^ 0].    "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8384
    newPath := Java as_ST_String:newPath.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8385
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8386
    newF := newPath asFilename.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8387
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8388
    (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
  8389
    ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8390
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8391
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8392
    oldF directory pathName ~= newF directory pathName ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8393
	(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
  8394
	ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8395
	    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8396
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8397
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8398
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8399
    OperatingSystem accessDeniedErrorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8400
	^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8401
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8402
	oldF renameTo:newF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8403
	^ 1 "/ TRUE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8404
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8405
    ^ 0 "/ FALSE
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8407
    "Modified: / 3.12.1998 / 21:01:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8408
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8409
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8410
_File_rmdir0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8411
    "/ boolean rmdir0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8412
    UnimplementedNativeMethodSignal raiseRequest
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8413
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8414
    "Modified: / 12.11.1998 / 19:01:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8415
    "Created: / 12.11.1998 / 19:03:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8416
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8417
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8418
_Float_floatToIntBits:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8419
    |f i|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8421
    f := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8422
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8423
    UninterpretedBytes isBigEndian ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8424
	i := f basicAt:4. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8425
	i := i bitOr:((f basicAt:3) bitShift:8).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8426
	i := i bitOr:((f basicAt:2) bitShift:16).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8427
	i := i bitOr:((f basicAt:1) bitShift:24).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8428
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8429
	i := f basicAt:1. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8430
	i := i bitOr:((f basicAt:2) bitShift:8).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8431
	i := i bitOr:((f basicAt:3) bitShift:16).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8432
	i := i bitOr:((f basicAt:4) bitShift:24).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8433
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8434
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8435
    ^ i.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8436
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8437
    "Created: / 4.1.1998 / 01:25:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8438
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  8439
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8440
_FontDescriptor_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8441
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8442
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8443
    "Created: / 28.1.1998 / 22:30:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8444
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8445
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8446
_Font_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8447
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8448
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8449
    "Created: / 27.1.1998 / 21:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8450
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8451
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8452
_GifImageDecoder_parseImage:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8453
    |decoder width height bool1 depth subHdrBytes dstBytes i1 i2 colorModel
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8454
     stream byte compressedData compressedSize index count data 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8455
     leftOffs topOffs codeLen flags pixelStore clrModel t buffSize 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8456
     countGot countGot2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8457
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8458
    decoder := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8459
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8460
    i1 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8461
    i2 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8462
    width := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8463
    height := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8464
    bool1 := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8465
    depth := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8466
    subHdrBytes := nativeContext argAt:7.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8467
    dstBytes := nativeContext argAt:8.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8468
    colorModel := nativeContext argAt:9.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8469
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8470
    leftOffs := subHdrBytes wordAt:1 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8471
    topOffs := subHdrBytes wordAt:3 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8472
    width := subHdrBytes wordAt:5 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8473
    height := subHdrBytes wordAt:7 MSB:false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8474
    flags := subHdrBytes at:9.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8475
    codeLen := subHdrBytes at:10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8476
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8477
    stream := decoder instVarNamed:'input'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8478
    pixelStore := decoder instVarNamed:'store'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8479
    pixelStore isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8480
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8481
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8482
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8483
    buffSize := (width * height // 2) max:4096.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8484
    compressedData := ByteArray uninitializedNew:buffSize.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8485
    "get compressed data"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8486
    index := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8487
    count := stream perform:#'read()I'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8488
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8489
    [count notNil and:[count > 0]] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8490
	(index + count) > buffSize ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8491
	    t := ByteArray uninitializedNew:(buffSize * 2).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8492
	    t replaceFrom:1 to:buffSize with:compressedData startingAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8493
	    compressedData := t.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8494
	    buffSize := buffSize * 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8495
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8496
	[count ~~ 0] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8497
	    countGot := stream 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8498
			perform:#'read([BII)I' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8499
			with:compressedData
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8500
			with:index-1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8501
			with:count.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8502
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8503
	    countGot > 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8504
		count := count - countGot.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8505
		index := index + countGot.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8506
	    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8507
		count := -1.
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
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8511
	count >= 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8512
	    count := stream perform:#read.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8513
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8514
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8515
    compressedSize := index - 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8516
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8517
    data := pixelStore perform:#'allocateLines(I)Ljava/lang/Object;' with:height.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8518
    (data isMemberOf:ByteArray) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8519
	self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8520
	^ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8521
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8522
"/    'GIFReader: decompressing ...' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8523
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8524
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8525
    GIFReader 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8526
	decompressGIFFrom:compressedData
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8527
	count:compressedSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8528
	into:data
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8529
	startingAt:1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8530
	codeLen:(codeLen + 1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8531
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8532
    clrModel := pixelStore instVarNamed:'colormodel'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8533
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8534
    pixelStore 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8535
	perform:#'setPixels(IIII[BII)Z'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8536
	withArguments:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8537
	    (Array 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8538
		with:0        "/ x
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8539
		with:0        "/ y
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8540
		with:width    "/ w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8541
		with:height   "/ h
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8542
		with:data
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8543
		with:0        "/ offs
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8544
		with:width).   "/ scanSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8545
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8546
    pixelStore  perform:#'imageComplete()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8547
"/        perform:#'imageComplete(I)V' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8548
"/        with:((Java at:'java.awt.image.ImageConsumer') instVarNamed:'STATICIMAGEDONE').
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8549
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8550
"/ self internalError:'breakPoint'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8551
    ^ 1 "/ true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8552
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8553
    "Modified: / 10.4.1998 / 14:31:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8554
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8555
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8556
_ImageRepresentation_disposeImage:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8557
    |imgRep img|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8558
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8559
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8560
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8561
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8562
    (img notNil and:[img ~~ 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8563
	ImageStretchCache notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8564
	    ImageStretchCache removeKey:img ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8565
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8566
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8567
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8568
    imgRep instVarNamed:'pData' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8569
"/    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8570
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8571
    "Created: / 7.1.1998 / 22:31:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8572
    "Modified: / 17.1.1998 / 13:26:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8573
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8574
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8575
_ImageRepresentation_finish:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8576
    |imgRep bool|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8577
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8578
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8579
    bool := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8580
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8581
"/    'JAVA: ImageRepresentation_finish ignored for now' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8582
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8583
    ^ 1 "/ true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8584
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8585
    "Created: / 8.1.1998 / 00:11:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8586
    "Modified: / 6.2.1998 / 02:12:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8587
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8589
_ImageRepresentation_imageDraw:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8590
    |imgRep x y img deviceImage jGraphics gc clr|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8591
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8592
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8593
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8594
    (img isNil or:[img == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8595
	"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8596
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8597
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8598
    jGraphics := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8599
    gc := jGraphics instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8600
    gc realized ifFalse:[^ self].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8601
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8602
    x := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8603
    y := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8604
    clr := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8605
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8606
    deviceImage := img onDevice:gc device.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8607
    deviceImage ~~ img ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8608
	imgRep instVarNamed:'pData' put:deviceImage.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8609
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8610
    gc realized ifFalse:[^ self].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8611
    deviceImage displayOn:gc x:x y:y.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8612
    ^ 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8613
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8614
    "Created: / 13.1.1998 / 13:32:28 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8615
    "Modified: / 25.11.1998 / 15:36:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8616
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8617
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8618
_ImageRepresentation_imageStretch:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8619
    |imgRep x1 y1 x2 y2 srcX1 srcY1 w h 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8620
     img deviceImage jGraphics gc clr stretchWidth stretchHeight|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8621
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8622
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8623
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8624
    (img isNil or:[img == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8625
	"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8626
	^ self.
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
    jGraphics := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8630
    gc := jGraphics instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8631
    gc realized ifFalse:[^ self].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8632
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8633
    x1 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8634
    y1 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8635
    x2 := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8636
    y2:= nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8637
    srcX1 := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8638
    srcY1 := nativeContext argAt:7.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8639
    w := nativeContext argAt:8.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8640
    h := nativeContext argAt:9.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8641
    clr := nativeContext argAt:10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8642
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8643
    (srcX1 ~~ 0 or:[srcY1 ~~ 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8644
	self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8645
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8646
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8647
    (w ~~ img width or:[h ~~ img height]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8648
	self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8649
	^ self
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8650
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8651
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8652
    "/ TODO: remember magnified images somewhere for a while,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8653
    "/ to avoid repeated action ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8654
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8655
    stretchWidth := (x2-x1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8656
    stretchHeight := (y2-y1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8658
    (stretchWidth == img width
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8659
    and:[stretchHeight == img height]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8660
	deviceImage := img onDevice:gc device.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8661
	deviceImage ~~ img ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8662
	    imgRep instVarNamed:'pData' put:deviceImage.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8663
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8664
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8665
	ImageStretchCache notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8666
	    deviceImage := ImageStretchCache at:img ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8667
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8668
	(deviceImage isNil 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8669
	or:[deviceImage width ~~ stretchWidth
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8670
	or:[deviceImage height ~~ stretchHeight]]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8671
	    deviceImage := (img magnifiedTo:stretchWidth@stretchHeight) onDevice:gc device.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8672
	    ImageStretchCache isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8673
		ImageStretchCache := WeakIdentityDictionary new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8674
	    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8675
	    ImageStretchCache at:img put:deviceImage
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8676
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8677
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8678
    deviceImage displayOn:gc x:x1 y:y1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8679
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8680
    "Created: / 13.1.1998 / 13:32:28 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8681
    "Modified: / 15.1.1998 / 13:14:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8682
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8683
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8684
_ImageRepresentation_offscreenInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8685
    |imgRep jclr w h form screenDevice|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8686
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8687
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8688
    jclr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8689
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8690
    w := imgRep instVarNamed:'width'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8691
    h := imgRep instVarNamed:'height'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8692
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8693
    screenDevice := Screen current.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8694
    form := Form width:w height:h depth:(screenDevice depth) on:screenDevice.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8695
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8696
    imgRep instVarNamed:'pData' put:form.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8697
    "/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8698
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8699
    "Created: / 7.1.1998 / 22:31:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8700
    "Modified: / 17.1.1998 / 12:36:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8701
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8702
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8703
_ImageRepresentation_setBytePixels:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8704
    |imgRep x y w h clrModel bytes offs i2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8705
     img depth cmap rgbMap opaque transparentColorIndex
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8706
     scanLineWidth nBytes srcIdx dstIdx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8707
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8708
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8709
    x := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8710
    y := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8711
    w := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8712
    h := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8713
    clrModel := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8714
    bytes := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8715
    offs := nativeContext argAt:7.  "/ offset ??
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8716
    scanLineWidth := nativeContext argAt:8.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8717
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8718
    depth := clrModel instVarNamed:'pixel_bits'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8719
    (clrModel instVarNamed:'map_size') ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8720
	rgbMap := clrModel instVarNamed:'rgb'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8721
	cmap := Array new:rgbMap size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8722
	rgbMap 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8723
	    keysAndValuesDo:[:idx :rgb |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8724
		cmap at:idx put:(Color rgbValue:(rgb bitAnd:16rFFFFFF))
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8725
	    ].        
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
    opaque := (clrModel instVarNamed:'opaque') ~~ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8729
    opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8730
	transparentColorIndex := clrModel instVarNamed:'transparent_index'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8731
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8732
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8733
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8734
    (img isNil or:[img == 0]) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8735
"/        self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8736
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8737
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8738
    (offs ~~ 0 or:[scanLineWidth ~~ w]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8739
	nBytes := ByteArray new:w*h.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8740
	srcIdx := offs+1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8741
	dstIdx := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8742
	1 to:h do:[:y |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8743
	    nBytes replaceFrom:dstIdx to:(dstIdx+w-1) with:bytes startingAt:srcIdx.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8744
	    srcIdx := srcIdx + scanLineWidth.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8745
	    dstIdx := dstIdx + w.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8746
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8747
	bytes := nBytes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8748
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8749
    img := Image width:w height:h depth:depth fromArray:bytes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8750
    cmap notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8751
	img colorMap:cmap.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8752
	img photometric:#palette
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8753
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8754
    opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8755
	img mask:(ImageReader 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8756
		    buildMaskFromColor:transparentColorIndex 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8757
		    for:bytes
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8758
		    width:w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8759
		    height:h)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8760
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8762
    imgRep instVarNamed:'pData' put:img.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8763
    ^ 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8764
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8765
    "Created: / 7.1.1998 / 22:31:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8766
    "Modified: / 21.10.1998 / 00:35:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8767
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8768
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8769
_ImageRepresentation_setIntPixels:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8770
    |imgRep x y w h clrModel ints offs scanLineWidth
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8771
     img depth cmap rgbMap opaque transparentColorIndex
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8772
     bytes srcIdx dstIdx val red green blue
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8773
     redMask greenMask blueMask redShift greenShift blueShift|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8774
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8775
    imgRep := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8776
    x := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8777
    y := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8778
    w := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8779
    h := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8780
    clrModel := nativeContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8781
    ints := nativeContext argAt:6.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8782
    offs := nativeContext argAt:7.  "/ offset ??
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8783
    scanLineWidth := nativeContext argAt:8.  "/ scanLineWidth ??
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8784
    opaque := false.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8785
offs ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8786
 self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8787
].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8788
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8789
    depth := clrModel instVarNamed:'pixel_bits'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8790
    clrModel class == (Java at:'java.awt.image.DirectColorModel') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8791
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8792
	(clrModel instVarNamed:'map_size') ~~ 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8793
	    rgbMap := clrModel instVarNamed:'rgb'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8794
	    cmap := Array new:rgbMap size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8795
	    rgbMap 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8796
		keysAndValuesDo:[:idx :rgb |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8797
		    cmap at:idx put:(Color rgbValue:(rgb bitAnd:16rFFFFFF))
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8798
		].        
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8799
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8800
	opaque := (clrModel instVarNamed:'opaque') ~~ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8801
	opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8802
	    transparentColorIndex := clrModel instVarNamed:'transparent_index'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8803
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8804
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8805
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8806
    img := imgRep instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8807
    (img isNil or:[img == 0]) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8808
"/        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8809
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8810
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8811
    depth == 32 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8812
	"/ temporary kludge - ony use 24 bits/pixel
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8813
	bytes := ByteArray new:w*h*3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8814
	srcIdx := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8815
	dstIdx := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8816
	redMask := clrModel instVarNamed:'red_mask'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8817
	greenMask := clrModel instVarNamed:'green_mask'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8818
	blueMask := clrModel instVarNamed:'blue_mask'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8819
	redShift := (clrModel instVarNamed:'red_offset') negated.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8820
	greenShift := (clrModel instVarNamed:'green_offset') negated.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8821
	blueShift := (clrModel instVarNamed:'blue_offset') negated.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8822
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8823
	1 to:h do:[:y |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8824
	    1 to:w do:[:x |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8825
		val := ints at:srcIdx.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8826
		red := (val bitAnd:redMask) bitShift:redShift.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8827
		green := (val bitAnd:greenMask) bitShift:greenShift.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8828
		blue := (val bitAnd:blueMask) bitShift:blueShift.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8829
		bytes at:dstIdx put:red.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8830
		bytes at:dstIdx+1 put:green.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8831
		bytes at:dstIdx+2 put:blue.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8832
		dstIdx := dstIdx + 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8833
		srcIdx := srcIdx + 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8834
	    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8835
	    srcIdx := srcIdx + (scanLineWidth - w).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8836
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8837
	img := Depth24Image width:w height:h depth:24 fromArray:bytes.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8838
	img photometric:#rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8839
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8840
	scanLineWidth ~~ w ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8841
	    self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8842
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8843
	img := Image width:w height:h depth:depth fromArray:ints.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8844
	cmap notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8845
	    img colorMap:cmap.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8846
	    img photometric:#palette
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8847
	] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8848
	    img photometric:#rgb
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8849
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8850
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8851
    opaque ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8852
	img mask:(ImageReader 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8853
		    buildMaskFromColor:transparentColorIndex 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8854
		    for:ints
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8855
		    width:w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8856
		    height:h)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8857
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8858
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8859
    imgRep instVarNamed:'pData' put:img.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8860
    ^ 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8861
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8862
    "Created: / 1.2.1998 / 17:38:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8863
    "Modified: / 21.10.1998 / 00:35:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8864
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8865
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8866
_InetAddressImpl_getHostByAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8867
    "/ java.lang.String getHostByAddr (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8868
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8869
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8870
    "Created: / 12.11.1998 / 19:08:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8871
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8872
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8873
_InetAddressImpl_getInetFamily:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8874
    "/ self unimplementedNativeMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8875
    ^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8876
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8877
    "Modified: / 15.8.1997 / 17:04:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8878
    "Created: / 5.1.1998 / 02:05:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8879
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8880
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8881
_InetAddressImpl_getLocalHostName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8882
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8883
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8884
    |hostName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8885
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8886
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8887
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8888
    ^ (Java as_String:hostName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8889
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8890
    "Modified: / 7.8.1997 / 21:16:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8891
    "Created: / 5.1.1998 / 02:07:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8892
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8893
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8894
_InetAddressImpl_lookupAllHostAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8895
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8896
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8897
    |jAddrImpl jHostName hostName addrBytes|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8898
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8899
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8900
    jHostName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8901
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8902
    hostName := Java as_ST_String:jHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8903
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8904
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8905
	addrBytes := #[0 0 0 0] copy
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8906
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8907
    ^ Array with:addrBytes
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8908
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8909
    "Modified: / 8.8.1997 / 12:04:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8910
    "Created: / 7.1.1998 / 18:51:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8911
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8912
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8913
_InetAddressImpl_makeAnyLocalAddress:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8914
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8915
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8916
    |jAddrImpl jAddr hostName addrBytes address|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8917
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8918
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8919
    jAddr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8920
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8921
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8922
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8923
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8924
	addrBytes := #[127 0 0 0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8925
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8926
    "/ MSB first into an integer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8927
    address := (addrBytes at:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8928
    address := (address bitShift:8) bitOr:(addrBytes at:2).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8929
    address := (address bitShift:8) bitOr:(addrBytes at:3).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8930
    address := (address bitShift:8) bitOr:(addrBytes at:4).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8931
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8932
    jAddr instVarNamed:'hostName' put:(Java as_String:hostName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8933
    jAddr instVarNamed:'address' put:address.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8934
    jAddr instVarNamed:'family' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8935
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8936
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8937
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8938
    "Created: / 5.1.1998 / 02:06:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8939
    "Modified: / 21.10.1998 / 03:30:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8940
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8941
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8942
_InetAddress_getInetFamily:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8943
    "/ self unimplementedNativeMethod.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8944
    ^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8945
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8946
    "Modified: / 15.8.1997 / 17:04:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8947
    "Created: / 17.11.1998 / 23:54:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8948
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8949
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8950
_InetAddress_getLocalHostName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8951
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8952
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8953
    |hostName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8954
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8955
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8956
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8957
    ^ Java as_String:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8958
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8959
    "Modified: / 7.8.1997 / 21:16:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8960
    "Created: / 17.11.1998 / 23:54:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8961
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8962
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8963
_InetAddress_lookupAllHostAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8964
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8965
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8966
    |jAddrImpl jHostName hostName addrBytes|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8967
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8968
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8969
    jHostName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8970
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8971
    hostName := Java as_ST_String:jHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8972
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8973
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8974
	addrBytes := #[0 0 0 0] copy
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8975
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8976
    ^ Array with:addrBytes
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8977
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8978
    "Modified: / 8.8.1997 / 12:04:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8979
    "Created: / 17.11.1998 / 23:56:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8980
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8981
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8982
_InetAddress_lookupHostByAddr:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8983
    "java.lang.Object[] lookupHostByAddr (int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8984
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8985
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8986
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8987
    "Created: / 27.1.2000 / 02:59:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8988
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8989
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8990
_InetAddress_lookupHostByName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8991
    "java.lang.Object[] lookupHostByName (java.lang.String)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8992
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8993
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8994
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8995
    "Modified: / 27.1.2000 / 02:58:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8996
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8997
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8998
_InetAddress_makeAnyLocalAddress:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  8999
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9000
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9001
    |jAddrImpl jAddr hostName addrBytes address|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9002
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9003
    jAddrImpl := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9004
    jAddr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9005
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9006
    hostName := OperatingSystem getHostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9007
    addrBytes := Socket ipAddressOfHost:hostName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9008
    addrBytes isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9009
	addrBytes := #[127 0 0 0].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9010
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9011
    "/ MSB first into an integer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9012
    address := (addrBytes at:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9013
    address := (address bitShift:8) bitOr:(addrBytes at:2).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9014
    address := (address bitShift:8) bitOr:(addrBytes at:3).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9015
    address := (address bitShift:8) bitOr:(addrBytes at:4).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9016
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9017
    jAddr instVarNamed:'hostName' put:(Java as_String:hostName).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9018
    jAddr instVarNamed:'address' put:address.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9019
    jAddr instVarNamed:'family' put:0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9020
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9021
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9022
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9023
    "Modified: / 21.10.1998 / 03:30:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9024
    "Created: / 17.11.1998 / 23:54:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9025
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9026
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9027
_Inflater_end0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9028
    "/ void end0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9029
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9030
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9031
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9032
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9033
    "Created: / 27.1.2000 / 03:11:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9034
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9035
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9036
_Inflater_getAdler0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9037
    "/ int getAdler0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9038
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9039
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9040
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9041
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9042
    "Created: / 27.1.2000 / 03:12:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9043
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9044
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9045
_Inflater_getTotalIn0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9046
    "/ int getTotalIn0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9047
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9048
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9049
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9050
    "Created: / 27.1.2000 / 03:10:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9051
    "Modified: / 27.1.2000 / 03:11:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9052
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9053
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9054
_Inflater_getTotalOut0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9055
    "/ int getTotalOut0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9056
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9057
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9058
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9059
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9060
    "Created: / 27.1.2000 / 03:12:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9061
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9062
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9063
_Inflater_inflate0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9064
    "/ int inflate0 (byte[] int int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9065
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9066
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9067
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9068
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9069
    "Created: / 27.1.2000 / 03:11:39 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9070
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9071
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9072
_Inflater_reset0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9073
    "/ void reset0 ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9074
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9075
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9076
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9077
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9078
    "Created: / 27.1.2000 / 03:11:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9079
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9080
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9081
_Inflater_setDictionary0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9082
    "/ void setDictionary0 (byte[] int int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9083
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9084
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9085
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9086
    "Modified: / 27.1.2000 / 03:08:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9087
    "Created: / 27.1.2000 / 03:10:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9088
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9089
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9090
_InputThread_run:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9091
    self _WToolkit_eventLoop:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9092
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9093
    "Created: / 28.1.1998 / 22:34:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9094
    "Modified: / 28.1.1998 / 22:35:16 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9095
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9096
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9097
_Introspector_getMethodDescriptor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9098
    "java.lang.String getMethodDescriptor (java.lang.reflect.Method)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9099
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9100
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9101
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9102
    "Created: / 27.1.2000 / 02:47:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9103
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9104
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9105
_Introspector_getMethodParameterCount:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9106
    "int getMethodParameterCount (java.lang.reflect.Method)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9107
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9108
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9109
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9110
    "Created: / 27.1.2000 / 02:49:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9111
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9112
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9113
_Introspector_getPublicDeclaredMethods0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9114
    "java.lang.reflect.Method[] getPublicDeclaredMethods0 (java.lang.Class)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9115
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9116
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9117
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9118
    "Created: / 27.1.2000 / 02:48:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9119
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9120
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9121
_JPEGImageDecoder_readImage:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9122
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9123
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9124
    "Created: / 12.11.1998 / 18:53:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9125
    "Modified: / 12.11.1998 / 18:53:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9126
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9127
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9128
_MButtonPeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9129
    ^ self _WButtonPeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9130
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9131
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9132
_MCanvasPeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9133
    |jCanvasPeer jFrame frame subView|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9134
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9135
    jCanvasPeer := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9136
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9137
    jFrame := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9138
    jFrame isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9139
	self halt:'no frame in canvasPeer create'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9140
	self internalError:'no frame in canvasPeer create'.     
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9141
	^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9142
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9143
    frame := jFrame instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9144
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9145
    subView := JavaView in:frame.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9146
    subView delegate:self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9147
    subView javaPeer:jCanvasPeer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9148
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9149
    self createdWindowsView:subView for:jCanvasPeer.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9150
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9151
    WindowCreationTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9152
	'WCanvasPeer_create: ' print. frame print. ' -> ' print. subView printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9153
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9154
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9155
    "Modified: / 16.1.1998 / 13:40:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9156
    "Created: / 18.11.1998 / 00:14:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9157
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9158
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9159
_MComponentPeer_cacheInit:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9160
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9161
    "Created: / 28.1.1998 / 22:22:30 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9162
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9163
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9164
_MComponentPeer_handleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9165
    ^ self _WComponentPeer_handleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9166
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9167
    "Created: / 18.11.1998 / 00:21:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9168
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9169
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9170
_MComponentPeer_nativeHandleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9171
    ^ self _WComponentPeer_nativeHandleEvent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9172
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9173
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9174
_MComponentPeer_pHide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9175
    ^ self _WComponentPeer_hide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9176
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9177
    "Created: / 18.11.1998 / 00:15:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9178
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9179
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9180
_MComponentPeer_pInitialize:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9181
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9182
    "Created: / 28.1.1998 / 22:27:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9183
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9184
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9185
_MComponentPeer_pReshape:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9186
    self commonReshapeComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9187
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9188
    "Created: / 18.11.1998 / 00:18:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9189
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9190
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9191
_MComponentPeer_pSetBackground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9192
    |view jClr rgb clr|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9193
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9194
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9195
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9196
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9197
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9198
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9199
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9200
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9201
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9202
        view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9203
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9204
    view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9205
    view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9206
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9207
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9208
_MComponentPeer_pSetFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9209
    |view jFont stFont name style size|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9210
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9211
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9212
    jFont := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9213
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9214
    stFont := jFont instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9215
    (stFont isNil or:[stFont == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9216
        name := jFont instVarNamed:'name'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9217
        style := jFont instVarNamed:'style'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9218
        size := jFont instVarNamed:'size'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9219
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9220
        stFont := self replacementFontFor:(Java as_ST_String:name) style:style size:size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9221
        jFont instVarNamed:'pData' put:stFont.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9222
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9223
    view font:stFont.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9224
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9225
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9226
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9227
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9228
_MComponentPeer_pSetForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9229
    |view jClr rgb clr|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9230
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9231
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9232
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9233
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9234
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9235
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9236
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9237
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9238
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9239
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9240
        view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9241
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9242
    view foregroundColor:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9243
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9244
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9245
_MComponentPeer_pShow:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9246
    |view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9247
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9248
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9249
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9250
    "/ frame views are under my browsers own control
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9251
    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9252
	view beVisible.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9253
	view realize.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9254
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9255
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9256
"/    view windowGroup notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9257
"/        windowServer addGroup:(view windowGroup)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9258
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9259
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9260
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9261
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9262
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9263
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9264
    "Modified: / 25.1.1998 / 09:54:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9265
    "Created: / 18.11.1998 / 00:21:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9266
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9267
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9268
_MComponentPeer_setBackground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9269
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9270
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9271
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9272
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9273
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9274
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9275
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9276
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9277
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9278
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9279
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9280
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9281
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9282
	view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9283
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9284
    view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9285
    view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9286
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9287
    "Created: / 17.11.1998 / 23:49:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9288
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9289
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9290
_MComponentPeer_setCursor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9291
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9292
    "Created: / 28.1.1998 / 22:27:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9293
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9294
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9295
_MComponentPeer_setFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9296
    |view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9297
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9298
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9299
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9300
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9301
    "Modified: / 25.1.1998 / 01:22:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9302
    "Created: / 17.11.1998 / 23:43:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9303
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9304
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9305
_MComponentPeer_setForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9306
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9307
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9308
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9309
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9310
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9311
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9312
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9313
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9314
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9315
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9316
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9317
    view paint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9318
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9319
    "Created: / 17.11.1998 / 23:50:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9320
    "Modified: / 17.11.1998 / 23:57:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9321
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9322
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9323
_MFramePeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9324
    ^ self _WFramePeer_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9325
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9326
    "Created: / 28.1.1998 / 22:25:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9327
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9328
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9329
_MFramePeer_getWindowBackgroundColor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9330
    ^ View defaultViewBackgroundColor rgbValue.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9331
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9332
    "Created: / 17.11.1998 / 23:55:42 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9333
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9334
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9335
_MFramePeer_pHide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9336
    ^ self _WComponentPeer_hide:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9337
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9338
    "Created: / 28.1.1998 / 22:27:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9339
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9340
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9341
_MFramePeer_pReshape:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9342
    self commonReshapeComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9343
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9344
    "Created: / 28.1.1998 / 22:28:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9345
    "Modified: / 28.1.1998 / 22:29:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9346
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9347
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9348
_MFramePeer_pSetTitle:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9349
    self _WWindowPeer__setTitle:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9350
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9351
    "Created: / 28.1.1998 / 22:30:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9352
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9353
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9354
_MFramePeer_pShow:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9355
    |view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9356
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9357
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9358
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9359
    "/ frame views are under my browsers own control
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9360
    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9361
	view beVisible.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9362
	view realize.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9363
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9364
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9365
"/    view windowGroup notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9366
"/        windowServer addGroup:(view windowGroup)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9367
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9368
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9369
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9370
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9371
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9372
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9373
    "Modified: / 25.1.1998 / 09:54:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9374
    "Created: / 18.11.1998 / 00:19:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9375
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9376
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9377
_MFramePeer_setInsets:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9378
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9379
    "Created: / 17.11.1998 / 23:55:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9380
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9381
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9382
_MFramePeer_setResizable:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9383
    |view onOff|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9384
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9385
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9386
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9387
    onOff := (nativeContext argAt:1) == 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9388
    view isTopView ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9389
	onOff ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9390
	    view minExtent:10@10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9391
	    view maxExtent:(Screen current extent).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9392
	] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9393
	    view minExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9394
	    view maxExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9395
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9396
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9397
	(view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9398
	    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9399
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9400
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9401
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9402
"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9403
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9404
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9405
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9406
    "Modified: / 16.1.1998 / 18:08:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9407
    "Created: / 17.11.1998 / 23:51:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9408
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9409
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9410
_MToolkit_callbackLoop:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9411
    |toolKit|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9412
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9413
    toolKit := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9414
^ self.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9415
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9416
    self wakeup:toolKit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9417
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9418
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9419
    (JavaEventThread notNil and:[JavaEventThread isDead not]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9420
	'JavaVM [warning]: oops - two threads executing eventLoop' errorPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9421
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9422
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9423
    JavaEventThread := Processor activeProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9424
    [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9425
	[true] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9426
	    AbortSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9427
		ex return
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9428
	    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9429
		self doWindowsEventThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9430
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9431
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9432
    ] valueNowOrOnUnwindDo:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9433
	JavaEventThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9434
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9435
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9436
    "Created: / 17.11.1998 / 23:58:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9437
    "Modified: / 8.1.1999 / 17:08:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9438
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9439
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9440
_MToolkit_eventLoop:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9441
    |toolKit|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9442
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9443
    (JavaEventThread notNil and:[JavaEventThread isDead not]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9444
	'JavaVM [warning]: oops - two threads executing eventLoop' errorPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9445
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9446
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9447
    toolKit := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9448
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9449
    self wakeup:toolKit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9450
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9451
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9452
    JavaEventThread := Processor activeProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9453
    [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9454
	[true] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9455
	    AbortSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9456
		ex return
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9457
	    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9458
		self doWindowsEventThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9459
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9460
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9461
    ] valueNowOrOnUnwindDo:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9462
	JavaEventThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9463
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9464
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9465
    "Created: / 17.11.1998 / 23:04:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9466
    "Modified: / 8.1.1999 / 17:08:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9467
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9468
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9469
_MToolkit_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9470
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9471
    "Created: / 28.1.1998 / 22:21:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9472
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9473
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9474
_MToolkit_loadSystemColors:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9475
    ^ self _WToolkit_loadSystemColors:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9476
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9477
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9478
_MToolkit_run:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9479
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9480
    "Created: / 28.1.1998 / 22:22:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9481
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9482
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9483
_Math_IEEEremainder:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9484
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9485
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9486
    "Created: / 12.11.1998 / 18:52:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9487
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9488
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9489
_Math_acos:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9490
    "arc cosine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9491
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9492
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9493
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9494
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9495
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9496
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9497
"/            'JAVAVM [info]: missing double flag in Math>>acos' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9498
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9499
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9500
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9501
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9502
    ^ dVal arcCos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9503
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9504
    "Created: / 7.5.1998 / 00:34:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9505
    "Modified: / 11.11.1998 / 15:08:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9506
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9507
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9508
_Math_asin:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9509
    "arc sine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9510
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9511
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9512
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9513
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9514
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9515
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9516
"/            'JAVAVM [info]: missing double flag in Math>>asin' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9517
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9518
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9519
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9520
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9521
    ^ dVal arcSin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9522
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9523
    "Created: / 7.5.1998 / 00:34:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9524
    "Modified: / 11.11.1998 / 15:08:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9525
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9526
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9527
_Math_atan2:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9528
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9529
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9530
    "Created: / 12.11.1998 / 18:52:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9531
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9532
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9533
_Math_atan:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9534
    "arc tangens"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9535
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9536
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9537
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9538
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9539
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9540
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9541
"/            'JAVAVM [info]: missing double flag in Math>>atan' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9542
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9543
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9544
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9545
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9546
    ^ dVal arcTan
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9547
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9548
    "Created: / 6.2.1998 / 01:24:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9549
    "Modified: / 11.11.1998 / 15:08:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9550
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9551
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9552
_Math_ceil:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9553
    "ceiling"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9555
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9556
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9557
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9558
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9559
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9560
"/            'JAVAVM [info]: missing double flag in Math>>ceil' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9561
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9562
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9563
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9564
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9565
    ^ dVal ceilingAsFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9566
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9567
    "Created: / 7.1.1998 / 15:43:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9568
    "Modified: / 11.11.1998 / 15:08:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9569
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9570
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9571
_Math_cos:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9572
    "cosine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9573
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9574
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9575
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9576
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9577
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9578
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9579
"/            'JAVAVM [info]: missing double flag in Math>>cos' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9580
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9581
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9582
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9583
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9584
    ^ dVal cos
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9585
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9586
    "Created: / 7.1.1998 / 15:41:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9587
    "Modified: / 11.11.1998 / 15:07:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9588
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9589
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9590
_Math_exp:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9591
    "exponential"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9592
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9593
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9594
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9595
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9596
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9597
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9598
"/            'JAVAVM [info]: missing double flag in Math>>exp' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9599
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9600
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9601
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9602
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9603
    ^ dVal exp
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9604
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9605
    "Created: / 7.5.1998 / 00:36:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9606
    "Modified: / 11.11.1998 / 15:07:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9607
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9608
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9609
_Math_floor:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9610
    "floor"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9611
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9612
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9613
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9614
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9615
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9616
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9617
"/            'JAVAVM [info]: missing double flag in Math>>floor' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9618
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9619
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9620
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9621
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9622
    ^ dVal floorAsFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9623
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9624
    "Created: / 7.1.1998 / 19:09:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9625
    "Modified: / 11.11.1998 / 15:07:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9626
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9627
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9628
_Math_log:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9629
    "natural logarithm"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9630
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9631
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9632
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9633
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9634
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9635
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9636
"/            'JAVAVM [info]: missing double flag in Math>>log' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9637
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9638
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9639
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9640
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9641
    ^ dVal ln
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9643
    "Created: / 7.1.1998 / 15:42:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9644
    "Modified: / 30.12.1998 / 17:41:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9645
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9646
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9647
_Math_pow:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9648
    "power"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9649
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9650
    |dVal1 dVal2|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9651
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9652
    dVal1 := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9653
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9654
"/        dVal1 isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9655
"/            'JAVAVM [info]: missing double flag in Math>>pow' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9656
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9657
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9658
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9659
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9660
    dVal2 := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9661
"/    (nativeContext argAt:4) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9662
"/        dVal2 isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9663
"/            'JAVAVM [info]: missing double flag in Math>>pow' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9664
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9665
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9666
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9667
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9668
    ^ dVal1 raisedTo:dVal2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9669
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9670
    "Created: / 7.1.1998 / 15:44:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9671
    "Modified: / 11.11.1998 / 15:07:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9672
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9673
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9674
_Math_rint:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9675
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9676
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9677
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9678
    ^ dVal rounded asFloat.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9679
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9680
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9681
_Math_sin:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9682
    "sine"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9683
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9684
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9685
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9686
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9687
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9688
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9689
"/            'JAVAVM [info]: missing double flag in Math>>sin' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9690
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9691
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9692
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9693
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9694
    ^ dVal sin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9695
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9696
    "Created: / 7.1.1998 / 15:41:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9697
    "Modified: / 11.11.1998 / 15:07:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9698
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9699
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9700
_Math_sqrt:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9701
    "square root"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9702
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9703
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9705
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9706
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9707
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9708
"/            'JAVAVM [info]: missing double flag in Math>>sqrt' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9709
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9710
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9711
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9712
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9713
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9714
    "/ how about domain errors ?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9715
    dVal < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9716
	^ 0.0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9717
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9718
    ^ dVal sqrt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9719
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9720
    "Created: / 7.1.1998 / 15:42:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9721
    "Modified: / 29.12.1998 / 13:22:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9722
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9723
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9724
_Math_tan:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9725
    "tangent"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9726
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9727
    |dVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9728
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9729
    dVal := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9730
"/    (nativeContext argAt:2) ~~ DUMMY_DOUBLE_HIGHWORD ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9731
"/        dVal isReal ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9732
"/            'JAVAVM [info]: missing double flag in Math>>tan' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9733
"/        ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9734
"/            self halt:'expected double arg'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9735
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9736
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9737
    ^ dVal tan
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9738
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9739
    "Created: / 7.5.1998 / 00:34:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9740
    "Modified: / 11.11.1998 / 15:07:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9741
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9742
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9743
_MemoryAdvice_register0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9744
    "private native void register0()"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9745
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9746
    "/ UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9747
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9748
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9749
_Method_getModifiers:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9750
    |jMethod mthd retVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9751
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9752
    jMethod := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9753
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9754
    mthd := JavaMethods at:jMethod ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9755
    mthd isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9756
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9757
	^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9758
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9759
    ^ mthd accessFlags
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9760
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9761
    "Modified: / 9.4.1998 / 17:50:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9762
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9764
_Method_invoke:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9765
    "invoke a javaMethod"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9766
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9767
    |jMethod mthd rec args retVal|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9768
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9769
    jMethod := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9770
    rec := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9771
    args := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9772
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9773
    mthd := JavaMethods at:jMethod ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9774
    mthd isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9775
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9776
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9777
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9778
    "/ check for arguments to match the expected types ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9779
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9780
    mthd argSignature keysAndValuesDo:[:index :argSig |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9781
	|cls arg|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9782
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9783
	cls := Java at:argSig.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9784
	arg := args at:index.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9785
	(arg isKindOf:cls) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9786
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9787
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9788
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9789
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9790
    mthd isStatic ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9791
	retVal := mthd valueWithReceiver:(mthd javaClass) arguments:args selector:mthd selector.        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9792
	^ retVal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9793
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9794
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9795
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9796
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9797
    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9798
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9799
    "Created: / 13.2.1998 / 15:15:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9800
    "Modified: / 13.2.1998 / 15:35:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9801
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
  9802
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9803
_MozillaAppletContext_pMochaOnLoad:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9804
    |id|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9805
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9806
    id := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9807
"/ 'JAVA: MozillaAppletContext_pMochaOnLoad: ' print. id printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9808
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9809
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9810
    "Created: / 6.1.1998 / 20:37:13 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9811
    "Modified: / 6.2.1998 / 02:13:09 / 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
_MozillaAppletContext_pShowDocument:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9815
    |jAppletContext s1 s2 s3 js|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9816
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9817
    jAppletContext := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9818
    js := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9819
    s1 := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9820
    js := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9821
    s2 := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9822
    js := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9823
    s2 := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9824
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9825
    "/ somehow pass it to the html browser ....
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9826
Transcript show:'pShowDocument: '; show:s1; show:' / '; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9827
	   show:s2; show:' / '; showCR:s3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9828
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9829
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9830
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9831
    "Created: / 29.3.1998 / 15:53:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9832
    "Modified: / 29.12.1998 / 13:32:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9833
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9834
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9835
_MozillaAppletContext_pShowStatus:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9836
    |s js|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9837
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9838
    js := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9839
    js isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9840
	s := ''
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9841
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9842
	s := Java as_ST_String:js.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9843
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9844
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9845
    self activityNotification:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9846
"/ Transcript showCR:s.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9847
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9848
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9849
    "Created: / 6.1.1998 / 18:31:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9850
    "Modified: / 22.10.1998 / 01:17:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9851
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9852
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9853
_MozillaAppletContext_setConsoleState0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9854
    "/ void setConsoleState0 (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9855
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9856
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9857
    "Created: / 12.11.1998 / 19:23:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9858
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9859
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9860
_ObjectInputStream_allocateNewArray:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9861
    "/ java.lang.Object allocateNewArray (java.lang.Class int)
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: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9865
    "Created: / 12.11.1998 / 19:02:52 / 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
_ObjectInputStream_allocateNewObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9869
    "/ java.lang.Object allocateNewObject (java.lang.Class java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9870
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9871
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9872
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9873
    "Created: / 12.11.1998 / 19:02:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9874
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9875
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9876
_ObjectInputStream_inputClassFields:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9877
    "/ void inputClassFields (java.lang.Object java.lang.Class int[])
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
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9881
    "Created: / 12.11.1998 / 19:02:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9882
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9883
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9884
_ObjectInputStream_invokeDefaultReadObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9885
    "/ void invokeDefaultReadObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9886
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9887
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9888
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9889
    "Created: / 27.1.2000 / 03:00:47 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9890
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9891
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9892
_ObjectInputStream_invokeObjectReader:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9893
    "/ boolean invokeObjectReader (java.lang.Object java.lang.Class)
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
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9897
    "Created: / 12.11.1998 / 19:03:06 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9898
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9899
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9900
_ObjectInputStream_invokeReadObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9901
    "/ void invokeReadObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9902
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9903
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9904
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9905
    "Created: / 27.1.2000 / 03:01:02 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9906
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9907
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9908
_ObjectInputStream_loadClass0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9909
    "/ java.lang.Class loadClass0 (java.lang.Class java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9910
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9911
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9912
    "Created: / 12.11.1998 / 19:01:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9913
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9914
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9915
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9916
_ObjectOutputStream_invokeDefaultWriteObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9917
    "/ void invokeDefaultWriteObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9918
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9919
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9920
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9921
    "Created: / 27.1.2000 / 03:01:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9922
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9923
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9924
_ObjectOutputStream_invokeObjectWriter:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9925
    "/ boolean invokeObjectWriter (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9926
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9927
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9928
    "Created: / 12.11.1998 / 19:00:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9929
    "Modified: / 12.11.1998 / 19:01:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9930
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9931
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9932
_ObjectOutputStream_invokeWriteObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9933
    "/ void invokeWriteObject (java.lang.Object java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9934
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9935
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9936
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9937
    "Created: / 27.1.2000 / 03:01:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9938
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9939
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9940
_ObjectOutputStream_outputClassFields:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9941
    "/ void outputClassFields (java.lang.Object java.lang.Class int[])
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9942
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9943
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9944
    "Created: / 12.11.1998 / 19:00:09 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9945
    "Modified: / 12.11.1998 / 19:01:42 / 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
_ObjectStreamClass_doMismatchedRead:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9949
    "/ void doMismatchedRead (java.io.ObjectInputStream java.lang.Object)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9950
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9951
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9952
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9953
    "Created: / 27.1.2000 / 02:50:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9954
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9955
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9956
_ObjectStreamClass_findObjectMethod0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9957
    "/ boolean findObjectMethod0 (java.lang.Class int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9958
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9959
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9960
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9961
    "Created: / 27.1.2000 / 02:51:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9962
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9963
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9964
_ObjectStreamClass_getClassAccess:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9965
    "/ int getClassAccess (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9966
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9967
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9968
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9969
    "Created: / 12.11.1998 / 19:04:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9970
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9971
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9972
_ObjectStreamClass_getClassDefinedUID:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9973
    "/ long getClassDefinedUID (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9974
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9975
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9976
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9977
    "Created: / 27.1.2000 / 02:51:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9978
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9979
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9980
_ObjectStreamClass_getFieldAccess:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9981
    "/ int getFieldAccess (java.lang.Class java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9982
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9983
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9984
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9985
    "Created: / 12.11.1998 / 19:05:19 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9986
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9987
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9988
_ObjectStreamClass_getFieldSignatures:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9989
    "/ java.lang.String[] getFieldSignatures (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9990
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9991
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9992
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9993
    "Created: / 12.11.1998 / 19:05:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9994
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9995
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9996
_ObjectStreamClass_getFields0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9997
    "/ java.io.ObjectStreamField[] getFields0 (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9998
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
  9999
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10000
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10001
    "Created: / 12.11.1998 / 19:05:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10002
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10003
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10004
_ObjectStreamClass_getMethodAccess:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10005
    "/ int getMethodAccess (java.lang.Class java.lang.String)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10006
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10007
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10008
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10009
    "Created: / 12.11.1998 / 19:04:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10010
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10011
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10012
_ObjectStreamClass_getMethodSignatures:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10013
    "/ java.lang.String[] getMethodSignatures (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10014
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10015
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10016
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10017
    "Created: / 12.11.1998 / 19:04:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10018
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10019
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10020
_ObjectStreamClass_getSerialVersionUID:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10021
    "/ long getSerialVersionUID (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10022
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10023
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10024
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10025
    "Created: / 12.11.1998 / 19:05:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10026
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10027
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10028
_ObjectStreamClass_hasWriteObject:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10029
    "/ boolean hasWriteObject (java.lang.Class)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10030
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10031
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10032
    "Modified: / 12.11.1998 / 19:01:48 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10033
    "Created: / 12.11.1998 / 19:05:53 / cg"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10034
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10035
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10036
_OffScreenImageSource_sendPixels:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10037
    "/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10038
    "/ UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10039
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10040
    "Modified: / 16.1.1998 / 18:22:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10041
    "Created: / 17.1.1998 / 12:36:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10042
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10043
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10044
_PackedColorModel_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10045
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10046
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10047
    "Created: / 28.1.1998 / 22:19:35 / cg"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10048
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10049
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10050
_PlainDatagramSocketImpl_bind:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10051
    |jsock jaddr port sock hostName ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10052
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10053
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10054
    port := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10055
    jaddr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10056
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10057
    hostName := jaddr instVarNamed:'hostName'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10058
    hostName isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10059
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10060
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10061
	hostName := Java as_ST_String:hostName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10062
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10063
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10064
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10065
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10066
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10067
	    ('JAVA: socket bind to ' , hostName printString, ' port ' , port printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10068
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10069
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10070
	ok := sock bindTo:port address:nil "hostName".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10071
	ok ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10072
	    err := OperatingSystem lastErrorString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10073
	    Transcript showCR:'sock err: ' , err printString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10074
	    self throwIOExceptionWithMessage:'bind failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10075
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10076
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10078
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10079
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10080
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10081
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10082
_PlainDatagramSocketImpl_datagramSocketClose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10083
    |jsock sock|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10084
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10085
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10086
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10087
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10088
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10089
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10090
	    'JAVA: datagram close socket' infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10091
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10092
	sock close.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10093
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10094
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10095
    "Modified: / 21.8.1997 / 17:09:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10096
    "Created: / 25.1.1998 / 20:04:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10097
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10098
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10099
_PlainDatagramSocketImpl_datagramSocketCreate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10100
    |jsock fd sock fileNo|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10101
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10102
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10103
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10104
    fd := jsock instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10105
    (fd instVarNamed:'fd') ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10106
	self halt:'file already open'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10107
	self internalError:'file already open'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10108
	self throwIOExceptionWithMessage:'file already open in socketCreate'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10109
	^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10110
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10111
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10112
    FileOpenTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10113
	('JAVA: create datagram socket') infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10114
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10115
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10116
    sock := Socket newUDP.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10117
    sock isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10118
	self throwIOExceptionWithMessage:'socketCreate failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10119
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10120
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10121
    fileNo := self addOpenFile:sock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10122
    fd instVarNamed:'fd' put:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10124
    "Created: / 25.1.1998 / 19:59:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10125
    "Modified: / 30.12.1998 / 20:10:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10126
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10127
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10128
_PlainDatagramSocketImpl_join:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10129
    "/ native void join (InetAddress arg1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10131
    |jsock addr sock ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10132
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10133
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10134
    addr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10135
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10136
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10137
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10138
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10139
	    ('JAVA: socket join ' , addr printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10140
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10141
	self throwIOExceptionWithMessage:'unimplemented: join'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10142
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10143
	^ nil.  "/ void
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10144
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10146
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10147
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10148
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10149
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10150
_PlainDatagramSocketImpl_receive:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10151
    |jsock jdatagramPacket sock ok|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10152
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10153
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10154
    jdatagramPacket := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10155
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10156
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10157
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10158
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10159
	    ('JAVA: socket receive') infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10160
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10161
	^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10162
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10163
    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10165
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10166
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10167
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10168
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10169
_PlainDatagramSocketImpl_send:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10170
    |jsock jdatagramPacket sock ok|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10171
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10172
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10173
    jdatagramPacket := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10174
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10175
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10176
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10177
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10178
	    ('JAVA: socket send') infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10179
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10180
	^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10181
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10182
    ^ -1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10183
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10184
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10185
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10186
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10188
_PlainDatagramSocketImpl_socketGetOption:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10189
    |jsock opt port sock hostName ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10190
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10191
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10192
    opt := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10193
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10194
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10195
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10196
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10197
	    ('JAVA: socket getOption ' , opt printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10198
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10199
	self throwIOExceptionWithMessage:'unimplemented: getOption'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10200
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10201
	^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10202
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10203
    ^ -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10204
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10205
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10206
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10207
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10208
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10209
_PlainDatagramSocketImpl_socketSetOption:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10210
    "/ native void socketSetOption (int arg1, java.lang.Object arg2)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10211
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10212
    |jsock opt optVal sock ok err jSocketOptions|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10213
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10214
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10215
    opt := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10216
    optVal := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10217
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10218
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10219
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10220
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10221
	    ('JAVA: socket setOption ' , opt printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10222
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10224
	jSocketOptions := Java at:'java.net.SocketOptions'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10225
	(opt == (jSocketOptions instVarNamed:'TCP_NODELAY')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10226
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10227
	    (opt == (jSocketOptions instVarNamed:'SO_BINDADDR')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10228
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10229
		(opt == (jSocketOptions instVarNamed:'SO_REUSEADDR')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10230
		] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10231
		    (opt == (jSocketOptions instVarNamed:'IP_MULTICAST_IF')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10232
		    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10233
			(opt == (jSocketOptions instVarNamed:'SO_LINGER')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10234
			] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10235
			    (opt == (jSocketOptions instVarNamed:'SO_TIMEOUT')) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10236
			    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10237
				self throwIOExceptionWithMessage:'bad arg to setOption'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10238
			    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10239
			]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10240
		    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10241
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10242
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10243
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10244
	self throwIOExceptionWithMessage:'unimplemented: setOption'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10245
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10246
	^ nil.  "/ void
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10247
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10248
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10249
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10250
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10251
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10253
_PlainSocketImpl_socketAccept:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10254
    |jsock fd newJSock sock newSock fileNo|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10256
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10258
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10259
    sock isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10260
	self throwIOExceptionWithMessage:'nil socket in accept'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10261
	^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10262
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10264
    newJSock := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10265
    fd := newJSock instVarNamed:'fd'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10266
    (fd instVarNamed:'fd') ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10267
	self halt:'file already open'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10268
	self internalError:'file already open'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10269
	self throwIOExceptionWithMessage:'socket already open in socketAccept'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10270
	^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10271
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10272
    FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10273
	'JAVA: socket accept' infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10274
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10275
    newSock := sock accept.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10276
    newSock isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10277
	self throwIOExceptionWithMessage:'accept failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10278
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10279
    fileNo := self addOpenFile:newSock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10280
    fd instVarNamed:'fd' put:fileNo.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10281
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10282
    "Created: / 4.2.1998 / 15:26:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10283
    "Modified: / 30.12.1998 / 20:10:01 / 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
_PlainSocketImpl_socketAvailable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10287
    |jSock sock n|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10288
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10289
    jSock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10290
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10291
    sock := self validateFile:jSock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10292
    sock isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10293
	self throwIOExceptionWithMessage:'socketAvailable on closed socket'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10294
	^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10295
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10297
    n := sock numAvailable.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10298
    ^ n
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10299
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10300
    "Created: / 4.2.1998 / 16:58:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10301
    "Modified: / 30.12.1998 / 20:10:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10302
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10304
_PlainSocketImpl_socketBind:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10305
    |jsock jaddr port sock hostName ok err|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10306
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10307
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10308
    jaddr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10309
    port := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10311
    hostName := jaddr instVarNamed:'hostName'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10312
    hostName isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10313
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10314
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10315
	hostName := Java as_ST_String:hostName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10316
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10317
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10318
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10319
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10320
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10321
	    ('JAVA: socket bind to ' , hostName printString, ' port ' , port printString) infoPrintCR
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
	ok := sock bindTo:port address:nil "hostName".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10325
	ok ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10326
	    err := OperatingSystem lastErrorString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10327
	    Transcript showCR:'sock err: ' , err printString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10328
	    self throwIOExceptionWithMessage:'bind failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10329
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10330
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10331
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10332
    "Created: / 4.2.1998 / 15:06:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10333
    "Modified: / 30.12.1998 / 20:10:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10334
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10335
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10336
_PlainSocketImpl_socketClose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10337
    |jsock sock|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10338
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10339
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10340
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10341
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10342
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10343
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10344
	    'JAVA: close socket' infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10345
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10346
	sock close.
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
    "Modified: / 21.8.1997 / 17:09:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10350
    "Created: / 25.1.1998 / 20:04:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10351
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10352
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10353
_PlainSocketImpl_socketConnect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10354
    |jsock jaddr port sock addr hostName ok|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10355
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10356
    jsock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10357
    jaddr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10358
    port := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10359
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10360
    hostName := jaddr instVarNamed:'hostName'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10361
    hostName notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10362
        hostName := Java as_ST_String:hostName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10363
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10364
        addr := jaddr instVarNamed:'address'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10365
        addr notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10366
            hostName := ByteArray new:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10367
            hostName at:4 put:(addr bitAnd:16rFF).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10368
            addr := addr bitShift:-8.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10369
            hostName at:3 put:(addr bitAnd:16rFF).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10370
            addr := addr bitShift:-8.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10371
            hostName at:2 put:(addr bitAnd:16rFF).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10372
            addr := addr bitShift:-8.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10373
            hostName at:1 put:(addr bitAnd:16rFF).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10374
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10375
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10376
    hostName isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10377
        self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10378
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10379
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10380
    sock := self validateFile:jsock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10381
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10382
        FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10383
            ('JAVA: socket connect to ' , hostName printString , ' port ' , port printString) infoPrintCR
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10384
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10385
        SocketConnectConfirmation ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10386
            (PermittedHostConnects isNil 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10387
            or:[(PermittedHostConnects includes:hostName) not]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10388
                (self confirm:'connect to host: ' , hostName printString , ' - ok ?')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10389
                ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10390
                    self throwIOExceptionWithMessage:'connect permission denied'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10391
                ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10392
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10393
                (self confirm:('JAVA Security check\\Always permit connects to this host (''' , hostName printString , ''') ?') withCRs)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10394
                ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10395
                    PermittedHostConnects isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10396
                        PermittedHostConnects := Set new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10397
                    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10398
                    PermittedHostConnects add:hostName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10399
                ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10400
            ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10401
        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10402
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10403
        ok := sock connectTo:hostName port:port.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10404
        ok ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10405
            self throwIOExceptionWithMessage:'connect failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10406
        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10407
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10408
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10409
    "Created: / 25.1.1998 / 20:02:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10410
    "Modified: / 30.12.1998 / 20:10:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10411
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10412
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10413
_PlainSocketImpl_socketListen:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10414
    |jSock time sock ok|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10415
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10416
    jSock := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10417
    time := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10418
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10419
    sock := self validateFile:jSock.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10420
    sock notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10421
	FileIOTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10422
	    ('JAVA: socket listen with timeout ' , time printString) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10423
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10424
	ok := sock listenWithBacklog:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10425
	ok ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10426
	    self throwIOExceptionWithMessage:'listen failed'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10427
	    ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10428
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10429
	time ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10430
	    sock readWaitWithTimeoutMs:time
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10431
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10432
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10433
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10434
    "Created: / 4.2.1998 / 15:17:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10435
    "Modified: / 30.12.1998 / 20:10:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10436
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10437
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10438
_PlatformFont_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10439
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10440
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10441
    "Created: / 28.1.1998 / 22:30:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10442
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10443
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10444
_PrintStream_isOutputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10445
    "/ boolean isOutputStreamLocalised (java.io.DataOutputStream)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10446
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10447
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10448
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10449
    "Created: / 27.1.2000 / 03:00:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10450
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10451
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10452
_RandomAccessFile_close:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10453
    ^ self anyStream_close:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10454
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10455
    "Created: / 4.2.1998 / 13:26:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10456
    "Modified: / 4.2.1998 / 15:21:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10457
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10458
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10459
_RandomAccessFile_length:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10460
    |file sz|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10461
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10462
    file := self validateFile:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10463
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10464
    FileIOTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10465
	('JAVA: length of ' , file pathName) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10466
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10467
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10468
    sz := file size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10469
    ^ sz.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10470
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10471
    "Created: / 4.2.1998 / 13:27:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10472
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10473
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10474
_RandomAccessFile_read:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10475
    |file byte|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10476
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10477
    file := self validateFile:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10478
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10479
    FileIOTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10480
	('JAVA: read 1 byte from ' , file pathName) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10481
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10482
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10483
    byte := file nextByte.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10484
    byte isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10485
	^ -1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10486
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10487
    ^ byte
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10488
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10489
    "Modified: / 5.1.1998 / 02:17:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10490
    "Created: / 27.1.1999 / 19:01:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10491
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10492
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10493
_RandomAccessFile_readBytes:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10494
    ^ self anyStream_readBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10495
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10496
    "Modified: / 4.2.1998 / 15:23:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10497
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10498
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10499
_RandomAccessFile_seek:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10500
    |file pos|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10501
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10502
    file := self validateFile:(nativeContext receiver).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10503
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10504
    FileIOTrace ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10505
	('JAVA: seek on ' , file pathName) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10506
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10507
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10508
    pos := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10509
    file position:pos+1 "/ ST/X position starts at 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10510
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10511
    "Created: / 4.2.1998 / 13:25:38 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10512
    "Modified: / 4.2.1998 / 13:28:12 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10513
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10514
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10515
_RandomAccessFile_writeBytes:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10516
    ^ self anyStream_writeBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10517
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10518
    "Modified: / 4.2.1998 / 15:24:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10519
    "Created: / 4.2.1998 / 15:24:35 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10520
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10521
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10522
_Runtime_buildLibName:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10523
    |jPath jFileName path fileName libName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10524
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10525
    jPath := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10526
    jFileName := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10527
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10528
    path := Java as_ST_String:jPath.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10529
    fileName := Java as_ST_String:jFileName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10530
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10531
    path = '__builtIn__' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10532
	libName := path , '/' , fileName
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10533
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10534
	libName := path , '/lib' , fileName , '.so'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10535
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10536
    ^ Java as_String:libName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10537
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10538
    "Modified: / 8.8.1997 / 12:05:05 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10539
    "Created: / 4.1.1998 / 19:07:14 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10540
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10541
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10542
_Runtime_execInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10543
    "Run a unix-command; return a process object."
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10544
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10545
    |cmdAndArgArray envArray cmd jProcessClass jProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10546
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10547
    cmdAndArgArray := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10548
    envArray := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10549
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10550
    cmd := cmdAndArgArray at:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10551
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10552
    OperatingSystem isUNIXlike ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10553
	jProcessClass := Java classForName:'java.lang.UNIXProcess'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10554
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10555
	jProcessClass := Java classForName:'java.lang.Win32Process'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10556
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10557
"/
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10558
    jProcessClass notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10559
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10560
	jProcess := jProcessClass newCleared.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10561
	jProcess
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10562
	    perform:#'<init>([Ljava/lang/String;[Ljava/lang/String;)V'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10563
	    with:cmdAndArgArray
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10564
	    with:envArray.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10565
	^ jProcess
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10566
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10567
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10568
    self throwIOExceptionWithMessage:'Process execution disabled/unimplemented'.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10569
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 10570
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10571
    "Created: / 15.1.1998 / 01:50:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10572
    "Modified: / 11.12.1998 / 13:09:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10573
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10574
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10575
_Runtime_exitInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10576
    "exit - here, we only shut down java threads"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10577
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10578
    |enteredMonitors|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10579
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10580
    ExitDebug == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10581
	self halt:'Java code called exit'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10582
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10583
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10584
    self syncMonitorCache.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10585
    (enteredMonitors := self enteredMonitors) size > 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10586
	enteredMonitors do:[:handle | 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10587
	    | mon |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10589
	    mon := LockTable at:handle ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10590
	    mon isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10591
		self halt:'no monitor in exitInternal'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10592
	    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10593
		mon exit.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10594
('====> terminateThread - exit monitor for ' , handle displayString , ' in ' , Processor activeProcess name , ' ...') infoPrintCR. 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10595
	    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10596
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10597
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10598
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10599
    "/ TODO: shut down all threads created by this one ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10600
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10601
    AbortSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10602
    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10603
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10604
    "Created: / 7.1.1998 / 22:48:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10605
    "Modified: / 8.1.1999 / 14:09:36 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10606
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10607
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10608
_Runtime_freeMemory:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10609
    "free memory - Returns the number of free bytes"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10610
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10611
    ^ ObjectMemory freeListSpace + ObjectMemory freeSpace
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10612
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10613
    "Created: / 12.1.1998 / 12:59:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10614
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10615
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10616
_Runtime_initializeLinkerInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10617
    "init sharedLib linker, return searchPath as javaString"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10618
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10619
    |path|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10620
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10621
    "/ mhmh - what is done here ?
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10622
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10623
    path := ''.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10624
    LibPath do:[:comp | path size == 0 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10625
			    path := path , comp
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10626
			] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10627
			    path := path , ':' , comp
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10628
			]
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
    ^ Java as_String:path
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10632
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10633
    "Modified: / 7.8.1997 / 21:17:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10634
    "Created: / 4.1.1998 / 17:53:15 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10635
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10636
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10637
_Runtime_isInputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10638
    "/ boolean isInputStreamLocalised (java.io.DataInputStream)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10639
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
    "Created: / 27.1.2000 / 03:03:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10643
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10644
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10645
_Runtime_isOutputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10646
    "/ boolean isOutputStreamLocalised (java.io.DataOutputStream)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10647
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
    "Created: / 27.1.2000 / 03:02:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10651
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10652
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10653
_Runtime_loadFileInternal:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10654
    "load a sharedLib, return boolean 0 (false) if fail; 1 (true) if ok"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10655
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10656
    |ret|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10657
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10658
    ret := self _Runtime_loadFileInternalI:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10659
    ret < 0 ifTrue:[ ret := 0 ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10660
    ^ ret
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10661
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10662
    "Created: / 4.1.1998 / 19:10:20 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10663
    "Modified: / 4.1.1998 / 19:11:04 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10664
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10665
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10666
_Runtime_loadFileInternalI:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10667
    "1.1b3 change; load a sharedLib like 'loadFileInternal',
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10668
     but return integer:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10669
	-1   outOfMemory error
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10670
	0    failed to load
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10671
	1    loaded or already loaded (i.e. ok)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10672
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10673
    |jLibName libName libHandle|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10674
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10675
    jLibName := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10676
    libName := Java as_ST_String:jLibName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10677
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10678
    (SimulatedLibs includes:libName) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10679
"/        ('JAVA: builtIn libLoad simulated: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10680
	^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10681
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10682
    (LoadedLibs notNil and:[LoadedLibs includesKey:libName]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10683
"/        ('JAVA: already loaded: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10684
	^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10685
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10686
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10687
    libName asFilename exists ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10688
	('JAVA: no file to load: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10689
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10690
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10691
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10692
    (self confirm:'permission to load native library: ' , libName , ' ?') ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10693
	^ 0
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10694
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10695
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10696
    libHandle := ObjectFileLoader loadLibrary:libName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10697
    libHandle isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10698
	('JAVA: failed to load: ' , libName) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10699
	^ 0
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
    LoadedLibs isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10703
	LoadedLibs := Dictionary new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10704
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10705
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10706
    LoadedLibs at:libName put:libHandle.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10707
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10708
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10709
    "Created: / 4.1.1998 / 19:10:54 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10710
    "Modified: / 6.2.1998 / 03:11:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10711
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10712
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10713
_Runtime_runFinalization:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10714
    "/ void runFinalization ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10715
"/    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10716
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10717
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10718
    "Created: / 12.11.1998 / 18:59:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10719
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10720
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10721
_Runtime_runFinalizersOnExit0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10722
    ""
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10723
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10724
    |onOff|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10725
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10726
    onOff := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10727
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10728
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10729
    "Modified: / 6.2.1998 / 03:11:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10730
    "Created: / 15.10.1998 / 23:34:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10731
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10732
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10733
_Runtime_setInputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10734
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10735
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10736
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10737
    "Modified: / 27.1.2000 / 03:02:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10738
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10739
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10740
_Runtime_setOutputStreamLocalised:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10741
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10742
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10743
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10744
    "Modified: / 27.1.2000 / 03:02:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10745
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10746
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10747
_Runtime_totalMemory:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10748
    "free memory - Returns the total number of bytes"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10749
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10750
    ^ ObjectMemory oldSpaceSize + ObjectMemory newSpaceSize
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10751
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10752
    "Created: / 12.1.1998 / 12:59:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10753
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10754
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10755
_Runtime_traceInstructions:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10756
    "/ void traceInstructions (boolean)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10757
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10758
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10759
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10760
    "Created: / 12.11.1998 / 18:59:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10761
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10762
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10763
_Runtime_traceMethodCalls:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10764
    "/ void traceMethodCalls (boolean)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10765
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10766
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10767
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10768
    "Created: / 12.11.1998 / 18:59:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10769
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10770
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10771
_ScrollPane_initIDs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10772
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10773
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10774
    "Created: / 28.1.1998 / 22:19:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10775
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10776
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10777
_SecurityManager_classDepth:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10778
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10779
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10780
    "Modified: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10781
    "Created: / 12.11.1998 / 18:56:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10782
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10783
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10784
_SecurityManager_classLoaderDepth:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10785
    |con depth|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10786
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10787
    con := thisContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10788
    depth := 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10789
    [con notNil] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10790
	con receiver == JavaClassReader classLoaderQuerySignal ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10791
	    con selector == #handle:do: ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10792
		depth := depth + 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10793
	    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10794
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10795
	con := con sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10796
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10797
'JAVA: classLoaderDepth -> ' infoPrint. depth infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10798
    ^ depth.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10799
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10800
    "Created: / 13.1.1998 / 09:21:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10801
    "Modified: / 13.1.1998 / 09:33:43 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10802
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10803
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10804
_SecurityManager_currentClassLoader:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10805
    |loader|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10806
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10807
    loader := JavaClassReader classLoaderQuerySignal query.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10808
"/ 'JAVA: currentClassLoader -> ' infoPrint. loader displayString infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10809
    ^ loader.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10810
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10811
    "Created: / 13.1.1998 / 09:23:28 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10812
    "Modified: / 11.12.1998 / 12:39:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10813
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10814
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10815
_SecurityManager_currentLoadedClass0:nativeContext
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: / 12.11.1998 / 18:52:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10819
    "Created: / 12.11.1998 / 18:56:41 / 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
_SocketInputStream_socketRead:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10823
    ^ self anyStream_readBytes:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10824
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10825
    "Created: / 25.1.1998 / 20:56:53 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10826
    "Modified: / 4.2.1998 / 15:52:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10827
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10828
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10829
_SocketOutputStream_socketWrite:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10830
    ^ self anyStream_writeBytes:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10831
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10832
    "Created: / 25.1.1998 / 21:06:55 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10833
    "Modified: / 4.2.1998 / 15:52:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10834
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10835
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10836
_String_compareTo:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10837
    "int compareTo (java.lang.String)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10838
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10839
    |jString1 jString2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10840
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10841
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10842
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10843
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10844
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10845
    "Created: / 27.1.2000 / 02:28:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10846
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10847
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10848
_String_equals:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10849
    |jString1 jString2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10850
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10851
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10852
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10853
    ^ (jString1 instVarAt:1) = (jString2 instVarAt:1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10854
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10855
    "Created: / 18.11.1998 / 00:52:03 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10856
    "Modified: / 18.11.1998 / 00:53:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10857
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10858
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10859
_String_equalsIgnoreCase:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10860
    "boolean equalsIgnoreCase (java.lang.String)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10861
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10862
    |jString1 jString2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10863
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10864
self halt:'untested'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10865
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10866
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10867
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10868
    ^ (jString1 instVarAt:1) sameAs: (jString2 instVarAt:1)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10869
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10870
    "Modified: / 18.11.1998 / 00:53:01 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10871
    "Created: / 27.1.2000 / 02:27:46 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10872
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10873
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10874
_String_indexOf:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10875
    "int indexOf (java.lang.String int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10876
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10877
    |jString1 jString2 idx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10878
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10879
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10880
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10881
    idx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10882
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10883
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10884
    "Created: / 27.1.2000 / 02:30:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10885
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10886
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10887
_String_lastIndexOf:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10888
    "int lastIndexOf (java.lang.String int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10889
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10890
    |jString1 jString2 idx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10891
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10892
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10893
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10894
    idx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10895
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10896
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10897
    "Created: / 27.1.2000 / 02:33:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10898
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10899
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10900
_String_length:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10901
    |jString|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10902
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10903
    jString := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10904
    ^ (jString instVarAt:3)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10905
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10906
    "Created: / 18.11.1998 / 00:53:50 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10907
    "Modified: / 18.11.1998 / 00:54:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10908
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10909
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10910
_String_regionMatches2:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10911
    "boolean regionMatches (boolean int java.lang.String int int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10912
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10913
    |jString1 bool jString2 idx1 idx2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10914
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10915
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10916
    bool := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10917
    jString2 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10918
    idx1 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10919
    idx2 := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10920
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10921
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10922
    "Created: / 27.1.2000 / 02:33:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10923
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10924
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10925
_String_regionMatches:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10926
    "boolean regionMatches (int java.lang.String int int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10927
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10928
    |jString1 jString2 idx1 idx2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10929
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10930
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10931
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10932
    idx1 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10933
    idx2 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10934
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10935
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10936
    "Created: / 27.1.2000 / 02:32:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10937
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10938
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10939
_String_startsWith:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10940
    "boolean startsWith (java.lang.String int)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10941
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10942
    |jString1 jString2 idx|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10943
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10944
    jString1 := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10945
    jString2 := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10946
    idx := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10947
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10948
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10949
    "Created: / 27.1.2000 / 02:31:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10950
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10951
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10952
_SystemColor_GetSysColor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10953
    "/ int GetSysColor (int)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10954
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10955
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10956
    "Created: / 27.1.2000 / 02:44:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10957
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10958
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10959
_SystemResourceManager_getEntryFromKey:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10960
    "get a resource by name"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10961
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10962
    |key s|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10963
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10964
    key := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10965
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10966
    s := Java effectiveClassPath at:(key+1) ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10967
    s isNil ifTrue:[^ nil].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10968
    ^ Java as_String:s
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10969
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10970
    "Modified: / 22-11-2010 / 13:44:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10971
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10972
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10973
_SystemResourceManager_validateSystemResource:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10974
    "check a resource"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10975
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10976
    |bool str1 str2|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10977
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10978
    bool := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10979
    str1 := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10980
    str2 := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10981
    ^ 1 "/ true
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10982
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10983
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10984
_System_getCallerClass:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10985
    "/ introduced with jdk1.2
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10986
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10987
    |senderContext cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10988
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10989
    senderContext := nativeContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10990
    [senderContext receiver == (Java at:'java.lang.System')] whileTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10991
	senderContext := senderContext sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10992
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10993
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10994
    senderContext method isStatic ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10995
	cls := senderContext receiver
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10996
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10997
	cls := senderContext receiver class
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10998
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 10999
    cls isJavaClass ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11000
	^ self javaClassObjectForClass:cls
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11001
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11002
    (cls isMemberOf:(Java at:'java.lang.Class')) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11003
	^ Java at:'java.lang.Class'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11004
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11005
    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11006
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11007
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11008
    "Modified: / 27.1.1998 / 18:33:13 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11009
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11010
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11011
_System_validateSecurityManager:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11012
    "void validateSecurityManager (java.lang.SecurityManager)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11013
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11014
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11015
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11016
    "Created: / 27.1.2000 / 02:43:25 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11017
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11018
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11019
_ThreadGroup_initMainThreadGroup0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11020
    "void initMainThreadGroup0 (java.lang.ThreadGroup)"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11021
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11022
UnimplementedNativeMethodSignal raise.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11023
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11024
    "Created: / 27.1.2000 / 02:45:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11025
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11026
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11027
_Thread_countStackFrames:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11028
    "/ int countStackFrames ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11029
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11030
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11031
    "Created: / 12.11.1998 / 19:06:21 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11032
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11033
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11034
_Thread_resume0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11035
    "yield"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11036
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11037
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11038
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11039
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11040
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11041
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11042
	ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11043
	    ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11044
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11045
	^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11046
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11047
    stProcess resume
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11048
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11049
    "Created: / 8.1.1998 / 01:06:27 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11050
    "Modified: / 6.2.1998 / 02:15:08 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11051
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11052
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11053
_Thread_start:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11054
    "start the thread"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11055
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11056
    |jThread jName name stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11057
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11058
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11059
    (jThread instVarNamed:'priority') < 1 ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11060
        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11061
        jThread instVarNamed:'priority' put:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11062
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11063
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11064
    stProcess := JavaProcess 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11065
                    for:[   
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11066
                          |procName|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11067
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11068
                          Object abortSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11069
                            procName := stProcess name.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11070
                            (procName startsWith:'JAVA-AWT-EventQueue') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11071
                                ('JAVA [info]: thread ' , procName , ' aborted - restarting process.') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11072
                                ex restart.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11073
                            ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11074
                                (stProcess == JavaScreenUpdaterThread 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11075
                                or:[stProcess == JavaEventQueueThread]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11076
                                    ('JAVA [info]: thread ' , procName , ' aborted - restarting process.') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11077
                                    ex restart
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11078
                                ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11079
                                    ('JAVA [info]: thread ' , procName , ' aborted.') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11080
                                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11081
                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11082
                          ] do:[ 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11083
                            [
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11084
                                JavaVM javaExceptionSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11085
                                    |exClass|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11086
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11087
                                    procName := stProcess name.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11088
                                    exClass := ex parameter class.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11089
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11090
                                    exClass == (Java at:'java.lang.ThreadDeath') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11091
                                        ('JAVA: thread ' , procName , ' terminated') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11092
                                    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11093
                                        Transcript 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11094
                                            showCR:('JAVA: thread ''' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11095
                                                    , procName 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11096
                                                    , ''' terminated with exception: ' 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11097
                                                    , exClass name).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11098
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11099
                                    ex return.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11100
                                ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11101
                                    Object messageNotUnderstoodSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11102
                                        "/ remap doesNotUnderstand with nil-receiver to
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11103
                                        "/ a nullPointerException ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11104
                                        |con m|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11105
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11106
                                        con := ex suspendedContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11107
                                        con receiver isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11108
                                            ((m := con sender method) notNil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11109
                                            and:[m isJavaMethod]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11110
                                                self throwNullPointerException.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11111
                                                AbortSignal raise. "/ ex proceed.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11112
                                            ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11113
                                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11114
                                        ex reject.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11115
                                    ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11116
"/ Transcript showCR:(Timestamp now printString , 'start thread: ', stProcess name).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11117
                                        jThread perform:#'run()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11118
                                        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11119
                                            ('JAVA: thread ' , stProcess name , ' terminated') infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11120
                                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11121
                                        jThread perform:#'exit()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11122
                                        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11123
                                            ('JAVA: after exit of thread ' , stProcess name) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11124
                                        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11125
                                    ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11126
                                ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11127
                            ] ensure:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11128
                                |monitors|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11129
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11130
                                monitors := EnteredMonitorsPerProcess at:stProcess ifAbsent:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11131
                                monitors notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11132
                                    monitors do:[:obj |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11133
                                        | mon |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11134
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11135
                                        mon := self monitorFor:obj.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11136
                                        mon notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11137
                                            mon owningProcess == stProcess ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11138
                                                ('JAVA: release monitor owned by dying thread: ' , stProcess name) infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11139
                                                mon exit
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11140
                                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11141
                                        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11142
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11143
                                    EnteredMonitorsPerProcess removeKey:stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11144
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11145
                                    stProcess == JavaScreenUpdaterThread ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11146
                                        JavaScreenUpdaterThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11147
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11148
                                    stProcess == JavaEventQueueThread ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11149
                                        JavaEventQueueThread := nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11150
                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11151
"/                                    screenUpdaterClass := Java at:'sun.awt.ScreenUpdater'.    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11152
"/                                    screenUpdaterClass notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11153
"/                                        screenUpdaterClass instVarNamed:'updater' put:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11154
"/                                    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11155
                                ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11156
                                Java threads removeKey:jThread ifAbsent:[].
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
                    priority:(Processor activePriority).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11161
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11162
    jName := jThread instVarNamed:'name'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11163
    jName isString ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11164
        name := Java as_ST_String:jName.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11165
    ] ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11166
        name := jName
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11167
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11168
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11169
    "/ kludge - remember the ScreenUpdater ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11170
    name = 'Screen Updater' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11171
        JavaScreenUpdaterThread := stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11172
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11173
        name = 'AWT-Windows' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11174
            JavaEventThread := stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11175
        ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11176
            (name startsWith:'AWT-EventQueue') ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11177
                JavaEventQueueThread := stProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11178
            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11179
        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11180
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11181
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11182
"/name = 'UserDialogShowThread' ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11183
"/self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11184
"/].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11185
    "/ when that process terminates, wakup any waiters
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11186
    stProcess addExitAction:[self wakeup:jThread].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11187
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11188
    stProcess name:'JAVA-' , name.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11189
    stProcess restartable:true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11190
    stProcess resume.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11191
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11192
    Java threads at:jThread put:stProcess.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11193
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11194
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11195
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11196
    "Created: / 3.1.1998 / 02:05:52 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11197
    "Modified: / 24.12.1999 / 03:14:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11198
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11199
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11200
_Thread_stop0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11201
    "terminate a thread"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11202
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11203
    |jThread stProcess death|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11204
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11205
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11206
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11207
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11208
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11209
        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11210
            ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11211
        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11212
        ^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11213
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11214
stProcess == JavaScreenUpdaterThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11215
stProcess == JavaEventQueueThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11216
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11217
    death := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11218
    stProcess 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11219
        interruptWith:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11220
                        JavaVM javaExceptionSignal handle:[:ex |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11221
Processor activeProcess == JavaScreenUpdaterThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11222
Processor activeProcess == JavaEventQueueThread ifTrue:[self halt].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11223
                            Processor activeProcess terminate
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11224
                        ] do:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11225
                            ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11226
                                ('JAVA: thread exit: ' , jThread displayString) infoPrintNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11227
                            ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11228
                            jThread perform:#'exit()V'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11229
                            self throwException:death.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11230
                        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11231
                      ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11232
    stProcess resume.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11233
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11234
    [stProcess isDead] whileFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11235
        stProcess resume.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11236
        'JavaVM: wait for death' infoPrintCR.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11237
        Delay waitForSeconds:0.1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11238
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11239
    stProcess terminate
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11240
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11241
    "Created: / 8.1.1998 / 13:11:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11242
    "Modified: / 24.12.1999 / 02:32:45 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11243
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11244
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11245
_Thread_suspend0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11246
    "yield"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11247
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11248
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11249
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11250
    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11251
    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11252
    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11253
	ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11254
	    ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11255
	].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11256
	^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11257
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11258
    stProcess suspend
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11259
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11260
    "Created: / 8.1.1998 / 01:05:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11261
    "Modified: / 6.2.1998 / 02:15:23 / cg"
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
_Thread_yield:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11265
    "yield"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11266
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11267
    |jThread stProcess|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11268
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11269
    Processor yield.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11270
"/    jThread := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11271
"/    stProcess := JavaVM stProcessForJavaThread:jThread.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11272
"/    stProcess isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11273
"/        ThreadTrace == true ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11274
"/            ('JAVA: no stProcess for javaThread: ' , jThread displayString) printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11275
"/        ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11276
"/        ^ nil "void"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11277
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11278
"/    stProcess == Processor activeProcess ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11279
"/        Processor yield.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11280
"/    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11281
"/        self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11282
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11283
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11284
    "Created: / 5.1.1998 / 02:03:51 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11285
    "Modified: / 23.12.1998 / 19:19:17 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11286
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11287
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11288
_Throwable_printStackTrace0:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11289
    |out outStream exceptionObject contextList|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11290
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11291
    outStream := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11292
    exceptionObject := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11293
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11294
    contextList := exceptionObject instVarNamed:'backtrace'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11295
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11296
    out := self javaConsoleStream.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11297
    out cr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11298
    out nextPutLine:'JAVA: stackTrace:'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11299
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11300
    contextList do:[:con |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11301
	out 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11302
	    nextPutAll:'  '; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11303
	    nextPutAll:(con method javaClass fullName);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11304
	    nextPutAll:'.';
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11305
	    nextPutAll:(con method selector);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11306
	    nextPutAll:' ['; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11307
	    nextPutAll:(con method javaClass sourceFile); 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11308
	    nextPutAll:' '; 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11309
	    nextPutAll:(con quickLineNumber displayString); 
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11310
	    nextPutAll:']'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11311
	out cr
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11312
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11313
    out nextPutLine:'----------------------------------------------------'
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11314
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11315
    "Created: / 4.1.1998 / 14:27:40 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11316
    "Modified: / 10.11.1998 / 14:19:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11317
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11318
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11319
_URLConnection_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11320
    "/ void close ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11321
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11322
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11323
    "Created: / 12.11.1998 / 19:26:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11324
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11325
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11326
_URLConnection_finalize:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11327
    "/ void finalize ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11328
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11329
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11330
    "Created: / 12.11.1998 / 19:25:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11331
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11332
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11333
_URLConnection_getContentLength0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11334
    "/ int getContentLength0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11335
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11337
    "Created: / 12.11.1998 / 19:25:34 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11338
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11339
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11340
_URLConnection_getContentType0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11341
    "/ java.lang.String getContentType0 ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11342
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11343
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11344
    "Created: / 12.11.1998 / 19:25:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11345
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11346
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11347
_URLConnection_getHeaderField0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11348
    "/ java.lang.String getHeaderField0 (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11349
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11350
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11351
    "Created: / 12.11.1998 / 19:25:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11352
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11353
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11354
_URLConnection_pCreate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11355
    "/ void pCreate (java.lang.String java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11356
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11357
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11358
    "Created: / 12.11.1998 / 19:25:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11359
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11361
_URLInputStream_available:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11362
    "/ int available ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11363
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11364
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11365
    "Created: / 12.11.1998 / 19:24:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11366
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11367
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11368
_URLInputStream_open:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11369
    "/ void open ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11370
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11371
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11372
    "Created: / 12.11.1998 / 19:24:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11373
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11374
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11375
_URLInputStream_read:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11376
    "/ int read (byte[] int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11377
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11378
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11379
    "Created: / 12.11.1998 / 19:24:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11380
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11381
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11382
_URLOutputStream_open:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11383
    "/ void open ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11384
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11385
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11386
    "Created: / 12.11.1998 / 19:24:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11387
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11388
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11389
_URLOutputStream_pClose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11390
    "/ void pClose ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11391
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11392
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11393
    "Created: / 12.11.1998 / 19:25:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11394
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11395
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11396
_URLOutputStream_write:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11397
    "/ void write (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11398
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11399
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11400
    "Created: / 12.11.1998 / 19:24:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11401
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11402
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11403
_URLOutputStream_writeBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11404
    "/ void writeBytes (byte[] int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11405
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11407
    "Created: / 12.11.1998 / 19:24:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11408
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11409
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11410
_URLStreamHandlerFactory_pInit:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11411
    "/ self unimplementedNativeMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11412
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11413
    "Created: / 10.1.1998 / 15:47:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11414
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11415
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11416
_URLStreamHandlerFactory_pSupportsProtocol:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11417
    "/ boolean pSupportsProtocol (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11418
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11419
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11420
    "Created: / 12.11.1998 / 19:23:43 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11421
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11422
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11423
_VM_getState:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11424
    "/ int getState ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11425
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11426
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11427
    "Created: / 12.11.1998 / 19:06:44 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11428
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11429
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11430
_VM_resetJavaMonitor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11431
    "/ void resetJavaMonitor ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11432
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11433
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11434
    "Created: / 14.11.1998 / 10:43:23 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11435
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11436
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11437
_VM_resumeJavaMonitor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11438
    "/ void resumeJavaMonitor ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11439
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11440
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11441
    "Created: / 14.11.1998 / 10:42:49 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11442
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11443
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11444
_VM_suspendJavaMonitor:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11445
    "/ void suspendJavaMonitor ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11446
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11447
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11448
    "Created: / 14.11.1998 / 10:43:07 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11449
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11450
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11451
_VM_threadsSuspended:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11452
    "/ boolean threadsSuspended ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11453
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11454
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11455
    "Created: / 12.11.1998 / 19:07:10 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11456
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11457
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11458
_VM_unsuspendSomeThreads:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11459
    "/ void unsuspendSomeThreads ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11460
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11461
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11462
    "Created: / 12.11.1998 / 19:07:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11463
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11464
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11465
_VM_unsuspendThreads:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11466
    "/ void unsuspendThreads ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11467
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11468
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11469
    "Created: / 12.11.1998 / 19:07:20 / 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
_VM_writeJavaMonitorReport:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11473
    "/ void writeJavaMonitorReport ()
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11474
    UnimplementedNativeMethodSignal raise
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11475
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11476
    "Created: / 14.11.1998 / 10:43:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 11477
!
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11478
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11479
_WButtonPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11480
    |jButtonPeer jButton jFrame frame button
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11481
     lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11482
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11483
    jButtonPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11484
    jButton := jButtonPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11485
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11486
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11487
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11488
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11489
    button := Button in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11490
    button sizeFixed:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11491
    button action:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11492
			jButtonPeer perform:#'handleAction()V'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11493
		  ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11494
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11495
    lbl := jButton instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11496
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11497
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11498
	button label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11499
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11500
    self createdWindowsView:button for:jButtonPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11502
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11503
	'WButtonPeer_create: ' print. frame print. ' -> ' print. button printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11504
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11505
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11506
    "Created: / 5.1.1998 / 01:53:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11507
    "Modified: / 11.12.1998 / 00:19:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11508
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11509
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11510
_WButtonPeer_setLabel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11511
    |label jString|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11512
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11513
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11514
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11515
    label := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11516
    label label:(Java as_ST_String:jString)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11517
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11518
    "Modified: / 8.1.1998 / 17:35:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11519
    "Created: / 1.2.1998 / 17:05:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11520
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11521
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11522
_WCanvasPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11523
    |jCanvasPeer jFrame frame subView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11524
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11525
    jCanvasPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11526
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11527
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11528
    jFrame isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11529
	self halt:'no frame in canvasPeer create'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11530
	subView := JavaView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11531
"/        self internalError:'no frame in canvasPeer create'.     
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11532
"/        ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11533
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11534
	frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11535
	subView := JavaView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11536
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11537
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11538
    subView delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11539
    subView javaPeer:jCanvasPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11541
    self createdWindowsView:subView for:jCanvasPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11542
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11543
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11544
	'WCanvasPeer_create: ' print. frame print. ' -> ' print. subView printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11545
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11546
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11547
    "Created: / 5.1.1998 / 00:59:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11548
    "Modified: / 16.1.1998 / 13:40:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11549
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11551
_WCheckboxMenuItemPeer_setState:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11552
    "/ void setState (boolean)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11553
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11554
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11555
    "Created: / 12.11.1998 / 19:14:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11556
    "Modified: / 3.12.1998 / 21:41:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11557
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11558
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11559
_WCheckboxPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11560
    |jCheckboxPeer jCheckbox jFrame frame checkBox lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11561
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11562
    jCheckboxPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11563
    jCheckbox := jCheckboxPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11564
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11565
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11566
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11567
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11568
    checkBox := CheckBox in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11569
    checkBox action:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11570
			jCheckboxPeer 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11571
			    perform:#'handleAction(Z)V' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11572
			    with:(checkBox isOn ifTrue:[1] ifFalse:[0])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11573
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11574
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11575
    lbl := jCheckbox instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11576
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11577
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11578
	checkBox label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11579
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11580
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11581
    self createdWindowsView:checkBox for:jCheckboxPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11582
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11583
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11584
	'WCheckboxPeer_create: ' print. frame print. ' -> ' print. checkBox printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11585
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11586
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11587
    "Created: / 7.1.1998 / 21:48:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11588
    "Modified: / 15.1.1998 / 12:27:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11589
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11590
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11591
_WCheckboxPeer_setCheckboxGroup:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11592
    |checkBox jGroup|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11593
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11594
    checkBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11595
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11596
    jGroup := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11597
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11598
    "Created: / 7.1.1998 / 21:48:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11599
    "Modified: / 25.1.1998 / 01:20:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11600
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11601
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11602
_WCheckboxPeer_setLabel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11603
    "/ void setLabel (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11604
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11605
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11606
    "Created: / 12.11.1998 / 19:14:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11607
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11608
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11609
_WCheckboxPeer_setState:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11610
    |checkBox state|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11611
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11612
    checkBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11613
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11614
    state := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11615
    state ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11616
	checkBox turnOn
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11617
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11618
	checkBox turnOff
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11619
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11620
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11621
    "Created: / 7.1.1998 / 21:49:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11622
    "Modified: / 25.1.1998 / 01:26:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11623
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11624
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11625
_WChoicePeer_addItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11626
    |jString index comboBox|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11627
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11628
    comboBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11629
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11630
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11631
    index := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11632
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11633
    comboBox model list addLast:(Java as_ST_String:jString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11634
    comboBox model changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11635
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11636
    "Created: / 7.1.1998 / 21:45:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11637
    "Modified: / 24.1.1998 / 18:51:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11638
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11639
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11640
_WChoicePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11641
    |jChoicePeer jChoice jFrame frame comboBox|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11643
    jChoicePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11644
    jChoice := jChoicePeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11645
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11646
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11647
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11648
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11649
    comboBox := ComboListView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11650
    comboBox model:(SelectionInList new list:(OrderedCollection new)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11651
    comboBox action:[:index | 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11652
			jChoicePeer 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11653
			    perform:#'handleAction(I)V' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11654
			    with:(comboBox model selectionIndex - 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11655
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11656
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11657
    self createdWindowsView:comboBox for:jChoicePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11658
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11659
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11660
	'WChoicePeer_create: ' print. frame print. ' -> ' print. comboBox printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11661
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11662
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11663
    "Created: / 7.1.1998 / 21:44:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11664
    "Modified: / 28.1.1998 / 23:19:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11665
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11666
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11667
_WChoicePeer_remove:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11668
    "/ void remove (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11669
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11670
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11671
    "Created: / 12.11.1998 / 19:12:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11672
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11673
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11674
_WChoicePeer_reshape:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11675
    self commonReshapeComponent:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11676
"/    self pReshape:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11677
    ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11678
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11679
    "Created: / 7.1.1998 / 21:46:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11680
    "Modified: / 23.12.1998 / 19:08:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11681
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11683
_WChoicePeer_select:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11684
    |comboBox index|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11685
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11686
    comboBox := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11687
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11688
    index := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11689
    comboBox model selectionIndex:(index + 1).  "/ JAVA indexing starts at 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11691
    "Created: / 7.1.1998 / 21:45:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11692
    "Modified: / 25.1.1998 / 09:55:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11693
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11694
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11695
_WClipboard_getClipboardText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11696
    "/ java.lang.String getClipboardText ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11697
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11698
    |str|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11699
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11700
    str := Screen current rootView getTextSelection.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11701
    str isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11702
	str := ''.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11703
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11704
    ^ Java as_String:''.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11705
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11706
    "Modified: / 10.12.1998 / 21:28:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11707
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11708
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11709
_WClipboard_init:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11710
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11712
    "Modified: / 18.3.1997 / 18:43:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11713
    "Created: / 4.1.1998 / 19:03:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11714
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11715
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11716
_WClipboard_setClipboardText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11717
    "/ void setClipboardText (java.awt.datatransfer.StringSelection)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11718
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11719
    |strSel data|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11720
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11721
    strSel := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11722
    data := strSel instVarNamed:'data'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11723
    data class == (Java at:'java.lang.String') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11724
	Screen current rootView setTextSelection:(Java as_ST_String:data)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11725
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11726
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11727
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11728
    "Created: / 12.11.1998 / 19:15:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11729
    "Modified: / 10.12.1998 / 21:25:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11730
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11731
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11732
_WColor_getDefaultColor:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11733
    |clrIndex jClr clr |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11734
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11735
    clrIndex := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11736
    "/ windows defaults:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11737
    "/  1: view background
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11738
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11739
    clrIndex == 1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11740
	clr := View defaultViewBackgroundColor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11741
	clr isColor ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11742
	    clr := Color gray:50.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11743
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11744
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11745
    clrIndex == 2 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11746
	clr := Color black.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11747
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11748
    clr isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11749
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11750
	self internalError:'breakpoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11751
	^ nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11752
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11753
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11754
    clr := clr on:(Screen current).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11755
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11756
    jClr := (Java classForName:'java.awt.Color') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11757
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11758
    jClr instVarNamed:'pData' put:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11759
    jClr instVarNamed:'value' put:(clr rgbValue).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11760
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11761
    ^ jClr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11762
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11763
    "Created: / 15.8.1997 / 15:38:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11764
    "Modified: / 4.1.1998 / 18:06:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11765
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11766
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11767
_WComponentPeer__beginValidate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11768
    "/ void _beginValidate ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11769
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11771
    "Created: / 12.11.1998 / 19:10:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11772
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11773
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11774
_WComponentPeer__dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11775
    |view jPeer|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11776
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11777
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11778
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11779
    Object errorSignal catch:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11780
	view destroy.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11781
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11782
    JavaWindowGroup removeView:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11783
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11784
    jPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11785
    jPeer instVarNamed:'pData' put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11786
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11787
    "Created: / 7.1.1998 / 22:36:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11788
    "Modified: / 25.1.1998 / 16:43:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11789
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11790
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11791
_WComponentPeer__setBackground:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11792
    |rgb clr view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11793
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11794
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11795
    view isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11796
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11797
    rgb := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11798
    clr := Color rgbValue:rgb.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11799
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11800
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11801
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11802
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11803
    clr := clr on:(view device).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11804
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11805
"/    (view superView isMemberOf:JavaEmbeddedFrameView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11806
"/        view viewBackground:(view superView viewBackground).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11807
"/        view backgroundPaint:(view superView viewBackground).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11808
"/    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11809
"/        (view isMemberOf:JavaView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11810
"/            view viewBackground:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11811
"/            view backgroundPaint:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11812
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11813
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11814
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11815
    (view isKindOf:ScrollableView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11816
	view := view scrolledView
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11817
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11818
    view viewBackground:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11819
    view backgroundPaint:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11820
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11821
    "Created: / 4.1.1998 / 18:07:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11822
    "Modified: / 4.12.1998 / 17:26:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11823
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11824
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11825
_WComponentPeer__setForeground:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11826
    |rgb clr view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11827
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11828
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11829
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11830
    rgb := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11831
    clr := Color rgbValue:rgb.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11832
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11833
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11834
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11835
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11836
    clr := clr on:(view device).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11837
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11838
    view paint:clr.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11839
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11840
    "Created: / 4.1.1998 / 18:08:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11841
    "Modified: / 8.1.1998 / 17:32:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11842
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11843
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11844
_WComponentPeer_disable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11845
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11846
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11847
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11848
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11849
    Object errorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11850
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11851
	view disable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11852
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11853
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11854
    "Created: / 6.1.1998 / 18:26:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11855
    "Modified: / 8.1.1998 / 17:32:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11856
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11857
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11858
_WComponentPeer_enable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11859
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11860
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11861
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11862
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11863
    Object errorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11864
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11865
	view enable
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11866
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11867
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11868
    "Modified: / 8.1.1998 / 17:32:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11869
    "Created: / 13.1.1998 / 23:08:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11870
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11871
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11872
_WComponentPeer_endValidate:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11873
    "/ void endValidate ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11874
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11875
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11876
    "Created: / 12.11.1998 / 19:10:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11877
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11878
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11879
_WComponentPeer_getLocationOnScreen:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11880
    "/ java.awt.Point getLocationOnScreen ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11881
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11882
    |view p jP|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11883
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11884
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11885
    view isNil ifTrue:[^ nil].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11886
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11887
    p := view originRelativeTo:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11888
    jP := (Java classForName:'java.awt.Point') basicNew.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11889
    jP instVarNamed:'x' put:p x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11890
    jP instVarNamed:'y' put:p y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11891
    ^ jP
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11892
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11893
    "Modified: / 5.12.1998 / 14:44:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11894
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11895
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11896
_WComponentPeer_handleEvent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11897
    "this is invoked by java, to let a widget handle any event which
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11898
     was not consumed (eaten) by java.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11899
     If the view in question is some ST-widget, forward it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11900
     Ignore for JavaViews."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11901
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11902
    |view jEv stEv ignore|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11903
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11904
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11905
    view notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11906
	jEv := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11907
	stEv := jEv instVarNamed:'data'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11908
	(stEv notNil and:[stEv ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11909
	    ignore := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11910
	    view isJavaView ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11911
		ignore := false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11912
	    ] ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11913
		view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11914
		    stEv type == #terminate ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11915
			ignore := false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11916
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11917
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11918
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11919
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11920
	    ignore ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11921
		EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11922
		    ('JAVA: WComponent - handleEvent: ' , stEv type , ' for ' , view printString) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11923
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11924
		view dispatchEvent:stEv. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11925
		^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11926
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11927
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11928
	    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11929
		('JAVA: WComponent - handleEvent ignored:' , stEv type) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11930
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11931
	    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11932
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11933
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11934
    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11935
	('JAVA: WComponent - handleEvent ignored') infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11936
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11937
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11938
    "Created: / 6.1.1998 / 21:10:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11939
    "Modified: / 11.12.1998 / 01:04:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11940
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11942
_WComponentPeer_hide:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11943
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11944
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11945
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11946
"/ view isPopUpView ifTrue:[self halt].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11947
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11948
    Object errorSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11949
    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11950
	view beInvisible
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11951
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11952
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11953
    "Created: / 7.1.1998 / 22:35:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11954
    "Modified: / 4.12.1998 / 17:53:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11955
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11956
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11957
_WComponentPeer_nativeHandleEvent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11958
    "this is invoked by java, to let a widget handle any event which
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11959
     was not consumed (eaten) by java.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11960
     If the view in question is some ST-widget, forward it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11961
     Ignore for JavaViews."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11962
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11963
    |view jEv stEv|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11964
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11965
^self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11966
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11967
    view notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11968
	(view isKindOf:JavaView) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11969
	    jEv := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11970
	    stEv := jEv instVarNamed:'data'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11971
	    (stEv notNil and:[stEv ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11972
		EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11973
		    ('JAVA: WComponent - handleEvent: ' , stEv type , ' for ' , view printString) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11974
		].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11975
		stEv sendEventWithFocusOn:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11976
		^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11977
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11978
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11979
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11980
    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11981
	('JAVA: WComponent - handleEvent ignored') infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11982
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11983
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11984
    "Created: / 19.10.1998 / 21:26:16 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11985
    "Modified: / 19.10.1998 / 23:26:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11986
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11987
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11988
_WComponentPeer_requestFocus:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11989
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11990
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11991
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11992
"/ 'getFocus - ' print. view displayString printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11993
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11994
"/    view getKeyboardFocus
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11995
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11996
    "Created: / 7.1.1998 / 22:30:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11997
    "Modified: / 4.12.1998 / 19:42:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11998
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 11999
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12000
_WComponentPeer_reshape:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12001
    self commonReshapeComponent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12002
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12003
    "Modified: / 18.3.1997 / 19:30:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12004
    "Created: / 4.1.1998 / 18:01:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12005
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12006
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12007
_WComponentPeer_setBackground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12008
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12009
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12010
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12011
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12012
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12013
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12014
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12015
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12016
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12017
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12018
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12019
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12020
"/    (view superView isMemberOf:JavaEmbeddedFrameView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12021
"/        view viewBackground:(view superView viewBackground).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12022
"/        view backgroundPaint:(view superView viewBackground).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12023
"/    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12024
"/        (view isMemberOf:JavaView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12025
"/            view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12026
"/            view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12027
"/        ]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12028
"/    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12029
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12030
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12031
	view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12032
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12033
    view viewBackground:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12034
    view backgroundPaint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12035
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12036
    "Created: / 16.10.1998 / 02:16:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12037
    "Modified: / 16.10.1998 / 02:26:29 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12038
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12039
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12040
_WComponentPeer_setCursor:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12041
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12042
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12043
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12044
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12045
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12046
    "Created: / 5.1.1998 / 01:52:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12047
    "Modified: / 25.1.1998 / 01:21:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12048
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12049
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12050
_WComponentPeer_setFont:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12051
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12052
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12053
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12054
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12055
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12056
    "Created: / 5.1.1998 / 00:55:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12057
    "Modified: / 25.1.1998 / 01:22:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12058
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12059
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12060
_WComponentPeer_setForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12061
    |jClr rgb clr view|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12062
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12063
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12064
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12065
    jClr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12066
    rgb := jClr instVarNamed:'value'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12067
"/ self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12068
    clr := Color rgbValue:rgb.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12069
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12070
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12071
    clr := clr on:(view device).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12072
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12073
    (view isKindOf:ScrollableView) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12074
	view := view scrolledView
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12075
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12076
    view paint:clr.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12077
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12078
    "Created: / 16.10.1998 / 02:18:58 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12079
    "Modified: / 16.10.1998 / 02:26:37 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12080
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12081
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12082
_WComponentPeer_setZOrderPosition:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12083
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12084
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12085
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12086
"/    self unimplementedNativeMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12087
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12088
"/ self internalError:'breakPoint'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12089
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12090
    "Created: / 4.1.1998 / 17:59:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12091
    "Modified: / 25.1.1998 / 01:22:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12092
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12093
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12094
_WComponentPeer_show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12095
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12096
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12097
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12098
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12099
    "/ frame views are under my browsers own control
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12100
    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12101
	view beVisible.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12102
	view realize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12103
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12105
"/    view windowGroup notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12106
"/        windowServer addGroup:(view windowGroup)
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
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12110
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12111
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12113
    "Created: / 5.1.1998 / 01:26:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12114
    "Modified: / 4.12.1998 / 17:43:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12115
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12116
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12117
_WComponentPeer_start:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12118
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12119
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12120
    "Modified: / 18.3.1997 / 18:43:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12121
    "Created: / 5.1.1998 / 00:58:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12122
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12123
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12124
_WContainerPeer_calculateInsets:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12125
    "/ new with ns4.0 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12126
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12127
    "Created: / 16.10.1998 / 02:12:59 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12128
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12129
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12130
_WDefaultFontCharset_canConvert:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12131
    ^ 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12132
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12133
    "Modified: / 21.8.1997 / 15:56:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12134
    "Created: / 5.1.1998 / 01:55:47 / cg"
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
_WDialogPeer__hide:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12138
    |dialog|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12140
    dialog := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12141
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12142
    dialog hide.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12143
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12144
    "Created: / 7.1.1998 / 22:34:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12145
    "Modified: / 8.1.1998 / 17:34:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12146
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12147
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12148
_WDialogPeer__show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12149
    |dialog|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12151
    dialog := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12152
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12153
"/ show does not work (yet); must setup windowgroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12154
"/ for it to get events ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12155
"/    dialog realize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12156
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12157
dialog show.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12158
"/dialog fixSize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12159
"/dialog makeFullyVisible.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12160
"/dialog openModal:[true] inGroup:JavaWindowGroup
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12161
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12162
    "Created: / 7.1.1998 / 21:52:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12163
    "Modified: / 11.12.1998 / 14:43:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12164
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12165
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12166
_WDialogPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12167
    |jDialogPeer dialog|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12168
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12169
    jDialogPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12170
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12171
    dialog := ModalBox new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12172
    jDialogPeer instVarNamed:'pData' put:dialog.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12173
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12174
    self createdWindowsView:dialog for:jDialogPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12175
    dialog windowGroup:JavaWindowGroup.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12176
    JavaWindowGroup addTopView:dialog.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12177
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12178
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12179
	'WDialogPeer_create: ' print. dialog printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12180
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12181
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12182
    "Created: / 7.1.1998 / 21:51:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12183
    "Modified: / 15.1.1998 / 16:12:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12184
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12185
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12186
_WDrawingSurfaceInfo_getDepth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12187
    "/ int getDepth ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12188
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12189
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12190
    "Created: / 12.11.1998 / 19:21:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12191
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12192
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12193
_WDrawingSurfaceInfo_getHBitmap:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12194
    "/ int getHBitmap ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12195
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12196
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12197
    "Created: / 12.11.1998 / 19:20:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12198
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12199
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12200
_WDrawingSurfaceInfo_getHDC:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12201
    "/ int getHDC ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12202
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12203
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12204
    "Created: / 12.11.1998 / 19:20:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12205
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12206
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12207
_WDrawingSurfaceInfo_getHPalette:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12208
    "/ int getHPalette ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12209
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12210
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12211
    "Created: / 12.11.1998 / 19:21:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12212
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12213
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12214
_WDrawingSurfaceInfo_getHWnd:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12215
    "/ int getHWnd ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12216
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12217
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12218
    "Created: / 12.11.1998 / 19:20:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12219
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12220
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12221
_WDrawingSurfaceInfo_getPBits:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12222
    "/ int getPBits ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12223
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12224
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12225
    "Created: / 12.11.1998 / 19:20:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12226
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12227
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12228
_WDrawingSurfaceInfo_lock:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12229
    "/ int lock ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12230
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12231
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12232
    "Created: / 12.11.1998 / 19:20:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12233
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12234
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12235
_WDrawingSurfaceInfo_unlock:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12236
    "/ void unlock ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12237
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12239
    "Created: / 12.11.1998 / 19:20:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12240
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12241
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12242
_WEmbeddedFramePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12243
    "/ void create (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12244
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12245
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12246
    "Created: / 12.11.1998 / 19:16:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12247
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12248
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12249
_WFileDialogPeer_show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12250
    |jDialogPeer jDialog dialogView stDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12251
     title dir pattern f|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12253
    jDialogPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12254
    jDialog := jDialogPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12255
    dialogView := jDialogPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12256
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12257
    stDialog := FileSelectionBox new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12258
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12259
    dir := jDialog instVarNamed:'dir'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12260
    dir notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12261
	stDialog directory:(Java as_ST_String:dir).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12262
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12263
    pattern := jDialog instVarNamed:'file'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12264
    pattern notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12265
	stDialog pattern:(Java as_ST_String:pattern).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12266
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12267
    title := jDialog instVarNamed:'title'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12268
    title notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12269
	stDialog title:(Java as_ST_String:title).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12270
	stDialog label:(Java as_ST_String:title).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12271
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12272
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12273
    stDialog show.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12274
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12275
    stDialog accepted ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12276
	f := stDialog pathName.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12277
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12278
	"/ cannot use the one below - it has a builtIn fileSeparator if '\' (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12279
	"/ jDialogPeer perform:#'handleSelected(Ljava/lang/String;)V' with:(Java as_String:f).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12280
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12281
	jDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12282
	    perform:#'setFile(Ljava/lang/String;)V' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12283
	    with:(Java as_String:(f asFilename baseName)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12284
	jDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12285
	    perform:#'setDirectory(Ljava/lang/String;)V'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12286
	    with:(Java as_String:(f asFilename directoryName , Filename separator asString)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12287
	jDialog 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12288
	    perform:#'setVisible(Z)V'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12289
	    with:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12290
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12291
	jDialogPeer 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12292
	    perform:#'handleCancel()V'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12293
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12294
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12295
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12296
    "Created: / 7.1.1998 / 22:38:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12297
    "Modified: / 15.1.1998 / 13:04:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12298
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12299
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12300
_WFontMetrics_bytesWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12301
    "/ int bytesWidth (byte[] int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12302
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12304
    "Created: / 12.11.1998 / 19:11:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12305
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12306
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12307
_WFontMetrics_getMFCharSegmentWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12308
    "get multi-font string-segment width.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12309
     Not yet supported - use standard strings width"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12311
    |jMetrics jFont jFontDescr stFont w
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12312
     bool1 cp offs lenght bp int1|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12313
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12314
    jMetrics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12315
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12316
    jFontDescr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12317
    bool1 := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12318
    cp := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12319
    offs := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12320
    lenght := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12321
    bp := nativeContext argAt:7.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12322
    int1 := nativeContext argAt:8.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12323
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12324
    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12325
    (stFont isNil or:[stFont == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12326
	self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12327
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12328
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12329
    stFont device isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12330
	stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12331
	jFont instVarNamed:'pData' put:stFont.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12332
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12333
    w := stFont widthOf:cp from:offs+1 to:offs+lenght.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12334
    ^ w.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12335
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12336
    "Created: / 5.1.1998 / 01:57:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12337
    "Modified: / 13.1.1998 / 23:44:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12338
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12339
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12340
_WFontMetrics_init:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12341
    |jMetrics jFont stFont widths family name style size|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12342
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12343
    jMetrics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12344
    jFont := jMetrics instVarNamed:'font'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12345
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12346
    family := jFont instVarNamed:'family'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12347
    family := Java as_ST_String:family.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12348
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12349
    name := jFont instVarNamed:'name'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12350
    name := Java as_ST_String:name.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12352
    style := jFont instVarNamed:'style'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12353
    size := jFont instVarNamed:'size'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12354
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12355
    stFont := Font family:family size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12356
    stFont isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12357
        stFont := Font family:'helvetica' size:size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12358
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12359
    stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12360
self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12361
"/    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12362
"/    stFont isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12363
"/        self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12364
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12365
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12366
    stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12367
    jFont instVarNamed:'pData' put:stFont.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12368
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12369
    jMetrics instVarNamed:'ascent'     put:stFont ascent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12370
    jMetrics instVarNamed:'descent'    put:stFont descent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12371
    jMetrics instVarNamed:'leading'    put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12372
    jMetrics instVarNamed:'height'     put:stFont height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12373
    jMetrics instVarNamed:'maxAscent'  put:stFont maxAscent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12374
    jMetrics instVarNamed:'maxDescent' put:stFont maxDescent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12375
    jMetrics instVarNamed:'maxHeight'  put:stFont maxHeight.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12376
    jMetrics instVarNamed:'maxAdvance' put:stFont maxWidth.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12378
    widths := Array new:256.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12379
    0 to:255 do:[:i |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12380
        widths at:(i+1) put:(stFont widthOf:(Character value:i))
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12381
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12382
    jMetrics instVarNamed:'widths' put:widths.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12383
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12384
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12385
    "Modified: / 8.8.1997 / 12:06:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12386
    "Created: / 5.1.1998 / 01:54:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12387
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12388
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12389
_WFontMetrics_needsConversion:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12390
    |jFont jFontDescr stFont|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12391
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12392
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12393
    jFontDescr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12394
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12395
    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12396
"/    stFont isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12397
"/        self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12398
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12399
"/    stFont device isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12400
"/        stFont := stFont on:Display.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12401
"/        jFont instVarNamed:'pData' put:stFont.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12402
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12403
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12404
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12405
    ^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12407
    "Modified: / 17.8.1997 / 17:16:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12408
    "Created: / 5.1.1998 / 01:56:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12409
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12410
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12411
_WFramePeer__setIconImage:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12412
    |frame imgRep image|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12413
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12414
    frame := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12415
    imgRep := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12416
    imgRep notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12417
	image := imgRep instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12418
	(image notNil and:[image ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12419
	    frame icon:image.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12420
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12421
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12422
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12423
    "Created: / 27.4.1998 / 17:15:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12424
    "Modified: / 27.4.1998 / 17:18:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12425
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12426
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12427
_WFramePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12428
    |jFramePeer jFrame top frame pDataIdx|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12429
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12430
    jFramePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12432
    "/ for now: a kludge to create an embedded frame for
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12433
    "/ mozillaFrames
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12434
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12435
    jFrame := jFramePeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12436
    (jFrame notNil 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12437
    and:[(pDataIdx := jFrame class instVarOffsetOf:'pData') notNil])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12438
    ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12439
	((frame := jFrame instVarAt:pDataIdx) notNil 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12440
	and:[frame ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12441
	    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12442
		'JAVA: targetFrame view already created: ' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12443
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12444
	    "/ sigh; pData was renamed to pNativeWidget in jdk1.2 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12445
	    pDataIdx := jFramePeer class instVarOffsetOf:'pNativeWidget'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12446
	    pDataIdx isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12447
		"/ ok, we are < 1.2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12448
		pDataIdx := jFramePeer class instVarOffsetOf:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12449
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12450
	    jFramePeer instVarAt:pDataIdx put:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12451
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12452
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12453
	frame := jFramePeer instVarNamed:'pData'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12454
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12455
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12456
    (frame notNil and:[frame ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12457
	WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12458
	    'JAVA: frame view already created: ' infoPrint.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12459
	    jFramePeer class name infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12460
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12461
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12462
"/ OLD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12463
"/        frame := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12464
"/        self createdWindowsView:frame for:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12465
"/        JavaWindowGroup addTopView:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12466
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12467
	frame := JavaTopView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12468
	frame delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12469
	frame javaPeer:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12470
	self createdWindowsView:frame for:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12471
	JavaWindowGroup addTopView:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12472
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12473
"/        top := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12474
"/        frame := JavaView origin:0.0@0.0 corner:1.0@1.0 in:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12475
"/        frame delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12476
"/        frame javaPeer:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12477
"/        self createdWindowsView:frame for:jFramePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12478
"/        JavaWindowGroup addTopView:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12479
        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12480
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12481
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12482
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12483
	'JAVA: WFramePeer_create: ' print. jFramePeer displayString print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12484
	' frame: ' print. frame printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12485
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12486
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12487
    "Created: / 4.1.1998 / 17:56:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12488
    "Modified: / 3.12.1998 / 00:10:21 / cg"
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
_WFramePeer_setMenuBar0:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12492
    |frame jMenuBarPeer menuPanel|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12493
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12494
    frame := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12495
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12496
    jMenuBarPeer := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12497
    jMenuBarPeer isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12498
	"/ mhmh - JAVA wants to remove the frames menuPanel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12499
	"/ but I have no handle on it (for destroy).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12500
	"/ search it in subViews of the frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12501
	frame subViews copy do:[:v |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12502
	    (v isKindOf:MenuPanel) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12503
		v destroy
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12504
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12505
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12506
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12507
	menuPanel := jMenuBarPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12508
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12509
	menuPanel origin:0.0@0.0 corner:1.0@(menuPanel preferredExtent y).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12510
	frame addSubView:menuPanel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12511
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12512
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12513
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12514
    "Created: / 7.1.1998 / 21:41:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12515
    "Modified: / 8.1.1998 / 17:35:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12516
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12517
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12518
_WFramePeer_setResizable:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12519
    |view onOff|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12520
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12521
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12522
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12523
    onOff := (nativeContext argAt:1) == 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12524
    view isTopView ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12525
	onOff ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12526
	    view minExtent:10@10.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12527
	    view maxExtent:(Screen current extent).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12528
	] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12529
	    view minExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12530
	    view maxExtent:view extent.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12531
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12532
    ] ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12533
	(view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12534
	    self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12535
	]
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12536
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12537
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12538
"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12539
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12540
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12541
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12542
    "Modified: / 16.1.1998 / 18:08:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12543
    "Created: / 16.10.1998 / 02:21:34 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12544
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12545
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12546
_WFramePeer_setTitle:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12547
    |view jString string|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12548
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12549
    view := self viewForWPeer:nativeContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12550
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12551
    jString := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12552
    string := Java as_ST_String:jString.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12553
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12554
"/ 'JAVA: WFramePeer_pSetTitle: ' print. string print. ' ' print. view printNL.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12555
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12556
    view label:string.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12557
    ^ nil
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12558
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12559
    "Modified: / 8.1.1998 / 17:37:41 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12560
    "Created: / 27.1.1998 / 21:42:57 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12561
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 12562
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12563
_WGraphics__dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12564
    "/ void _dispose()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12565
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12566
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12567
    "Created: / 12.11.1998 / 19:17:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12568
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12569
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12570
_WGraphics_changeClip:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12571
    |gc x y w h r bool|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12572
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12573
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12574
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12575
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12576
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12577
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12578
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12579
    bool := (nativeContext argAt:5) ~~ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12580
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12581
    r := Rectangle left:x top:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12582
"/ 'WGraphics_changeClip: ' infoPrint. r infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12583
    gc clippingRectangle:r.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12584
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12585
    "Created: / 6.1.1998 / 20:57:21 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12586
    "Modified: / 20.10.1998 / 19:40:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12587
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12588
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12589
_WGraphics_clearRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12590
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12591
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12592
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12593
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12594
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12595
    gc realized ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12596
	'JAVA: drawing on unrealized gc - ignored' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12597
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12598
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12599
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12600
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12601
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12602
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12603
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12604
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12605
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12606
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12607
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12608
    gc clearRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12609
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12610
    "Created: / 8.1.1998 / 00:16:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12611
    "Modified: / 8.1.1998 / 00:21:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12612
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12613
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12614
_WGraphics_close:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12615
    "/ void close (sun.awt.windows.WPrintJob)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12616
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12617
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12618
    "Created: / 12.11.1998 / 19:19:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12619
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12620
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12621
_WGraphics_copyArea:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12622
    |gc srcX srcY w h deltaX deltaY|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12623
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12624
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12625
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12626
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12627
    gc realized ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12628
	'JAVA: copyArea on unrealized gc - ignored' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12629
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12630
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12631
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12632
    srcX := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12633
    srcY := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12634
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12635
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12636
    deltaX := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12637
    deltaY := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12638
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12639
    gc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12640
	copyFrom:gc
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12641
	x:srcX y:srcY 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12642
	toX:srcX+deltaX y:srcY+deltaY 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12643
	width:w height:h
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12644
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12645
    "Created: / 8.1.1998 / 00:16:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12646
    "Modified: / 9.4.1998 / 22:01:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12647
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12648
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12649
_WGraphics_createFromComponent:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12650
    |jGraphics jWin view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12651
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12652
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12653
    jWin := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12654
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12655
    view := KnownWindows at:jWin ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12656
    view isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12657
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12658
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12659
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12660
    view clippingRectangle:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12661
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12662
"/    "/ just a consistency check ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12663
"/    (jWin instVarNamed:'xid') ~~ view ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12664
"/        self halt:'consistency check'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12665
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12666
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12667
    jGraphics instVarNamed:'pData' put:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12668
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12669
    "Created: / 6.1.1998 / 20:55:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12670
    "Modified: / 20.10.1998 / 19:38:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12671
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12672
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12673
_WGraphics_createFromGraphics:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12674
    |jGraphics graphics gc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12675
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12676
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12677
    graphics := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12678
    gc := graphics instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12679
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12680
    jGraphics instVarNamed:'pData' put:gc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12681
    gc clippingRectangle:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12683
    "Created: / 8.1.1998 / 00:47:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12684
    "Modified: / 20.10.1998 / 19:37:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12685
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12686
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12687
_WGraphics_createFromHDC:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12688
    "/ void createFromHDC (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12689
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12691
    "Created: / 12.11.1998 / 19:17:32 / 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
_WGraphics_createFromPrintJob:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12695
    "/ void createFromPrintJob (sun.awt.windows.WPrintJob)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12696
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12697
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12698
    "Created: / 12.11.1998 / 19:17:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12699
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12700
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12701
_WGraphics_dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12702
    |gc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12703
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12704
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12705
    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12706
    gc clippingRectangle:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12707
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12708
    "Created: / 6.1.1998 / 20:58:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12709
    "Modified: / 20.10.1998 / 19:35:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12710
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12712
_WGraphics_drawArc:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12713
    |gc x y w h startAngle endAngle|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12714
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12715
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12716
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12717
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12718
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12719
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12720
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12721
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12722
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12723
    startAngle := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12724
    endAngle := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12725
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12726
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12727
	'drawArc x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12728
	       ' w/h= ' print. w print. '@' print. h print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12729
	       ' startAngle= ' print. startAngle print. ' endAngle= ' print. endAngle printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12730
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12731
    gc 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12732
	displayArcX:x y:y 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12733
	width:w height:h 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12734
	from:startAngle angle:(endAngle - startAngle).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12735
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12736
    "Created: / 6.1.1998 / 21:00:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12737
    "Modified: / 28.1.1999 / 17:38:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12738
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12739
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12740
_WGraphics_drawBytes:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12741
    "/ void drawBytes (byte[] int int int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12742
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12743
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12744
    "Created: / 12.11.1998 / 19:18:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12745
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12746
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12747
_WGraphics_drawLine:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12748
    |gc x y x2 y2|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12749
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12750
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12751
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12752
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12753
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12754
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12755
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12756
    x2 := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12757
    y2 := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12758
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12759
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12760
	'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
 12761
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12762
    gc displayLineFromX:x y:y toX:x2 y:y2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12764
    "Created: / 6.1.1998 / 20:59:27 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12765
    "Modified: / 8.1.1998 / 00:34:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12766
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12767
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12768
_WGraphics_drawMFCharsConvertedSegment:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12769
    "/ int drawMFCharsConvertedSegment (java.awt.Font sun.awt.FontDescriptor byte[] int int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12770
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12771
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12772
    "Created: / 12.11.1998 / 19:18:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12773
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12774
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12775
_WGraphics_drawMFCharsSegment:nativeContext       
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12776
    |jFont jFontDescr s gc x y offs len|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12777
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12778
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12779
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12780
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12781
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12782
    jFontDescr := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12783
    s := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12784
    offs := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12785
    len := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12786
    x := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12787
    y := nativeContext argAt:7.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12788
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12789
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12790
	'drawMFCharsSegment x/y= ' print. x print. '@' print. y print. ' s= ' print. s printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12791
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12792
    gc displayString:s from:offs+1 to:offs+len x:x y:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12793
    ^ (gc font onDevice:(gc graphicsDevice)) widthOf:s.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12794
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12795
    "Created: / 6.1.1998 / 21:01:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12796
    "Modified: / 25.1.1998 / 20:45:55 / 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
_WGraphics_drawOval:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12800
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12801
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12802
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12803
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12804
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12805
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12806
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12807
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12808
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12809
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12810
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12811
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12812
	'drawOval x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12813
		' w/h= ' print. w print. '@' print. h printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12814
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12815
    gc displayArcX:x y:y width:w height:h from:0 angle:360.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12816
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12817
    "Created: / 8.1.1998 / 00:44:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12818
    "Modified: / 9.4.1998 / 22:10:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12819
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12820
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12821
_WGraphics_drawPolygon:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12822
    |gc xVector yVector count points|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12823
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12824
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12825
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12826
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12827
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12828
    xVector := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12829
    yVector := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12830
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12831
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12832
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12833
	'drawPolgon' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12834
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12835
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12836
    points := (1 to:count) collect:[:i | (xVector at:i) @ (yVector at:i)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12837
    gc displayPolygon:points
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12838
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12839
    "Created: / 8.1.1998 / 00:57:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12840
    "Modified: / 8.1.1998 / 00:57:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12841
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12842
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12843
_WGraphics_drawPolyline:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12844
    "/ void drawPolyline (int[] int[] int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12845
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12846
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12847
    "Created: / 12.11.1998 / 19:19:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12848
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12849
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12850
_WGraphics_drawRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12851
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12852
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12853
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12854
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12855
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12857
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12858
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12859
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12860
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12861
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12862
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12863
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12864
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12865
    gc displayRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12866
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12867
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12868
    "Created: / 8.1.1998 / 00:59:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12869
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12870
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12871
_WGraphics_drawRoundRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12872
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12873
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12874
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12875
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12876
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12877
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12878
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12879
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12880
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12881
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12882
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12883
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12884
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12885
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12886
    gc displayRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12887
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12888
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12889
    "Created: / 8.1.1998 / 00:59:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12890
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12891
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12892
_WGraphics_drawSFChars:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12893
    "/ void drawSFChars (char[]s, int pos1, int len, int x, int y)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12894
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12895
    |gc str x y idx1 nChars|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12897
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12898
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12899
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12900
    str := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12901
    idx1 := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12902
    nChars := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12903
    x := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12904
    y := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12905
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12906
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12907
	'drawSFChars x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12908
	       ' s= ' print. str printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12909
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12910
    gc displayString:str from:idx1+1 to:idx1+nChars x:x y:y
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12911
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12912
    "Created: / 6.1.1998 / 21:11:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12913
    "Modified: / 8.1.1998 / 00:33:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12914
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12915
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12916
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12917
_WGraphics_fillArc:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12918
    |gc x y w h startAngle endAngle|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12919
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12920
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12921
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12922
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12923
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12924
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12925
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12926
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12927
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12928
    startAngle := nativeContext argAt:5.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12929
    endAngle := nativeContext argAt:6.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12930
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12931
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12932
	'fillArc x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12933
	       ' w/h= ' print. w print. '@' print. h print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12934
	       ' startAngle= ' print. startAngle print. ' endAngle= ' print. endAngle printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12935
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12936
    gc fillArcX:x y:y width:w height:h from:startAngle angle:(endAngle - startAngle)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12937
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12938
    "Created: / 6.1.1998 / 21:11:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12939
    "Modified: / 8.1.1998 / 00:33:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12940
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12942
_WGraphics_fillOval:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12943
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12944
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12945
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12946
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12947
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12948
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12949
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12950
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12951
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12952
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12953
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12954
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12955
	'drawOval x/y= ' print. x print. '@' print. y print. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12956
		' w/h= ' print. w print. '@' print. h printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12957
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12958
    gc fillArcX:x y:y width:w height:h from:0 angle:360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12959
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12960
    "Created: / 8.1.1998 / 00:46:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12961
    "Modified: / 8.1.1998 / 00:46:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12962
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12963
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12964
_WGraphics_fillPolygon:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12965
    |gc xVector yVector count points|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12966
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12967
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12968
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12969
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12970
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12971
    xVector := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12972
    yVector := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12973
    count := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12974
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12975
    DrawOPTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12976
	'fillPolgon' printCR.
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
    points := (1 to:count) collect:[:i | (xVector at:i) @ (yVector at:i)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12980
    gc fillPolygon:points
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12981
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12982
    "Created: / 8.1.1998 / 00:58:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12983
    "Modified: / 25.1.1998 / 11:03:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12984
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12985
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12986
_WGraphics_fillRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12987
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12988
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12989
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12990
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12991
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12992
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12993
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12994
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12995
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12996
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12997
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12998
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 12999
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13000
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13001
    gc fillRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13002
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13003
    "Created: / 15.8.1997 / 15:43:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13004
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13005
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13006
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13007
_WGraphics_fillRoundRect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13008
    |gc x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13009
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13010
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13011
"/    gc isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13012
    gc realized ifFalse:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13013
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13014
    x := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13015
    y := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13016
    w := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13017
    h := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13018
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13019
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13020
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13021
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13022
    gc displayRectangleX:x y:y width:w height:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13023
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13024
    "Modified: / 8.1.1998 / 00:34:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13025
    "Created: / 8.1.1998 / 00:59:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13026
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13027
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13028
_WGraphics_getClipBounds:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13029
    |gc rect r x y w h|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13030
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13031
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13032
"/    gc isNil ifTrue:[^ nil].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13033
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13034
    rect := (Java classForName:'java.awt.Rectangle') basicNew.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13035
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13036
    (gc isMemberOf:JavaView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13037
	"/ r := gc clippingRectangleOrNil. 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13038
	r := gc getNextUpdateRectangle.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13039
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13040
    r isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13041
	r := gc clippingRectangleOrNil. 
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
    r isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13045
	x := y := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13046
	w := (gc width).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13047
	h := (gc height).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13048
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13049
	x := (r left).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13050
	y := (r top).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13051
	w := (r width).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13052
	h := (r height).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13053
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13054
    rect instVarNamed:'x' put:x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13055
    rect instVarNamed:'y' put:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13056
    rect instVarNamed:'width' put:w.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13057
    rect instVarNamed:'height' put:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13058
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13059
"/ 'WGraphics__getClipBounds ' infoPrint. (x@y extent:w@h) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13060
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13061
    ^ rect
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13062
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13063
    "Created: / 6.1.1998 / 20:58:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13064
    "Modified: / 23.12.1998 / 20:14:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13065
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13066
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13067
_WGraphics_imageCreate:nativeContext        
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13068
    |jGraphics imgRep|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13069
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13070
    jGraphics := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13071
    imgRep := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13072
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13073
    jGraphics instVarNamed:'pData' put:(imgRep instVarNamed:'pData').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13074
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13075
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13076
    "Created: / 11.1.1998 / 16:34:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13077
    "Modified: / 17.1.1998 / 12:37:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13078
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13079
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13080
_WGraphics_pSetFont:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13081
    |gc jFont stFont|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13082
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13083
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13084
    jFont := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13085
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13086
    stFont := jFont instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13087
    (stFont isNil or:[stFont == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13088
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13089
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13090
	gc font:stFont
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13091
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13092
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13093
    "Created: / 6.1.1998 / 20:56:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13094
    "Modified: / 15.1.1998 / 12:31:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13095
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13096
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13097
_WGraphics_pSetForeground:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13098
    |gc rgb clr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13099
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13100
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13101
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13102
    rgb := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13103
    rgb isInteger ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13104
        "/ its a java.awt.Color
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13105
        rgb := rgb instVarNamed:'value'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13106
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13107
    clr := Color rgbValue:rgb.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13108
    gc paint:(clr nearestOn:gc device).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13109
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13110
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13111
"/ self internalError:'breakPoint'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13113
    "Created: / 6.1.1998 / 20:56:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13114
    "Modified: / 23.12.1998 / 20:10:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13115
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13116
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13117
_WGraphics_print:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13118
    "/ void print (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13119
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13120
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13121
    "Created: / 12.11.1998 / 19:19:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13122
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13124
_WGraphics_removeClip:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13125
    "/ void removeClip ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13126
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13127
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13128
    "Created: / 12.11.1998 / 19:18:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13129
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13131
_WGraphics_setPaintMode:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13132
    |gc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13134
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13135
    gc function:#copy.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13136
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13137
    true "DrawOPTrace" ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13138
	'copyMode' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13139
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13140
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13141
    "Created: / 8.1.1998 / 00:33:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13142
    "Modified: / 28.1.1998 / 23:25:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13143
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13144
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13145
_WGraphics_setXORMode:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13146
    |gc jColor rgb invColor device|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13147
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13148
    gc := self gcForWGraphics:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13149
    jColor := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13150
    device := gc graphicsDevice.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13151
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13152
"/    "/ on trueColor systems, use the provided
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13153
"/    "/ rgb value for inverting.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13154
"/    "/ on palette systems, use white ^ black
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13155
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13156
"/    device visualType == #TrueColor ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13157
"/        rgb := jColor instVarNamed:'value'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13158
"/        rgb := rgb bitAnd:16rFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13159
"/        rgb == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13160
"/            rgb := 16rFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13161
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13162
"/        invColor := rgb
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13163
"/    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13164
"/        invColor := device blackpixel bitXor:device whitepixel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13165
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13167
    invColor := device blackpixel bitXor:device whitepixel.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13168
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13169
"/    gc foreground:(Color colorId:invColor)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13170
"/       background:device blackColor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13171
    device 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13172
	setForeground:invColor background:0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13173
	in:gc gcId.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13174
    gc function:#xor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13176
    true "DrawOPTrace" ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13177
	'xorMode' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13178
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13179
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13180
    "Created: / 8.1.1998 / 00:36:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13181
    "Modified: / 28.1.1998 / 23:45:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13182
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13183
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13184
_WLabelPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13185
    |jLabelPeer jLabel jFrame frame label
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13186
     lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13188
    jLabelPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13189
    jLabel := jLabelPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13190
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13191
    lbl := jLabel instVarNamed:'text'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13192
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13193
	lbl := Java as_ST_String:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13194
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13195
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13196
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13197
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13198
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13199
    label := Label in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13200
    label sizeFixed:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13201
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13202
	label label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13203
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13204
    self createdWindowsView:label for:jLabelPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13205
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13206
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13207
	'WLabelPeer_create: ' print. frame print. ' -> ' print. label printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13208
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13209
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13210
    "Created: / 7.1.1998 / 21:42:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13211
    "Modified: / 13.1.1998 / 22:10:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13212
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13213
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13214
_WLabelPeer_setAlignment:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13215
    |label alignNr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13216
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13217
    alignNr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13218
    label := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13219
    label notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13220
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13221
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13222
    "Created: / 7.1.1998 / 21:43:12 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13223
    "Modified: / 8.1.1998 / 17:35:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13224
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13226
_WLabelPeer_setText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13227
    |label jString str|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13228
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13229
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13230
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13231
    label := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13232
    jString notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13233
	str := Java as_ST_String:jString
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13234
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13235
    label label:str
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13236
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13237
    "Created: / 7.1.1998 / 21:43:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13238
    "Modified: / 3.12.1998 / 14:59:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13239
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13240
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13241
_WListPeer__addItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13242
    |jString index1 length selListView m|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13243
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13244
    selListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13245
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13246
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13247
    index1 := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13248
    length := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13249
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13250
    (m := selListView model) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13251
	m list addLast:(Java as_ST_String:jString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13252
	m changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13253
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13254
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13255
    "Created: / 26.10.1998 / 20:11:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13256
    "Modified: / 14.11.1998 / 01:21:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13257
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13258
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13259
_WListPeer_addItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13260
    |jString index selListView m|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13261
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13262
    selListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13263
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13264
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13265
    index := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13266
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13267
    m := selListView model.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13268
    m isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13269
	Transcript showCR:'JAVA: access to listModel of closed view'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13270
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13271
	m list addLast:(Java as_ST_String:jString).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13272
	m changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13273
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13274
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13275
    "Created: / 24.1.1998 / 21:10:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13276
    "Modified: / 2.11.1998 / 17:12:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13277
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13278
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13279
_WListPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13280
    |jListPeer jFrame frame selectionInListView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13281
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13282
    jListPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13283
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13284
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13285
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13286
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13287
    selectionInListView := ScrollableView for:SelectionInListView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13288
    selectionInListView action:[:index | jListPeer perform:#'handleListChanged(I)V' with:(index - 1)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13289
    selectionInListView doubleClickAction:[:index | jListPeer perform:#'handleAction(I)V' with:(index - 1)].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13290
    selectionInListView model:(SelectionInList new list:(List new)).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13291
    selectionInListView useIndex:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13292
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13293
    self createdWindowsView:selectionInListView for:jListPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13294
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13295
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13296
	'WTextAreaPeer_create: ' print. frame print. ' -> ' print. selectionInListView printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13297
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13298
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13299
    "Created: / 24.1.1998 / 19:58:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13300
    "Modified: / 9.4.1998 / 22:19:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13301
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13302
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13303
_WListPeer_delItems:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13304
    |jString index1 index2 selListView model list|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13305
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13306
    selListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13307
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13308
    index1 := (nativeContext argAt:1) + 1. "/ java indices are 0-based.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13309
    index2 := (nativeContext argAt:2) + 1. "/ st indices are 1-based.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13310
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13311
    model := selListView model.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13312
    model isNil ifTrue:[^ self].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13313
    list := model list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13314
    list size >= index1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13315
	list removeFromIndex:index1 toIndex:(index2 min:list size).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13316
	model changed:#list.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13317
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13318
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13319
    "Created: / 9.4.1998 / 22:19:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13320
    "Modified: / 30.12.1998 / 20:00:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13321
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13322
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13323
_WListPeer_deselect:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13324
    "/ void deselect (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13325
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13326
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13327
    "Created: / 12.11.1998 / 19:15:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13328
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13329
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13330
_WListPeer_getMaxWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13331
    "/ int getMaxWidth ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13332
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13333
    ^ 1000 "/ a dummy value
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13334
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13335
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13336
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13337
    "Created: / 14.11.1998 / 10:44:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13338
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13339
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13340
_WListPeer_isSelected:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13341
    |selectionInListView index model|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13342
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13343
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13344
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13345
    index := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13346
    (model := selectionInListView model) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13347
	(model selectionIndex == (index + 1))  "/ JAVA indexing starts at 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13348
	ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13349
	    ^ 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13350
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13351
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13352
    ^ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13353
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13354
    "Created: / 24.1.1998 / 22:42:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13355
    "Modified: / 25.1.1998 / 01:35:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13356
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13357
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13358
_WListPeer_makeVisible:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13359
    |selectionInListView lineNr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13360
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13361
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13362
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13363
    lineNr := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13364
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13365
    selectionInListView makeLineVisible:(lineNr + 1)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13366
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13367
    "Modified: / 24.1.1998 / 20:01:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13368
    "Created: / 20.10.1998 / 14:14:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13369
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13370
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13371
_WListPeer_select:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13372
    |selectionInListView index model|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13373
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13374
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13375
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13376
    index := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13377
    (model := selectionInListView model) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13378
	model selectionIndex:(index + 1).  "/ JAVA indexing starts at 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13379
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13380
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13381
    "Created: / 24.1.1998 / 22:32:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13382
    "Modified: / 25.1.1998 / 01:28:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13383
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13384
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13385
_WListPeer_setMultipleSelections:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13386
    |selectionInListView onOff|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13387
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13388
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13389
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13390
    onOff := (nativeContext argAt:1) ~~ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13391
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13392
    selectionInListView multipleSelectOk:onOff.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13393
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13394
    "Modified: / 24.1.1998 / 20:01:06 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13395
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13396
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13397
_WListPeer_updateMaxItemWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13398
    |selectionInListView lineNr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13399
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13400
    selectionInListView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13401
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13402
    "Created: / 26.10.1998 / 20:09:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13403
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13404
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13405
_WMenuBarPeer_addMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13406
    "/ void addMenu (java.awt.Menu)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13407
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13408
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13409
    "Created: / 12.11.1998 / 19:14:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13410
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13411
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13412
_WMenuBarPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13413
    |jMenuBarPeer jMenuBar jFrame frame menuBar|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13414
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13415
    jMenuBarPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13416
    jMenuBar := jMenuBarPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13417
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13418
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13419
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13421
    menuBar := MenuPanel in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13422
    menuBar verticalLayout:false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13423
    menuBar realize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13424
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13425
    self createdWindowsView:menuBar for:jMenuBarPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13426
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13427
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13428
	'WMenuBarPeer_create: ' print. frame print. ' -> ' print. menuBar printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13429
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13430
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13431
    "Created: / 7.1.1998 / 21:38:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13432
    "Modified: / 25.1.1998 / 13:19:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13433
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13434
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13435
_WMenuBarPeer_delMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13436
    "/ void delMenu (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13437
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13438
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13439
    "Created: / 12.11.1998 / 19:14:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13440
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13441
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13442
_WMenuItemPeer__dispose:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13443
    |jMenuItemPeer item|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13444
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13445
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13446
    item := jMenuItemPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13447
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13448
"/ what should be done here ?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13449
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13450
    "Created: / 29.3.1998 / 17:16:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13451
    "Modified: / 29.3.1998 / 17:16:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13452
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13453
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13454
_WMenuItemPeer__setLabel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13455
    "/ void _setLabel (java.lang.String)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13456
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13457
    |jMenuItemPeer item label|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13458
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13459
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13460
    item := jMenuItemPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13461
    (item isNil or:[item == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13462
	'JAVA [warning]: NULL menu item in setLabel' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13463
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13464
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13465
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13466
    label := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13467
    label isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13468
	label := ''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13469
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13470
	label := Java as_ST_String:label
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13471
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13472
    item label:label.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13473
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13474
    "Modified: / 11.12.1998 / 16:40:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13475
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13476
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13477
_WMenuItemPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13478
    |jMenuItemPeer jMenuItem jMenuPeer menu item lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13479
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13480
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13481
    jMenuItem := jMenuItemPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13482
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13483
    jMenuPeer := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13484
    menu := jMenuPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13485
    (menu isNil or:[menu == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13486
	'JAVA: no menu to create item in' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13487
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13488
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13489
    item := menu createAtIndex:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13490
    item value:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13491
		jMenuItemPeer perform:#'handleAction(I)V' with:0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13492
	       ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13493
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13494
    lbl := jMenuItem instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13495
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13496
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13497
	item label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13498
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13499
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13500
    jMenuItemPeer instVarNamed:'pData' put:item.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13501
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13502
    WindowOPTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13503
	'WMenuItem_create: ' print. menu print. ' -> ' print. item printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13504
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13505
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13506
    "Created: / 7.1.1998 / 21:40:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13507
    "Modified: / 3.12.1998 / 20:43:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13508
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13509
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13510
_WMenuItemPeer_enable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13511
    |jMenuItemPeer item state|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13512
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13513
    jMenuItemPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13514
    item := jMenuItemPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13515
    (item isNil or:[item == 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13516
	'JAVA [warning]: NULL menu item in enable' infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13517
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13518
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13519
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13520
    state := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13521
    item enabled:(state ~~ 0)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13522
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13523
    "Created: / 7.1.1998 / 22:41:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13524
    "Modified: / 11.12.1998 / 16:40:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13525
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13526
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13527
_WMenuPeer_addSeparator:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13528
    "/ void addSeparator ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13529
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13530
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13531
    "Created: / 12.11.1998 / 19:13:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13532
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13533
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13534
_WMenuPeer_createMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13535
    |jMenuPeer jMenu jMenuBarPeer menuPanel menu
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13536
     lbl item|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13537
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13538
    jMenuPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13539
    jMenu := jMenuPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13540
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13541
    jMenuBarPeer := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13542
    menuPanel := jMenuBarPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13543
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13544
    item := menuPanel createAtIndex:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13545
    lbl := jMenu instVarNamed:'label'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13546
    lbl notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13547
	lbl := Java as_ST_String:lbl.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13548
	item label:lbl
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13549
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13550
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13551
    menu := MenuPanel new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13552
    item submenu:menu.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13553
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13554
    jMenuPeer instVarNamed:'pData' put:menu.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13555
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13556
'createMenuPeer: ' print. menuPanel print. ' -> ' print. menu printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13557
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13558
    "Created: / 7.1.1998 / 21:39:50 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13559
    "Modified: / 13.1.1998 / 22:11:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13560
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13561
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13562
_WMenuPeer_createSubMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13563
    "/ void createSubMenu (sun.awt.windows.WMenuPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13564
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13565
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13566
    "Created: / 12.11.1998 / 19:13:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13567
    "Modified: / 3.12.1998 / 21:41:07 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13568
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13569
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13570
_WMenuPeer_delItem:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13571
    "/ void delItem (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13572
    |jMenuPeer jMenu menuPanel itemIndex|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13573
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13574
    jMenuPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13575
    menuPanel := jMenuPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13576
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13577
    itemIndex := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13578
    menuPanel remove:itemIndex.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13579
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13580
"/    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13581
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13582
    "Created: / 12.11.1998 / 19:13:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13583
    "Modified: / 10.12.1998 / 21:12:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13584
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13585
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13586
_WPanelPeer_calculateInsets:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13587
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13588
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13589
    "Created: / 27.1.1998 / 21:40:00 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13590
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 13591
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13592
_WPopupMenuPeer__show:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13593
    "/ void _show (java.awt.Event)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13594
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13595
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13596
    "Created: / 12.11.1998 / 19:12:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13597
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13598
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13599
_WPopupMenuPeer_createMenu:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13600
    "/ void createMenu (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13601
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13602
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13603
    "Created: / 12.11.1998 / 19:12:43 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13604
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13605
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13606
_WPrintJob_end:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13607
    "/ void end ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13608
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13609
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13610
    "Created: / 12.11.1998 / 19:11:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13611
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13612
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13613
_WScrollPanePeer__getHScrollbarHeight:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13614
    |scrollPane|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13615
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13616
    scrollPane := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13617
    ^ HorizontalScrollBar new preferredExtent y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13618
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13619
    "Created: / 9.4.1998 / 17:30:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13620
    "Modified: / 10.4.1998 / 14:59:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13621
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13622
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13623
_WScrollPanePeer__getVScrollbarWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13624
    |scrollPane|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13625
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13626
    scrollPane := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13627
    ^ ScrollBar new preferredExtent x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13628
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13629
    "Created: / 9.4.1998 / 17:29:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13630
    "Modified: / 10.4.1998 / 15:00:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13631
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13632
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13633
_WScrollPanePeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13634
    |jScrollPanePeer jScrollPane jFrame frame scrollPane
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13635
     lbl|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13636
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13637
    jScrollPanePeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13638
    jScrollPane := jScrollPanePeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13639
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13640
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13641
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13642
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13643
    "/ create with a simple view ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13644
    scrollPane := ScrollableView for:JavaView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13645
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13646
    self createdWindowsView:scrollPane for:jScrollPanePeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13647
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13648
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13649
	'WScrollPanePeer_create: ' print. frame print. ' -> ' print. scrollPane printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13650
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13651
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13652
    "Created: / 9.4.1998 / 17:25:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13653
    "Modified: / 9.4.1998 / 22:06:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13654
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13655
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13656
_WScrollPanePeer_getOffset:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13657
    "/ int getOffset (int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13658
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13659
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13660
    "Created: / 12.11.1998 / 19:16:29 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13661
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13662
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13663
_WScrollPanePeer_getScrollChild:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13664
    "/ java.awt.Component getScrollChild ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13665
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13666
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13667
    "Created: / 12.11.1998 / 19:17:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13668
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13669
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13670
_WScrollPanePeer_setInsets:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13671
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13672
    "Modified: / 9.4.1998 / 17:26:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13673
    "Created: / 9.4.1998 / 17:29:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13674
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13675
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13676
_WScrollPanePeer_setScrollPosition:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13677
    "/ void setScrollPosition (int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13678
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13679
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13680
    "Created: / 12.11.1998 / 19:16:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13681
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13682
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13683
_WScrollPanePeer_setSpans:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13684
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13685
    "Created: / 9.4.1998 / 17:31:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13686
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13687
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13688
_WScrollbarPeer__setValues:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13689
    |scrollBar value visibleAmount min max|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13691
    scrollBar := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13692
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13693
    value := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13694
    visibleAmount := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13695
    min := nativeContext argAt:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13696
    max := nativeContext argAt:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13697
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13698
    (min ~~ 0 or:[max ~~ 100]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13699
	scrollBar thumb start:min stop:max.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13700
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13701
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13702
    scrollBar thumbOrigin:value thumbHeight:visibleAmount.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13703
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13704
    "Created: / 13.1.1998 / 22:13:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13705
    "Modified: / 14.10.1998 / 14:53:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13706
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13707
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13708
_WScrollbarPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13709
    |jScrollbarPeer jScrollbar jFrame frame scrollBar
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13710
     min max|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13711
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13712
    jScrollbarPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13713
    jScrollbar := jScrollbarPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13714
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13715
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13716
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13717
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13718
    (jScrollbar instVarNamed:'orientation') == 0 "HORIZONTAL" ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13719
	scrollBar := HorizontalScrollBar in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13720
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13721
	scrollBar := ScrollBar in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13722
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13723
    min := jScrollbar instVarNamed:'minimum'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13724
    max := jScrollbar instVarNamed:'maximum'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13725
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13726
    scrollBar scrollDownAction:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13727
			scrollBar thumbOrigin:(scrollBar thumbOrigin + ((max-min)/10) min:max).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13728
			jScrollbarPeer perform:#'dragAbsolute(I)V' with:scrollBar thumbOrigin rounded.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13729
		     ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13730
    scrollBar scrollUpAction:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13731
			scrollBar thumbOrigin:(scrollBar thumbOrigin - ((max-min)/10) max:min).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13732
			jScrollbarPeer perform:#'dragAbsolute(I)V' with:scrollBar thumbOrigin rounded.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13733
		     ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13734
    scrollBar scrollAction:[:org |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13735
			jScrollbarPeer perform:#'dragAbsolute(I)V' with:org rounded.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13736
		     ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13737
    self createdWindowsView:scrollBar for:jScrollbarPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13738
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13739
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13740
	'WScrollbarPeer_create: ' print. frame print. ' -> ' print. scrollBar printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13741
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13742
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13743
    "Created: / 5.1.1998 / 01:53:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13744
    "Modified: / 14.10.1998 / 15:36:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13745
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13746
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13747
_WScrollbarPeer_setLineIncrement:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13748
    |scrollBar inc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13749
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13750
Transcript showCR:'JavaVM: WScrollbarPeer_setLineIncrement unimplemented'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13751
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13752
    scrollBar := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13753
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13754
    inc := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13755
"/    scrollBar thumb lineIncrement:inc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13756
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13757
    "Created: / 25.1.1998 / 11:52:19 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13758
    "Modified: / 14.10.1998 / 14:53:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13759
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13760
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13761
_WScrollbarPeer_setPageIncrement:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13762
    |scrollBar inc|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13763
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13764
Transcript showCR:'JavaVM: WScrollbarPeer_setPageIncrement unimplemented'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13765
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13766
    scrollBar := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13767
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13768
    inc := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13769
"/    scrollBar thumb pageIncrement:inc.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13770
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13771
    "Created: / 25.1.1998 / 11:52:01 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13772
    "Modified: / 14.10.1998 / 14:54:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13773
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13774
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13775
_WTextAreaPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13776
    |jTextAreaPeer jFrame frame editTextView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13777
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13778
    jTextAreaPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13779
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13780
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13781
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13782
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13783
    editTextView := HVScrollableView for:EditTextView in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13784
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13785
    self createdWindowsView:editTextView for:jTextAreaPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13786
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13787
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13788
	'WTextAreaPeer_create: ' print. frame print. ' -> ' print. editTextView printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13789
    ].
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:49:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13792
    "Modified: / 15.1.1998 / 12:56: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
_WTextAreaPeer_insertText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13796
    |textView pos string jstring|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13797
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13798
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13799
    (textView isKindOf:ScrollableView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13800
	textView := textView scrolledView
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13801
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13802
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13803
    jstring := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13804
    string := Java as_ST_String:jstring.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13805
    pos := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13806
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13807
    textView insert:string at:pos.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13808
    textView cursorToCharacterPosition:pos + string size.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13809
    textView makeCursorVisible.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13810
"/ textView invalidateRepairNow:true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13811
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13812
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13813
    "Created: / 7.1.1998 / 21:50:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13814
    "Modified: / 5.4.1998 / 17:37:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13815
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13816
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13817
_WTextAreaPeer_replaceText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13818
    "/ void replaceText (java.lang.String int int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13819
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13820
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13821
    "Created: / 12.11.1998 / 19:11:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13822
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13823
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13824
_WTextComponentPeer_enableEditing:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13825
    |textView enabled|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13826
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13827
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13828
    enabled := (nativeContext argAt:1) ~~ 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13829
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13830
    ^ textView readOnly:enabled not
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13831
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13832
    "Created: / 5.1.1998 / 01:29:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13833
    "Modified: / 25.1.1998 / 16:29:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13834
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13835
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13836
_WTextComponentPeer_getSelectionEnd:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13837
    |textView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13838
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13839
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13840
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13841
    ^ textView characterPositionOfSelectionEnd
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13842
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13843
    "Created: / 8.1.1998 / 17:41:56 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13844
    "Modified: / 15.1.1998 / 15:47:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13845
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13846
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13847
_WTextComponentPeer_getSelectionStart:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13848
    |textView|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13849
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13850
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13851
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13852
    ^ textView characterPositionOfSelection - 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13853
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13854
    "Created: / 15.8.1997 / 15:45:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13855
    "Modified: / 15.1.1998 / 15:46:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13856
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13857
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13858
_WTextComponentPeer_getText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13859
    |textView string jString|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13860
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13861
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13862
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13863
    string := textView contents asString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13864
    jString := Java as_String:string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13865
    ^ jString
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13866
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13867
    "Created: / 6.1.1998 / 21:05:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13868
    "Modified: / 8.1.1998 / 17:36:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13869
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13870
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13871
_WTextComponentPeer_select:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13872
    |textView selStart selEnd|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13873
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13874
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13875
    selStart := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13876
    selEnd := nativeContext argAt:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13877
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13878
    selStart == selEnd ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13879
	"/ clear selection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13880
	textView unselect.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13881
	"/ and set caret
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13882
	textView cursorToCharacterPosition:selStart + 1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13883
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13884
	"/ change selection
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13885
	textView selectFromCharacterPosition:selStart+1 to:selEnd
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13886
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13887
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13888
    "Created: / 15.8.1997 / 15:45:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13889
    "Modified: / 15.1.1998 / 21:55:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13890
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13891
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13892
_WTextComponentPeer_setText:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13893
    |textView string jstring|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13894
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13895
    textView := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13896
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13897
    jstring := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13898
    jstring notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13899
	string := Java as_ST_String:jstring
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13900
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13901
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13902
    textView contents:string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13903
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13904
    "Created: / 5.1.1998 / 01:28:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13905
    "Modified: / 11.12.1998 / 12:16:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13906
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13907
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13908
_WTextFieldPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13909
    |jTextFieldPeer jFrame frame editField|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13910
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13911
    jTextFieldPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13912
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13913
    jFrame := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13914
    frame := jFrame instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13915
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13916
    editField := EditField in:frame.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13917
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13918
    self createdWindowsView:editField for:jTextFieldPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13919
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13920
    editField crAction:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13921
			jTextFieldPeer perform:#handleAction.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13922
		  ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13923
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13924
	'WTextFieldPeer_create: ' print. frame print. ' -> ' print. editField printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13925
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13926
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13927
    "Created: / 5.1.1998 / 01:27:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13928
    "Modified: / 4.11.1998 / 21:07:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13929
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13930
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13931
_WTextFieldPeer_setEchoCharacter:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13932
    |editField char|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13933
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13934
    editField := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13935
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13936
    char := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13937
    editField passwordCharacter:(Character value:char).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13938
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13939
    "Created: / 25.1.1998 / 16:28:30 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13940
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13941
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13942
_WToolkit_beep:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13943
    "/ void beep ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13944
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13945
    Screen current beep
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13946
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13947
    "Created: / 12.11.1998 / 19:09:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13948
    "Modified: / 11.12.1998 / 12:15:23 / 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
_WToolkit_eventLoop:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13952
    (JavaEventThread notNil and:[JavaEventThread isDead not]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13953
	'JavaVM [warning]: oops - two threads executing eventLoop' errorPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13954
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13955
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13956
    JavaEventThread := Processor activeProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13957
    [
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13958
	[true] whileTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13959
	    AbortSignal handle:[:ex |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13960
		ex return
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13961
	    ] do:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13962
		self doWindowsEventThread.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13963
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13964
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13965
    ] valueNowOrOnUnwindDo:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13966
	JavaEventThread := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13967
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13968
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13969
    "Created: / 6.1.1998 / 21:01:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13970
    "Modified: / 8.1.1999 / 17:08:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13971
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13972
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13973
_WToolkit_getComboHeightOffset:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13974
    ^ 0
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13975
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13976
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13977
    "Created: / 22.10.1998 / 00:59:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13978
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13979
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13980
_WToolkit_getScreenHeight:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13981
    ^ Screen current height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13982
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13983
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13984
    "Created: / 13.1.1998 / 09:24:45 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13985
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13986
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13987
_WToolkit_getScreenResolution:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13988
    ^ Screen current resolution x rounded
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13989
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13990
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13991
    "Created: / 17.1.1998 / 21:54:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13992
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13993
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13994
_WToolkit_getScreenWidth:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13995
    ^ Screen current width
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13996
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13997
    "Modified: / 20.3.1997 / 13:50:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13998
    "Created: / 13.1.1998 / 09:24:37 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 13999
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14000
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14001
_WToolkit_init:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14002
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14003
    "Created: / 3.1.1998 / 02:30:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14004
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14005
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14006
_WToolkit_loadSystemColors:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14007
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14008
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14009
    "Modified: / 18.3.1997 / 18:43:26 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14010
    "Created: / 5.1.1998 / 02:19:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14011
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14012
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14013
_WToolkit_makeColorModel:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14014
    "/ java.awt.image.ColorModel makeColorModel ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14015
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14016
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14017
    "Created: / 12.11.1998 / 19:08:47 / cg"
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
_WToolkit_sync:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14021
    "/ void sync ()
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14022
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14023
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14024
    "Created: / 12.11.1998 / 19:09:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14025
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14026
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14027
_WWindowPeer__setResizable:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14028
    |view onOff|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14029
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14030
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14031
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14032
    onOff := (nativeContext argAt:1) == 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14033
    view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14034
	onOff ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14035
	    view minExtent:10@10.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14036
	    view maxExtent:(Screen current extent).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14037
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14038
	    view minExtent:view extent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14039
	    view maxExtent:view extent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14040
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14041
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14042
	(view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14043
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14044
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14045
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14046
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14047
"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14048
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14049
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14050
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14051
    "Created: / 5.1.1998 / 00:57:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14052
    "Modified: / 16.1.1998 / 18:08:00 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14053
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14054
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14055
_WWindowPeer__setTitle:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14056
    |view jString string|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14057
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14058
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14059
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14060
    jString := nativeContext argAt:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14061
    string := Java as_ST_String:jString.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14062
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14063
"/ 'JAVA: WWindowPeer_pSetTitle: ' print. string print. ' ' print. view printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14064
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14065
    view label:string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14066
    ^ nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14067
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14068
    "Created: / 5.1.1998 / 00:57:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14069
    "Modified: / 8.1.1998 / 17:37:41 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14070
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14071
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14072
_WWindowPeer_create:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14073
    "/ void create (sun.awt.windows.WComponentPeer)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14074
    |jWindowPeer jWindow top window pDataIdx|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14075
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14076
    jWindowPeer := nativeContext receiver.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14078
    jWindow := jWindowPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14079
    window := jWindowPeer instVarNamed:'pData'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14080
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14081
    (window notNil and:[window ~~ 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14082
	WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14083
	    'JAVA: window view already created: ' infoPrint.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14084
	    jWindowPeer class name infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14085
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14086
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14087
"/ OLD
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14088
"/        window := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14089
"/        self createdWindowsView:window for:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14090
"/        JavaWindowGroup addTopView:window.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14091
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14092
	window := JavaPopUpView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14093
	window borderWidth:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14094
	window level:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14095
	window delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14096
	window javaPeer:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14097
	self createdWindowsView:window for:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14098
	JavaWindowGroup addTopView:window.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14099
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14100
"/        top := StandardSystemView new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14101
"/        window := JavaView origin:0.0@0.0 corner:1.0@1.0 in:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14102
"/        window delegate:self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14103
"/        window javaPeer:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14104
"/        self createdWindowsView:window for:jWindowPeer.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14105
"/        JavaWindowGroup addTopView:top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14106
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14107
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14109
    WindowCreationTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14110
	'JAVA: WWindowPeer_create: ' print. jWindowPeer displayString print.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14111
	' window: ' print. window printNL.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14112
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14113
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14114
    "Created: / 4.1.1998 / 17:56:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14115
    "Modified: / 4.12.1998 / 17:37:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14116
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14117
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14118
_WWindowPeer_getContainerElement:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14119
    "/ java.awt.Component getContainerElement (java.awt.Container int)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14120
    UnimplementedNativeMethodSignal raise
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14121
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14122
    "Created: / 12.11.1998 / 19:10:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14123
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14124
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14125
_WWindowPeer_toBack:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14126
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14127
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14128
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14129
    view lower.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14131
    "Created: / 7.5.1998 / 00:23:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14132
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14133
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14134
_WWindowPeer_toFront:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14135
    |view|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14136
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14137
    view := self viewForWPeer:nativeContext.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14138
    view raise.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14140
    "Created: / 9.4.1998 / 22:17:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14141
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14143
_WWindowPeer_updateInsets:nativeContext
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14144
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14145
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14146
    "Modified: / 18.3.1997 / 18:43:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14147
    "Created: / 4.1.1998 / 18:09:04 / cg"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14148
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14149
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14150
_Win32Process_create:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14151
    "really create a win32 process"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14152
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14153
    |env cmd jProcess p inPipe outPipe errorPipe|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14154
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14155
    jProcess := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14156
    cmd := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14157
    cmd := Java as_ST_String:cmd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14158
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14159
    env := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14160
    env notNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14161
	self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14162
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14163
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14164
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14165
    p := Win32Process new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14166
    p command:cmd.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14167
    p environment:env.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14168
    p inStream:inPipe.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14169
    p outStream:outPipe.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14170
    p errorStream:errorPipe.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14171
    p directory:nil.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14172
    p startProcess.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14173
self halt.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14174
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14175
    jProcess instVarNamed:'handle' put:p.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14176
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14177
    "Created: / 10.11.1998 / 19:50:31 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14178
    "Modified: / 10.11.1998 / 21:34:18 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14179
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14180
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14181
_X11FontMetrics_getMFCharSegmentWidth:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14182
    "get multi-font string-segment width.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14183
     Not yet supported - use standard strings width"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14184
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14185
    |jMetrics jFont jFontDescr stFont w
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14186
     bool1 cp offs lenght bp int1|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14187
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14188
    jMetrics := nativeContext receiver.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14189
    jFont := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14190
    jFontDescr := nativeContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14191
    cp := nativeContext argAt:3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14192
    lenght := nativeContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14193
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14194
    stFont := jFont instVarNamed:'pData'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14195
    (stFont isNil or:[stFont == 0]) ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14196
        self halt
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14197
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14198
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14199
    stFont device isNil ifTrue:[
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14200
        stFont := stFont on:Display.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14201
        jFont instVarNamed:'pData' put:stFont.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14202
    ].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14203
    w := stFont widthOf:cp from:1 to:lenght.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14204
    ^ w.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14205
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14206
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14207
_X11FontMetrics_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14208
    ^ self _WFontMetrics_init:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14209
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14210
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14211
_X11GraphicsDevice_getConfigType:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14212
    "/ new with jdk1.2 ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14213
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14214
    |configNr cls|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14215
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14216
    "/ for now, only one config.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14217
    configNr := nativeContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14218
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14219
    cls := Java classNamed:'java.awt.GraphicsDevice'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14220
    ^ cls instVarNamed:'TYPE_RASTER_SCREEN'.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14221
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14222
    "Created: / 28.1.1998 / 22:19:05 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14223
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14224
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14225
_X11GraphicsDevice_getNumConfigs:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14226
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14227
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14228
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14229
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14230
    "Created: / 28.1.1998 / 22:13:26 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14231
    "Modified: / 28.1.1998 / 22:14:33 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14232
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14233
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14234
_X11GraphicsEnvironment_getNumScreens:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14235
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14236
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14237
    "/ could return the actual number of screens ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14238
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14239
    ^ 1
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14240
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14241
    "Created: / 28.1.1998 / 01:50:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14242
    "Modified: / 28.1.1998 / 22:12:32 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14243
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14244
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14245
_X11GraphicsEnvironment_initDisplay:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14246
    "/ new with jdk1.2 ...
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14247
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14248
    "Created: / 28.1.1998 / 01:50:22 / cg"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14249
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14250
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14251
_X11Graphics_changeClip:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14252
    ^ self _WGraphics_changeClip:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14253
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14254
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14255
_X11Graphics_createFromComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14256
    ^ self _WGraphics_createFromComponent:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14257
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14258
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14259
_X11Graphics_disposeImpl:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14260
    ^ self _WGraphics_dispose:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14261
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14262
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14263
_X11Graphics_drawMFCharsSegment:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14264
    ^ self _WGraphics_drawMFCharsSegment:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14265
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14266
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14267
_X11Graphics_drawRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14268
    ^ self _WGraphics_drawRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14269
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14270
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14271
_X11Graphics_fillOval:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14272
    ^ self _WGraphics_fillOval:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14273
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14274
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14275
_X11Graphics_fillRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14276
    ^ self _WGraphics_fillRect:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14277
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14278
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14279
_X11Graphics_pSetFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14280
    ^ self _WGraphics_pSetFont:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14281
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14282
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14283
_X11Graphics_pSetForeground:nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14284
    ^ self _WGraphics_pSetForeground:nativeContext
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14285
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 14286
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14287
!JavaVM class methodsFor:'native - sun.io'!
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14288
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14289
_sun_io_Win32ErrorMode_setErrorMode: nativeContext
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14290
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14291
    <javanative: 'sun/io/Win32ErrorMode' name: 'setErrorMode(J)J'>
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14292
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14293
    "FIXME: Ignored for now"
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14294
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14295
    ^0
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 14296
! !
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 14297
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14298
!JavaVM class methodsFor:'native - sun.java2d'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14299
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14300
_sun_java2d_Disposer_initIDs: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14301
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14302
    <javanative: 'sun/java2d/Disposer' name: 'initIDs()V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14303
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14304
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14305
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14306
850
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14307
!JavaVM class methodsFor:'native - sun.management'!
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14308
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14309
_sun_management_VMManagementImpl_getVersion0: nativeContext
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14310
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14311
    <javanative: 'sun/management/VMManagementImpl' name: 'getVersion0'>
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14312
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14313
    ^ UnimplementedNativeMethodSignal raise
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14314
! !
160c389771a6 Fixes in resolving methodrefs for array methods
vranyj1
parents: 846
diff changeset
 14315
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14316
!JavaVM class methodsFor:'native - sun.misc'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14317
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14318
_sun_misc_Signal_findSignal: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14319
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14320
    <javanative: 'sun/misc/Signal' name: 'findSignal'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14321
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14322
        | input signame |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14323
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14324
    input := Java as_ST_String: (aJavaContext argAt: 1).
919
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14325
    OperatingSystem isUNIXlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14326
        signame := 'SIG', (input asUppercase).
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14327
        ^UnixOperatingSystem signalNamed: signame asSymbol.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14328
    ].
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14329
    OperatingSystem isMSWINDOWSlike ifTrue:[
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14330
        signame := 'sig', (input asUppercase).
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14331
        ^Win32OperatingSystem perform: signame asSymbol.
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14332
    ].
11237e0d58e5 Fixes to boot on Windows using SunJDK6 rt.jar
vranyj1
parents: 918
diff changeset
 14333
    self error: 'Unsupported OS'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14334
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14335
    "Created: / 11-12-2010 / 15:22:07 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14336
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14337
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14338
_sun_misc_Signal_handle0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14339
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14340
    <javanative: 'sun/misc/Signal' name: 'handle0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14341
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14342
        self breakPoint: #libjava.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14343
    ^ 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14344
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14345
    "Created: / 11-12-2010 / 16:33:38 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14346
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14347
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14348
_sun_misc_Unsafe_allocateInstance: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14349
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14350
    <javanative: 'sun/misc/Unsafe' name: 'allocateInstance'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14351
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14352
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14353
    /** Allocate an instance but do not run any constructor.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14354
        Initializes the class if it has not yet been. */
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14355
    public native Object allocateInstance(Class cls)
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14356
        throws InstantiationException;
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14357
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14358
    | cls |
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14359
    cls := self reflection classForJavaClassObject: (nativeContext argAt:1).
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14360
    cls classInit.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14361
    ^cls newCleared
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14362
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14363
    "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
 14364
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14365
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14366
_sun_misc_Unsafe_allocateMemory: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14367
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14368
    <javanative: 'sun/misc/Unsafe' name: 'allocateMemory'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14369
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14370
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14371
    | size |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14372
    size := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14373
    ^SimulatedNativeMemory malloc: size.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14374
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14375
    "Created: / 07-12-2010 / 21:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14376
    "Modified: / 07-12-2010 / 23:46:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14377
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14378
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14379
_sun_misc_Unsafe_arrayBaseOffset: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14380
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14381
    <javanative: 'sun/misc/Unsafe' name: 'arrayBaseOffset'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14382
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14383
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14384
    * Report the offset of the first element in the storage allocation of a
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14385
    * given array class.  If {@link #arrayIndexScale} returns a non-zero value
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14386
    * for the same class, you may use that scale factor, together with this
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14387
    * base offset, to form new offsets to access elements of arrays of the
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14388
    * given class.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14389
    *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14390
    * @see #getInt(Object, long)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14391
    * @see #putInt(Object, long, int)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14392
    */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14393
    public native int arrayBaseOffset(Class arrayClass);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14394
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14395
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14396
    ^ 1
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14397
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14398
    "Modified (comment): / 10-08-2011 / 01:22:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14399
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14400
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14401
_sun_misc_Unsafe_arrayIndexScale: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14402
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14403
    <javanative: 'sun/misc/Unsafe' name: 'arrayIndexScale'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14404
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14405
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14406
      /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14407
      * Report the scale factor for addressing elements in the storage
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14408
      * allocation of a given array class.  However, arrays of 'narrow' types
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14409
      * will generally not work properly with accessors like {@link
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14410
      * #getByte(Object, int)}, so the scale factor for such classes is reported
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14411
      * as zero.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14412
      *
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14413
      * @see #arrayBaseOffset
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14414
      * @see #getInt(Object, long)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14415
      * @see #putInt(Object, long, int)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14416
      */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14417
    public native int arrayIndexScale(Class arrayClass);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14418
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14419
    ^ 1
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14420
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14421
    "Modified: / 10-08-2011 / 01:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14422
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14423
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14424
_sun_misc_Unsafe_compareAndSwapInt: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14425
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14426
    <javanative: 'sun/misc/Unsafe' name: 'compareAndSwapInt'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14427
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14428
    ^self _sun_misc_Unsafe_compareAndSwapObject: aJavaContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14429
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14430
    "Created: / 22-11-2010 / 18:40:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14431
    "Modified: / 07-08-2011 / 21:50:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14432
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14433
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14434
_sun_misc_Unsafe_compareAndSwapLong: aJavaContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14435
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14436
    <javanative: 'sun/misc/Unsafe' name: 'compareAndSwapLong'>
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14437
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14438
        "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14439
    /**
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14440
     * Atomically update Java variable to <tt>x</tt> if it is currently
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14441
     * holding <tt>expected</tt>.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14442
     * @return <tt>true</tt> if successful
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14443
     */
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14444
    public final native boolean compareAndSwapInt(Object o, long offset,
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14445
                                                  long expected,
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14446
                                                  long new);
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14447
    "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14448
    | o offset expected real new ok |
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14449
    o := aJavaContext argAt:1.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14450
    offset := aJavaContext argAt:2.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14451
    "offset is long, so aJavaContext at:3 is dummy nil!!!!!!"
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14452
    expected := aJavaContext argAt:4.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14453
    new := aJavaContext argAt:6.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14454
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14455
    OperatingSystem blockInterrupts.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14456
    real := o instVarAt: offset.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14457
    (real == expected)
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14458
            ifTrue:[o instVarAt: offset put: new. ok := 1]
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14459
            ifFalse:[ok := 1].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14460
    OperatingSystem unblockInterrupts.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14461
    ^ok
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14462
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14463
    "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
 14464
!
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14465
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14466
_sun_misc_Unsafe_compareAndSwapObject: aJavaContext
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14467
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14468
    <javanative: 'sun/misc/Unsafe' name: 'compareAndSwapInt'>
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14469
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14470
        "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14471
    /**
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14472
     * Atomically update Java variable to <tt>x</tt> if it is currently
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14473
     * holding <tt>expected</tt>.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14474
     * @return <tt>true</tt> if successful
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14475
     */
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14476
    public final native boolean compareAndSwapInt(Object o, long offset,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14477
                                                  int expected,
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14478
                                                  int new);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14479
    "
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14480
    | o offset expected real new ok |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14481
    o := aJavaContext argAt:1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14482
    offset := aJavaContext argAt:2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14483
    "offset is long, so aJavaContext at:3 is dummy nil!!!!!!"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14484
    expected := aJavaContext argAt:4.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14485
    new := aJavaContext argAt:5.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14486
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14487
    OperatingSystem blockInterrupts.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14488
    real := o instVarAt: offset.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14489
    (real == expected)
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14490
            ifTrue:[o instVarAt: offset put: new. ok := 1]
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14491
            ifFalse:[ok := 1].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14492
    OperatingSystem unblockInterrupts.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14493
    ^ok
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14494
885
5934b58e7507 JavaVM: few more primitives
vranyj1
parents: 883
diff changeset
 14495
    "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
 14496
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14497
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14498
_sun_misc_Unsafe_defineClass: nativeContext
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14499
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14500
    <javanative: 'sun/misc/Unsafe' name: 'defineClass'>
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14501
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14502
        "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14503
    /**
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14504
     * Tell the VM to define a class, without security checks.  By default, the
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14505
     * class loader and protection domain come from the caller's class.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14506
     */
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14507
    public native Class defineClass(String name, byte[] b, int off, int len,
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14508
                                    ClassLoader loader,
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14509
                                    ProtectionDomain protectionDomain);
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14510
    "
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14511
    | name b off len loader protectionDomain bs cls |
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14512
    name := nativeContext argAt: 1.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14513
    b := nativeContext argAt: 2.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14514
    off := nativeContext argAt: 3.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14515
    len := nativeContext argAt: 4.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14516
    loader := nativeContext argAt: 5.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14517
    protectionDomain := nativeContext argAt: 6.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14518
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14519
    bs := (off = 0 and: [len = b size]) 
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14520
            ifTrue:[b readStream]
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14521
            ifFalse:[(b copyFrom: off + 1 to: off + len) readStream].
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14522
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14523
    cls := JavaClassReader readStream: bs.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14524
    cls classLoader: loader.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14525
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14526
    ^self reflection javaClassObjectForClass: cls.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14527
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14528
    "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
 14529
!
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 14530
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14531
_sun_misc_Unsafe_ensureClassInitialized: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14532
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14533
    <javanative: 'sun/misc/Unsafe' name: 'ensureClassInitialized'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14534
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14535
        |class|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14536
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14537
    class := self reflection classForJavaClassObject:(aJavaContext argAt:1).
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14538
     "Sometimes there is a nil. I don't know why, so I did quickfix"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14539
    self breakPoint:#libjava.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14540
    class ifNotNil:[class classInit.].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14541
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14542
    "Created: / 11-12-2010 / 15:01:36 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14543
    "Modified: / 25-12-2010 / 09:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14544
    "Modified: / 08-01-2011 / 15:11:21 / Jan Kurs <kurs.jan@post.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14545
    "Modified: / 28-01-2011 / 15:19:31 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14546
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14547
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14548
_sun_misc_Unsafe_freeMemory: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14549
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14550
    <javanative: 'sun/misc/Unsafe' name: 'freeMemory'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14551
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14552
         | address  |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14553
    address := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14554
    ^SimulatedNativeMemory free: address
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14555
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14556
    "Created: / 09-12-2010 / 17:56:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14557
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14558
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14559
_sun_misc_Unsafe_getBoolean: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14560
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14561
    <javanative: 'sun/misc/Unsafe' name: 'getBoolean(Ljava/lang/Object;J)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14562
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14563
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14564
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14565
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14566
_sun_misc_Unsafe_getByte: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14567
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14568
    <javanative: 'sun/misc/Unsafe' name: 'getByte'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14569
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14570
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14571
     | address  |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14572
    address := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14573
    ^SimulatedNativeMemory byteAt: address
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14574
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14575
    "Created: / 09-12-2010 / 17:29:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14576
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14577
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14578
_sun_misc_Unsafe_getFloatVolatile: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14579
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14580
    <javanative: 'sun/misc/Unsafe' name: 'getFloatVolatile(Ljava/lang/Object;J)F'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14581
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14582
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14583
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14584
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14585
_sun_misc_Unsafe_getInt: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14586
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14587
    <javanative: 'sun/misc/Unsafe' name: 'getInt'>
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14588
    "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14589
    /**
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14590
    * Fetches a integer value from a given Java variable.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14591
    */
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14592
    public native int getInt(Object o, long offset);
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14593
    "
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14594
    | o offset |
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14595
    o := nativeContext argAt: 1.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14596
    offset := nativeContext argAt: 2.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14597
    ^o instVarAt: offset
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14598
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 14599
    "Modified: / 18-10-2011 / 20:33:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14600
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14601
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14602
_sun_misc_Unsafe_getLongVolatile: nativeContext
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14603
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14604
    <javanative: 'sun/misc/Unsafe' name: 'getLongVolatile(Ljava/lang/Object;J)J'>
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14605
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14606
    | o offset |
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14607
    o := nativeContext argAt: 1.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14608
    offset := nativeContext argAt: 2.
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14609
    ^o instVarAt: offset
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14610
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14611
    "Modified: / 31-08-2011 / 23:57:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14612
!
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 14613
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14614
_sun_misc_Unsafe_getObject: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14615
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14616
    <javanative: 'sun/misc/Unsafe' name: 'getObject'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14617
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14618
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14619
    * Fetches a reference value from a given Java variable.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14620
    * @see #getInt(Object, long)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14621
    */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14622
    public native Object getObject(Object o, long offset);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14623
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14624
    | o offset |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14625
    o := nativeContext argAt: 1.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14626
    offset := nativeContext argAt: 2.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14627
    ^o instVarAt: offset
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14628
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14629
    "Modified: / 10-08-2011 / 01:40:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14630
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14631
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14632
_sun_misc_Unsafe_getObjectVolatile: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14633
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14634
    <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
 14635
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14636
    /**
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14637
    * Fetches a reference value from a given Java variable, with volatile
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14638
    * load semantics. Otherwise identical to {@link #getObject(Object, long)}
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14639
    */
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14640
    public native Object getObjectVolatile(Object o, long offset);
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14641
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14642
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14643
    | o offset |
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14644
    o := nativeContext argAt: 1.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14645
    offset := nativeContext argAt: 2.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14646
    ^o instVarAt: offset
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14647
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14648
    "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
 14649
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14650
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14651
_sun_misc_Unsafe_objectFieldOffset: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14652
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14653
    <javanative: 'sun/misc/Unsafe' name: 'objectFieldOffset'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14654
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14655
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14656
    | javaFieldObject |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14657
    javaFieldObject := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14658
    ^javaFieldObject instVarNamed: #slot
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14659
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14660
    "Created: / 22-11-2010 / 17:58:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14661
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14662
826
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14663
_sun_misc_Unsafe_pageSize: nativeContext
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14664
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14665
    <javanative: 'sun/misc/Unsafe' name: 'pageSize'>
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14666
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14667
    ^ UnimplementedNativeMethodSignal raise
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14668
!
db53b9c842d7 - TestletTestCaseProxy: debugging support improved.
vranyj1
parents: 824
diff changeset
 14669
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14670
_sun_misc_Unsafe_putDouble: nativeContext
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14671
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14672
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(Ljava/lang/Object;JD)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14673
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(JD)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14674
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14675
    | o offset x |
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14676
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14677
    nativeContext numArgs == 5 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14678
        "putDouble(Ljava/lang/Object;JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14679
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14680
        offset := nativeContext argAt: 2.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14681
        x := nativeContext argAt: 4.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14682
        o instVarAt: offset put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14683
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14684
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14685
    nativeContext numArgs == 4 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14686
        "putDouble(JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14687
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14688
        x := nativeContext argAt: 3.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14689
        SimulatedNativeMemory doubleAt: o put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14690
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14691
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14692
    self internalError:'Unknown variant of putDouble() native!!'
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14693
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14694
    "Modified: / 30-08-2011 / 15:58:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14695
!
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14696
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 14697
_sun_misc_Unsafe_putInt: nativeContext
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 14698
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 14699
    <javanative: 'sun/misc/Unsafe' name: 'putInt'>
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14700
    "
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14701
    /**
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14702
     * Stores a value into a given Java variable.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14703
     * <p>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14704
     * The first two parameters are interpreted exactly as with
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14705
     * {@link #getInt(Object, long)} to refer to a specific
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14706
     * Java variable (field or array element).  The given value
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14707
     * is stored into that variable.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14708
     * <p>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14709
     * The variable must be of the same type as the method
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14710
     * parameter <code>x</code>.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14711
     *
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14712
     * @param o Java heap object in which the variable resides, if any, else
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14713
     *        null
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14714
     * @param offset indication of where the variable resides in a Java heap
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14715
     *        object, if any, else a memory address locating the variable
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14716
     *        statically
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14717
     * @param x the value to store into the indicated Java variable
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14718
     * @throws RuntimeException No defined exceptions are thrown, not even
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14719
     *         {@link NullPointerException}
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14720
     */
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14721
    public native void putInt(Object o, long offset, int x);
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14722
    "
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14723
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14724
    | o offset x |
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14725
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14726
    o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14727
    offset := nativeContext argAt: 2.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14728
    x := nativeContext argAt: 4.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14729
    ^o instVarAt: offset put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14730
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14731
    "Modified: / 30-08-2011 / 15:48:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14732
!
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14733
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14734
_sun_misc_Unsafe_putLong: nativeContext
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14735
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14736
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(Ljava/lang/Object;JJ)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14737
    <javanative: 'sun/misc/Unsafe' name: 'putDouble(JJ)V'>
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14738
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14739
    | o offset x |
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14740
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14741
    nativeContext numArgs == 5 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14742
        "putDouble(Ljava/lang/Object;JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14743
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14744
        offset := nativeContext argAt: 2.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14745
        x := nativeContext argAt: 4.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14746
        o instVarAt: offset put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14747
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14748
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14749
    nativeContext numArgs == 4 ifTrue:[
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14750
        "putDouble(JD)V"
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14751
        o := nativeContext argAt: 1.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14752
        x := nativeContext argAt: 3.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14753
        SimulatedNativeMemory longAt: o put: x.
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14754
        ^nil
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14755
    ].
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14756
    self internalError:'Unknown variant of putLong() native!!'
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14757
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14758
    "Created: / 07-12-2010 / 23:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
948
82d50d26621c Fixes for Mauve
vranyj1
parents: 945
diff changeset
 14759
    "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
 14760
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14761
900
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14762
_sun_misc_Unsafe_putObject: nativeContext
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14763
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14764
    <javanative: 'sun/misc/Unsafe' name: 'putObject'>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14765
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14766
    "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14767
    /**
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14768
     * Stores a reference value into a given Java variable.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14769
     * <p>
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14770
     * Unless the reference <code>x</code> being stored is either null
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14771
     * or matches the field type, the results are undefined.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14772
     * If the reference <code>o</code> is non-null, car marks or
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14773
     * other store barriers for that object (if the VM requires them)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14774
     * are updated.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14775
     * @see #putInt(Object, int, int)
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14776
     */
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14777
     public native void putObject(Object o, long offset, Object x);
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14778
     "
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14779
     | o offset x |
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14780
     o := nativeContext argAt: 1.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14781
     offset := nativeContext argAt: 2.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14782
     x := nativeContext argAt: 4.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14783
     ^o instVarAt: offset put: x.
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14784
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14785
    "Modified: / 10-08-2011 / 01:40:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14786
!
af7f94374272 - more native methods
vranyj1
parents: 899
diff changeset
 14787
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14788
_sun_misc_Unsafe_putObjectVolatile: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14789
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14790
    <javanative: 'sun/misc/Unsafe' name: 'putObjectVolatile(Ljava/lang/Object;JLjava/lang/Object;)V'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14791
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14792
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14793
!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14794
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14795
_sun_misc_Unsafe_registerNatives: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14796
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14797
    <javanative: 'sun/misc/Unsafe' name: 'registerNatives'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14798
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14799
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14800
     "Nothing to do, native method are bound lazily"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14801
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14802
    "Created: / 25-10-2010 / 16:14:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14803
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14804
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14805
_sun_misc_Unsafe_staticFieldBase: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14806
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14807
    <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
 14808
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14809
      /**
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14810
      * 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
 14811
      * #staticFieldOffset}.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14812
      * <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
 14813
      * given class can be accessed via methods like {@link #getInt(Object,
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14814
      * 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
 14815
      * 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
 14816
      * 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
 14817
      * this class.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14818
      */
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14819
      public native Object staticFieldBase(Field f);
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14820
    "
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14821
     | javaFieldObject javaClassObject |
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14822
     javaFieldObject := nativeContext argAt: 1.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14823
     javaClassObject := javaFieldObject instVarNamed: #clazz.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14824
     ^self classForJavaClassObject: javaClassObject.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14825
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14826
    "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
 14827
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14828
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14829
_sun_misc_Unsafe_staticFieldOffset: nativeContext
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14830
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14831
    <javanative: 'sun/misc/Unsafe' name: 'staticFieldOffset(Ljava/lang/reflect/Field;)J'>
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14832
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14833
    | javaFieldObject |
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14834
    javaFieldObject := nativeContext argAt: 1.
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14835
    ^javaFieldObject instVarNamed: #slot
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14836
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14837
    "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
 14838
!
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 14839
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14840
_sun_misc_VM_initialize: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14841
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14842
    <javanative: 'sun/misc/VM' name: 'initialize'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14843
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14844
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14845
    "Nothing to do"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14846
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14847
    "Created: / 26-11-2010 / 18:43:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14848
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14849
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14850
!JavaVM class methodsFor:'native - sun.nio.ch'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14851
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14852
_sun_nio_ch_FileChannelImpl_initIDs: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14853
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14854
    <javanative: 'sun/nio/ch/FileChannelImpl' name: 'initIDs()J'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14855
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14856
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14857
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 14858
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14859
!JavaVM class methodsFor:'native - sun.reflect'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14860
873
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14861
_sun_reflect_ConstantPool_getDoubleAt0: nativeContext
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14862
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14863
    <javanative: 'sun/reflect/ConstantPool' name: 'getDoubleAt0'>
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14864
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14865
        | cpool  index  double |
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14866
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14867
    cpool := self reflection constantPoolFor:(nativeContext receiver).
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14868
    self breakPoint:#mh.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14869
    index := nativeContext at:3.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14870
     "TODO: why 3?"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14871
    double := cpool at:index.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14872
    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
 14873
    ^ double
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14874
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14875
    "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
 14876
    "Created: / 28-02-2011 / 17:24:17 / Marcel Hlopko <hlopik@gmail.com>"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14877
!
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14878
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14879
_sun_reflect_ConstantPool_getIntAt0: nativeContext
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14880
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14881
    <javanative: 'sun/reflect/ConstantPool' name: 'getIntAt0'>
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14882
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14883
        | cpool  index  int |
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14884
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14885
    cpool := self reflection constantPoolFor:(nativeContext receiver).
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14886
    index := nativeContext at:3.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14887
     "TODO: why 3?"
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14888
    int := cpool at:index.
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14889
    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
 14890
    ^ int
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14891
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14892
    "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
 14893
    "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
 14894
!
933263bd2d27 Fixes for primitive array types (uses Signed* variant of an array)
vranyj1
parents: 866
diff changeset
 14895
859
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14896
_sun_reflect_ConstantPool_getLongAt0: nativeContext
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14897
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14898
    <javanative: 'sun/reflect/ConstantPool' name: 'getLongAt0'>
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14899
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14900
        | cpool  index  long |
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14901
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14902
    cpool := self reflection constantPoolFor:(nativeContext receiver).
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14903
    index := nativeContext at:3.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14904
     "TODO: why 3?"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14905
    long := cpool at:index.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14906
    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
 14907
    ^ long
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14908
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14909
    "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
 14910
    "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
 14911
!
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14912
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14913
_sun_reflect_ConstantPool_getUTF8At0: nativeContext
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14914
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14915
    <javanative: 'sun/reflect/ConstantPool' name: 'getUTF8At0'>
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14916
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14917
    
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14918
    | cpool index string |
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14919
    cpool := self reflection constantPoolFor: (nativeContext receiver).
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14920
    index := nativeContext at: 3. 
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14921
    "TODO: why 3?"
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14922
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14923
    string := cpool at: index.
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14924
    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
 14925
    ^Java as_String: string
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14926
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14927
    "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
 14928
!
56bc5e063b7d Common code from JUnitTestCaseProxy and TestletTestCaseProxy moved to a common superclass
vranyj1
parents: 851
diff changeset
 14929
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14930
_sun_reflect_NativeConstructorAccessorImpl_newInstance0: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14931
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14932
    <javanative: 'sun/reflect/NativeConstructorAccessorImpl' name: 'newInstance0'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14933
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14934
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14935
    | ctor args method instance |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14936
    ctor := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14937
    args := aJavaContext argAt: 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14938
    args ifNil:[args := #()] ifNotNil:[args := args asArray].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14939
    method := self reflection methodForJavaConstructorObject: ctor.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14940
    instance := method javaClass new.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14941
    method valueWithReceiver:instance arguments:args.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14942
    ^instance
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14943
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14944
    "Created: / 26-11-2010 / 11:41:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14945
    "Modified: / 04-02-2011 / 18:47:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14946
    "Modified: / 09-02-2011 / 01:12:10 / Marcel Hlopko <hlopik@gmail.com>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14947
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14948
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14949
_sun_reflect_NativeMethodAccessorImpl_invoke0: nativeContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14950
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14951
    <javanative: 'sun/reflect/NativeMethodAccessorImpl' name: 'invoke0'>
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14952
    "
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14953
    private static native Object invoke0(Method m, Object obj, Object[] args);
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14954
    "
915
vranyj1
parents: 914
diff changeset
 14955
    | m obj args method descriptor adescriptors bargs retval retcls |
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14956
    m := nativeContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14957
    obj := nativeContext argAt: 2.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14958
    args := nativeContext argAt: 3.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14959
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14960
    method := self reflection methodForJavaMethodObject: m.
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14961
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 14962
924
7e66564a2302 fix for native sun.reflect.NativeMethodAccessorImpl.invoke0()
vranyj1
parents: 923
diff changeset
 14963
    (obj isNil and:[method isStatic not]) ifTrue:[
914
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 14964
        self throwNullPointerException.
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 14965
        ^nil.            
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 14966
    ].
0331f83c542a Fixes for invoke0 native
vranyj1
parents: 913
diff changeset
 14967
915
vranyj1
parents: 914
diff changeset
 14968
    descriptor := method descriptor.
vranyj1
parents: 914
diff changeset
 14969
vranyj1
parents: 914
diff changeset
 14970
    "Possibly box/unbox arguments"
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14971
    args notEmptyOrNil ifTrue:[
915
vranyj1
parents: 914
diff changeset
 14972
        adescriptors := descriptor parameters.
vranyj1
parents: 914
diff changeset
 14973
        bargs := Array new: args size.
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14974
        1 to: args size do:[:i|
915
vranyj1
parents: 914
diff changeset
 14975
            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
 14976
        ].
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14977
    ] ifFalse:[
915
vranyj1
parents: 914
diff changeset
 14978
        bargs := #()
880
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14979
    ].
a9171dcee2b0 Fix in sun.reflect.NativeMethodAccessorImpl.invoke0(): unboxes
vranyj1
parents: 877
diff changeset
 14980
    "Fire the method"
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14981
    method isStatic ifTrue:[
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14982
        retval := method valueWithReceiver: method javaClass arguments: bargs.
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14983
    ] ifFalse:[
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14984
        retval := obj perform: method selector withArguments: bargs.
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14985
    ].
915
vranyj1
parents: 914
diff changeset
 14986
    retcls := descriptor return.
vranyj1
parents: 914
diff changeset
 14987
    retcls notNil ifTrue:[
vranyj1
parents: 914
diff changeset
 14988
        retval := retcls javaClass javaBox: retval.
vranyj1
parents: 914
diff changeset
 14989
    ].
vranyj1
parents: 914
diff changeset
 14990
    ^retval.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14991
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14992
    "Created: / 06-02-2011 / 00:00:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14993
    "Modified: / 28-02-2011 / 16:57:31 / Marcel Hlopko <hlopik@gmail.com>"
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 14994
    "Modified: / 19-08-2011 / 15:06:00 / cg"
924
7e66564a2302 fix for native sun.reflect.NativeMethodAccessorImpl.invoke0()
vranyj1
parents: 923
diff changeset
 14995
    "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
 14996
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14997
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14998
_sun_reflect_Reflection_getCallerClass: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 14999
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15000
    <javanative: 'sun/reflect/Reflection' name: 'getCallerClass'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15001
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15002
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15003
    | framesToSkip framesSkipped frame |
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15004
    framesToSkip := aJavaContext argAt: 1.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15005
    framesSkipped := 0.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15006
    frame := aJavaContext.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15007
    [ framesSkipped == framesToSkip ] whileFalse:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15008
        [frame := frame sender.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15009
        framesSkipped := framesSkipped + 1].
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15010
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15011
    ^JavaVM javaClassObjectForClass:
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15012
        (frame receiver class theNonMetaclass)
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15013
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15014
    "Created: / 25-10-2010 / 16:32:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15015
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15016
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15017
_sun_reflect_Reflection_getClassAccessFlags: aJavaContext
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15018
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15019
    <javanative: 'sun/reflect/Reflection' name: 'getClassAccessFlags'>
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15020
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15021
        |class|
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15022
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15023
    class := self reflection classForJavaClassObject:(aJavaContext argAt:1).
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15024
    ^(class isJavaPrimitiveType or:[class isJavaArrayClass]) ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15025
        1041"FIXME: make it symbolic"
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15026
    ] ifFalse:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15027
        class accessFlags
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15028
    ]
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15029
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15030
    "Created: / 26-11-2010 / 10:20:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 760
diff changeset
 15031
    "Modified: / 28-01-2011 / 15:19:28 / Marcel Hlopko <hlopik@gmail.com>"
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 959
diff changeset
 15032
    "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
 15033
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15034
995
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15035
!JavaVM class methodsFor:'native - sun.security.provider'!
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15036
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15037
_sun_security_provider_NativeSeedGenerator_nativeGenerateSeed: nativeContext
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15038
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15039
    <javanative: 'sun/security/provider/NativeSeedGenerator' name: 'nativeGenerateSeed([B)Z'>
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15040
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15041
    ^ UnimplementedNativeMethodSignal raise
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15042
! !
4984e6d0d0ce Fixes for Win32
vranyj1
parents: 992
diff changeset
 15043
888
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15044
!JavaVM class methodsFor:'queries'!
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15045
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15046
booted
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15047
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15048
    | jVM |
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15049
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15050
    jVM := Java at:'sun.misc.VM'.
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15051
    ^jVM notNil and:[(jVM instVarNamed: #booted) == 1].
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15052
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15053
    "
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15054
    JavaVM booted        
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15055
    "
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15056
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15057
    "Created: / 08-08-2011 / 10:04:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15058
! !
ef76437b1456 Fixes in getClassLoader() - this is bit tricky in OpenJDK...
vranyj1
parents: 886
diff changeset
 15059
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15060
!JavaVM class methodsFor:'semaphores & monitors'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15061
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15062
enteredMonitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15063
    ^ self enteredMonitorsOfProcess:(Processor activeProcess)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15064
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15065
    "Modified: / 8.1.1999 / 14:02:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15066
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15067
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15068
enteredMonitorsOfProcess:aProcess
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15069
    |monitors|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15070
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15071
    monitors := EnteredMonitorsPerProcess at:aProcess ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15072
    monitors isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15073
	monitors := OrderedCollection new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15074
	EnteredMonitorsPerProcess at:aProcess put:monitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15075
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15076
    ^ monitors
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15077
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15078
    "Created: / 8.1.1999 / 14:02:02 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15079
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15080
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15081
monitorFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15082
    |mon|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15083
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15084
    LockTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15085
	mon := LockTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15086
	mon isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15087
	    LockTable at:someObject put:(mon := Monitor new)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15088
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15089
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15090
    ^ mon
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15091
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15092
    "Created: / 2.1.1998 / 19:01:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15093
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15094
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15095
releaseAndSignalForAllSemaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15096
    |sema|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15097
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15098
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15099
	sema := WaitTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15100
"/        sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15101
"/            WaitTable removeKey:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15102
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15103
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15104
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15105
    sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15106
	sema signalForAll
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15107
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15109
    "Created: / 2.1.1998 / 18:21:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15110
    "Modified: / 3.2.1998 / 16:11:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15111
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15113
releaseAndSignalSemaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15114
    |sema|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15115
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15116
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15117
	sema := WaitTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15118
"/        sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15119
"/            WaitTable removeKey:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15120
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15121
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15122
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15123
    sema notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15124
	sema signal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15125
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15126
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15127
    "Created: / 2.1.1998 / 18:20:20 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15128
    "Modified: / 3.2.1998 / 16:11:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15129
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15131
releaseSemaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15132
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15133
	WaitTable removeKey:someObject ifAbsent:nil
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15134
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15135
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15136
    "Created: / 2.1.1998 / 18:17:14 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15137
    "Modified: / 2.1.1998 / 21:52:03 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15138
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15140
semaphoreFor:someObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15141
    |sema|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15143
    WaitTableAccess critical:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15144
	sema := WaitTable at:someObject ifAbsent:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15145
	sema isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15146
	    WaitTable at:someObject put:(sema := Semaphore new)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15147
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15148
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15149
    ^ sema
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15150
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15151
    "Created: / 2.1.1998 / 18:15:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15152
    "Modified: / 2.1.1998 / 18:20:31 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15153
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15154
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15155
syncMonitorCache
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15156
    |mO mC mP mon wasBlocked enteredMonitors|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15157
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15158
    wasBlocked := OperatingSystem blockInterrupts.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15159
    (mO := EnteredMonitorObject) notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15160
	mC := EnteredMonitorObjectCount.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15161
	mP := EnteredMonitorProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15162
	mon := self monitorFor:mO.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15163
	mon fakeEnter:mP count:mC.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15164
	enteredMonitors := self enteredMonitorsOfProcess:mP.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15165
	mC timesRepeat:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15166
	    enteredMonitors addLast:mO
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15167
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15168
	EnteredMonitorObject := EnteredMonitorProcess := LeftMonitorObject := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15169
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15170
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15171
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15172
    "Created: / 8.1.1999 / 13:59:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15173
    "Modified: / 9.1.1999 / 00:39:55 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15174
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15175
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15176
waitFor:sema state:pState timeOut:tmo
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15177
    "wait"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15178
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15179
    |wasBlocked thisProcess enteredMonitors|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15180
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15181
"/    self syncMonitorCache.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15182
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15183
    thisProcess := Processor activeProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15184
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15185
    "/ temporarily leave all entered monitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15186
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15187
    wasBlocked := OperatingSystem blockInterrupts.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15188
    self syncMonitorCache.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15189
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15190
    enteredMonitors := self enteredMonitorsOfProcess:thisProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15191
    enteredMonitors size > 0 ifTrue:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15192
        MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15193
            ('====> wait - exit ' , enteredMonitors size printString , ' monitors in ' , Processor activeProcess name , ' ...') infoPrintCR.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15194
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15195
        enteredMonitors do:[:handle | 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15196
            |mon|
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15197
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15198
            mon := LockTable at:handle ifAbsent:nil.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15199
            mon isNil ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15200
                self halt:'no monitor in wait'.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15201
            ] ifFalse:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15202
                MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15203
                    ('====> wait - exit monitor for ' , handle displayString , ' in ' , Processor activeProcess name , ' ...') infoPrintCR. 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15204
                ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15205
                mon exit.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15206
            ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15207
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15208
        EnteredMonitorsPerProcess removeKey:thisProcess.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15209
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15210
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15211
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15212
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15213
    pState notNil ifTrue:[thisProcess state:pState].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15214
    sema isNil ifTrue:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15215
        Delay waitForMilliseconds:tmo
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15216
    ] ifFalse:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15217
        (tmo isNil or:[tmo = 0]) ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15218
            sema wait.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15219
        ] ifFalse:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15220
            sema waitWithTimeout:tmo / 1000.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15221
        ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15222
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15224
    "/ re-enter monitors.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15226
    enteredMonitors size > 0 ifTrue:[
1023
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15227
        wasBlocked := OperatingSystem blockInterrupts.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15228
        self syncMonitorCache.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15229
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15230
        MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15231
            ('====> wait - reenter ' , enteredMonitors size printString , ' monitors in ' , Processor activeProcess name , ' ...') infoPrintCR.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15232
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15233
        enteredMonitors do:[:handle | 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15234
            |mon|
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15235
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15236
            LockTableAccess critical:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15237
                mon := LockTable at:handle ifAbsent:nil.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15238
                mon isNil ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15239
                    LockTable at:handle put:(mon := Monitor new)
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15240
                ]
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15241
            ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15242
            MonitorTrace ifTrue:[
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15243
                ('====> wait - reenter monitor for ' , handle displayString , ' in ' , Processor activeProcess name , ' ...') infoPrintCR. 
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15244
            ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15245
            mon enter.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15246
        ].
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15247
        EnteredMonitorsPerProcess at:thisProcess put:enteredMonitors.
6eea44b0da09 JavaVM: Few fixes in native methods
vranyj1
parents: 1022
diff changeset
 15248
        wasBlocked ifFalse:[ OperatingSystem unblockInterrupts].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15249
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15250
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15251
    "Created: / 30.12.1998 / 19:19:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15252
    "Modified: / 8.1.1999 / 17:29:24 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15253
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15254
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15255
!JavaVM class methodsFor:'vm support'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15256
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15257
_ANEWARRAY2:classRef _:size 
801
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15258
    "vm helper method for new resolving - creates new array of class identified by classRef"
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15259
    
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15260
    |javaClass|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15261
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15262
    classRef ifNil:[ self halt:'cant create array from nil ref' ].
801
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15263
    javaClass := classRef resolve.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15264
    javaClass ifNil:[ self halt:'cant create array from nil javaClass' ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15265
    self assert:javaClass javaArrayClass isJavaArrayClass. 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15266
    ^ javaClass javaArrayClass new:size
801
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15267
80c511097f3c added JavaVM class>>_ANEWARRAY2:_: for new resolving
hlopkmar
parents: 772
diff changeset
 15268
    "Created: / 18-05-2011 / 21:04:59 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15269
    "Modified: / 11-06-2011 / 23:42:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15270
!
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15271
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15272
_ANEWARRAY:classRef _:size 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15273
    |ref|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15274
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15275
    ref := classRef.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15276
    ref isUnresolved ifTrue:[ ref := ref javaClass ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15277
    self assert:ref javaArrayClass isJavaArrayClass.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15278
    ^ ref javaArrayClass new:size
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15279
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15280
    "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
 15281
    "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
 15282
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15283
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15284
_ARRAYLENGTH:arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15285
    arr isNil ifTrue:[
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15286
        "/self halt:'should not happen'.
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15287
        self throwNullPointerException.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15288
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15289
    ^ arr size
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15290
824
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15291
    "Created: / 08-01-1999 / 14:38:27 / cg"
26e719a7e88c Few fixes and native methods
vranyj1
parents: 804
diff changeset
 15292
    "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
 15293
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15294
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15295
_ATHROW:aJavaException
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15296
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15297
    <resource: #skipInDebuggersWalkBack>
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15298
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15299
    aJavaException isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15300
        self halt:'cannot happen'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15301
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15302
    self throwException:aJavaException.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15303
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15304
    "Created: / 08-01-1999 / 14:15:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15305
    "Modified: / 04-03-2011 / 00:07:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15306
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15307
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15308
_CHECKCAST2: object _: aJavaClassRef 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15309
    "Trampouline for unhandled cases ..."
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15310
    
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15311
    | class |
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15312
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15313
    aJavaClassRef isJavaRef 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15314
        ifTrue: [ class := aJavaClassRef resolve ]
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15315
        ifFalse: [ self halt: 'I expected classRefs only - maybe I was wrong' ].
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
 15316
    (object isNil or: [ (self canCast: object class to: class) not ]) 
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15317
        ifTrue: 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15318
            [ self throwClassCastException.
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
 15319
            ^ false ].
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
 15320
    "
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15321
    (self canCast: object class to: class) not
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15322
        ifTrue: 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15323
            [ self throwClassCastException.
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15324
            ^ false ].
912
e651488f5741 Many fixes in reflection, expecially for generic types support
vranyj1
parents: 911
diff changeset
 15325
    "
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15326
    ^ true.
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15327
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15328
    "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
 15329
    "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
 15330
!
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15331
760
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15332
_CHECKCAST:object _: classOrClassRef
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15333
    "Trampouline for unhandled cases ..."
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15334
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15335
    | class |
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15336
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15337
    class := classOrClassRef javaClass.
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15338
5f55da80009b JavaVM: few fixes in VM callbacks (getting rid of all __jresolveMethod() in jinterpret.c)
vranyj1
parents: 758
diff changeset
 15339
    "
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15340
    Java VM Spec, 3rd edition, p 280:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15341
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15342
    If objectref is null, the checkcast instruction throws a ClassCastException.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15343
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15344
    ("object isNil"false or:[(self canCast: object class to: class) not])
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15345
        ifTrue:[self throwClassCastException. ^false].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15346
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15347
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15348
    "Created: / 08-01-1999 / 14:53:51 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15349
    "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
 15350
    "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
 15351
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15352
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15353
_D2I:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15354
    |v|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15355
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15356
    v := op1 asInteger.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15357
    v > 16r7FFFFFFF ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15358
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15359
	v := 16r7FFFFFFF
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15360
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15361
	v < 16r80000000 negated ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15362
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15363
	    v := 16r80000000 negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15364
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15365
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15366
    ^ v
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15367
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15368
    "Modified: / 17.10.1998 / 21:55:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15369
    "Created: / 8.1.1999 / 14:47:13 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15370
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15371
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15372
_D2L:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15373
    |v|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15374
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15375
    v := op1 asInteger.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15376
    v > 16r7FFFFFFFFFFFFFFF ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15377
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15378
	v := 16r7FFFFFFFFFFFFFFF
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15379
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15380
	v < 16r8000000000000000 negated ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15381
	    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15382
	    v := 16r8000000000000000 negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15383
	]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15384
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15385
    ^ v
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15386
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15387
    "Modified: / 17.10.1998 / 21:55:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15388
    "Created: / 8.1.1999 / 14:46:44 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15389
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15390
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15391
_DADD:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15392
    ^ op1 asFloat + op2 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15393
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15394
    "Created: / 8.1.1999 / 15:11:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15395
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15396
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15397
_DDIV:op1 _:op2
981
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 15398
    ^ op1 asFloat uncheckedDivide: op2 asFloat.
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 15399
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 15400
    "Created: / 08-01-1999 / 15:09:10 / cg"
03ded8a12bb9 Fixes in arraycopy native
vranyj1
parents: 964
diff changeset
 15401
    "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
 15402
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15403
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15404
_DMUL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15405
    ^ op1 asFloat * op2 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15407
    "Created: / 8.1.1999 / 14:49:52 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15408
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15409
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15410
_DNEG:op
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15411
    ^ op asFloat negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15412
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15413
    "Created: / 8.1.1999 / 15:06:15 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15414
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15415
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15416
_DSUB:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15417
    ^ op1 asFloat - op2 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15418
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15419
    "Created: / 8.1.1999 / 15:10:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15420
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15421
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15422
_F2I:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15423
    ^ self _D2I:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15424
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15425
    "Created: / 8.1.1999 / 14:47:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15426
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15427
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15428
_F2L:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15429
    ^ self _D2L:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15430
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15431
    "Created: / 8.1.1999 / 14:47:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15432
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15433
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15434
_FADD:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15435
    ^ op1 asShortFloat + op2 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15436
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15437
    "Created: / 8.1.1999 / 15:11:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15438
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15439
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15440
_FDIV:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15441
    ^ op1 asShortFloat / op2 asShortFloat.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15442
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15443
    "Created: / 8.1.1999 / 15:09:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15444
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15445
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15446
_FMUL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15447
    ^ op1 asShortFloat * op2 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15448
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15449
    "Created: / 8.1.1999 / 14:50:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15450
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15451
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15452
_FNEG:op
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15453
    ^ op asShortFloat negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15454
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15455
    "Created: / 8.1.1999 / 15:06:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15456
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15457
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15458
_FSUB:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15459
    ^ op1 asShortFloat - op2 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15460
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15461
    "Created: / 8.1.1999 / 15:08:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15462
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15463
802
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15464
_INSTANCEOF2: object _: classRef 
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15465
    |class|
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15466
    classRef isJavaRef ifFalse: [self halt: 'expected only classRefs - maybe I was wrong'].
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15467
    class := classRef resolve.
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15468
    object ifNil: [ ^ 0 ].
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15469
    ^ (self canCast: object class to: class) ifTrue: [ 1 ] ifFalse: [ 0 ].
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15470
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15471
    "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
 15472
!
dc61c3abc940 added _CHECKCAST2 and _INSTANCEOF2 to JavaVM
hlopkmar
parents: 801
diff changeset
 15473
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15474
_INSTANCEOF:object _:class
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15475
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15476
    object ifNil:[^0].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15477
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15478
    ^(self canCast: object class to: class)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15479
        ifTrue:[1]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15480
        ifFalse:[0]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15481
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15482
    "Created: / 08-01-1999 / 14:52:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15483
    "Modified: / 27-01-1999 / 20:56:25 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15484
    "Modified: / 25-02-2011 / 18:31:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15485
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15486
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15487
_L2D:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15488
    ^ op1 asFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15489
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15490
    "Created: / 8.1.1999 / 14:46:09 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15491
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15492
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15493
_L2F:op1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15494
    ^ op1 asShortFloat
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15495
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15496
    "Created: / 8.1.1999 / 14:46:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15497
    "Modified: / 8.1.1999 / 14:50:18 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15498
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15499
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15500
_LADD:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15501
    |sum|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15502
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15503
    sum := (op1 + op2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15504
    ^ sum
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15505
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15506
    "Created: / 8.1.1999 / 15:07:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15507
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15508
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15509
_LAND:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15510
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15511
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15512
    (op1 < 0 or:[op2 < 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15513
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15514
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15515
    rslt := op1 bitAnd: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15516
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15517
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15518
    "Modified: / 7.1.1998 / 21:21:53 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15519
    "Created: / 8.1.1999 / 14:54:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15520
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15521
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15522
_LDIV:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15523
    |quo|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15524
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15525
    quo := op1 quo: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15526
    ^ quo
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15527
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15528
    "Created: / 8.1.1999 / 15:04:47 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15529
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15530
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15531
_LMUL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15532
    |prod o1 o2 sign|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15533
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15534
"/ self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15535
    "/ ST's largeIntegers compute a correct result;
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15536
    "/ but here, we want the overflow to flow into the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15537
    "/ sign bit ... (sigh)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15538
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15539
    sign := 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15540
    (o1 := op1) < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15541
	sign := -1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15542
	o1 := o1 negated.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15543
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15544
    (o2 := op2) < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15545
	sign := sign negated.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15546
	o2 := o2 negated.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15547
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15548
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15549
    prod := (o1 * o2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15550
    (prod bitAnd:16r8000000000000000) ~~ 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15551
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15552
    sign == -1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15553
	prod := prod negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15554
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15555
    ^ prod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15556
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15557
    "Created: / 8.1.1999 / 15:10:04 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15558
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15559
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15560
_LNEG:op
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15561
    ^ op asInteger negated
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15562
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15563
    "Created: / 8.1.1999 / 15:06:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15564
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15565
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15566
_LOR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15567
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15568
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15569
    (op1 < 0 or:[op2 < 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15570
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15571
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15572
    rslt := op1 bitOr: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15573
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15574
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15575
    "Created: / 8.1.1999 / 15:05:10 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15576
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15577
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15578
_LREM:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15579
    |rem|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15580
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15581
    rem := op1 rem: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15582
    ^ rem
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15583
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15584
    "Modified: / 7.1.1998 / 00:23:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15585
    "Created: / 8.1.1999 / 15:04:23 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15586
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15587
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15588
_LSHL:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15589
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15590
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15591
    (op1 < 0) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15592
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15593
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15594
    rslt := (op1 bitShift:op2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15595
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15596
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15597
    "Created: / 8.1.1999 / 14:51:08 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15598
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15599
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15600
_LSHR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15601
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15602
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15603
    op1 < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15604
	self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15605
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15606
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15607
    (op1 < 0) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15608
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15609
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15610
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15611
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15612
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15613
    "Created: / 8.1.1999 / 14:51:57 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15614
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15615
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15616
_LSUB:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15617
    |diff|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15618
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15619
    diff := (op1 - op2) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15620
    ^ diff
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15621
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15622
    "Created: / 8.1.1999 / 15:10:33 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15623
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15624
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15625
_LUSHR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15626
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15627
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15628
    op1 < 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15629
	self halt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15630
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15631
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15632
    (op1 < 0) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15633
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15634
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15635
    rslt := (op1 bitShift:op2 negated) bitAnd:16rFFFFFFFFFFFFFFFF.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15636
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15637
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15638
    "Modified: / 7.1.1998 / 21:22:17 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15639
    "Created: / 8.1.1999 / 14:51:32 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15640
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15641
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15642
_LXOR:op1 _:op2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15643
    |rslt|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15644
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15645
    (op1 < 0 or:[op2 < 0]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15646
	self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15647
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15648
    rslt := op1 bitXor: op2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15649
    ^ rslt
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15650
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15651
    "Created: / 8.1.1999 / 15:12:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15652
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15653
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15654
_MONITORENTER:someObject
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15655
    |mon thisProcess objString |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15656
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15657
    someObject isNil ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15658
        self throwNullPointerException.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15659
        self halt.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15660
        ^ self
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15661
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15662
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15663
    self syncMonitorCache.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15664
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15665
    LeftMonitorObject := nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15666
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15667
    thisProcess := Processor activeProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15668
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15669
    mon := self monitorFor:someObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15670
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15671
    MonitorTrace ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15672
        someObject isJavaClass ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15673
            objString := someObject name
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15674
        ] ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15675
            objString := someObject class name , '@' , someObject identityHash printString.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15676
        ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15677
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15678
        ('====> entering monitor for ' , objString , ' in ' , thisProcess name , ' ...') printCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15679
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15680
    mon enter.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15681
    MonitorTrace ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15682
        ('====> entered it in ' , thisProcess name , ' ...') printCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15683
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15684
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15685
    (self enteredMonitorsOfProcess:thisProcess) add:someObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15686
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15687
    "Created: / 08-01-1999 / 14:23:10 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15688
    "Modified: / 08-01-1999 / 18:47:26 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15689
    "Modified: / 10-08-2011 / 20:19:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15690
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15691
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15692
_MONITOREXIT:someObject
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15693
    |mon thisProcess wasBlocked lastMon objString |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15694
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15695
    someObject isNil ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15696
        self throwNullPointerException.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15697
        self halt.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15698
        ^ self
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15699
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15700
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15701
    self syncMonitorCache.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15702
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15703
    thisProcess := Processor activeProcess.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15704
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15705
    mon := self monitorFor:someObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15706
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15707
    MonitorTrace ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15708
        someObject isJavaClass ifTrue:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15709
            objString := someObject name
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15710
        ] ifFalse:[
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15711
            objString := someObject class name , '@' , someObject identityHash printString.
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15712
        ].
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15713
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15714
        ('====> leaving monitor for ' , objString , ' in ' , thisProcess name , ' ...') printCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15715
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15716
    mon exit.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15717
    MonitorTrace ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15718
        ('====> left it in ' , thisProcess name , ' ...') printCR.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15719
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15720
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15721
    lastMon := (self enteredMonitorsOfProcess:thisProcess) removeLast.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15722
    lastMon ~~ someObject ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15723
        self halt:'oops - monitor enter/exit nesting wrong'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15724
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15725
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15726
    wasBlocked := OperatingSystem blockInterrupts.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15727
    mon count == 0 ifTrue:[
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15728
        LeftMonitorObject := someObject
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15729
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15730
    wasBlocked ifFalse:[ OperatingSystem unblockInterrupts ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15731
905
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15732
    "Created: / 08-01-1999 / 14:23:19 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15733
    "Modified: / 08-01-1999 / 18:47:08 / cg"
d03d9e05c581 Temporary commit. method resolving fixed
vranyj1
parents: 904
diff changeset
 15734
    "Modified: / 10-08-2011 / 20:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15735
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15736
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15737
_MULTINEW2: classRef _: dim1 
927
vranyj1
parents: 926
diff changeset
 15738
vranyj1
parents: 926
diff changeset
 15739
    | arrCls arr |
vranyj1
parents: 926
diff changeset
 15740
vranyj1
parents: 926
diff changeset
 15741
    self assert: classRef isJavaClassRef.
vranyj1
parents: 926
diff changeset
 15742
    arrCls := classRef resolve.
vranyj1
parents: 926
diff changeset
 15743
    arr := arrCls new: dim1.
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15744
    ^ arr.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15745
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15746
    "Created: / 19-05-2011 / 10:46:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
927
vranyj1
parents: 926
diff changeset
 15747
    "Modified: / 26-08-2011 / 18:46:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vranyj1
parents: 926
diff changeset
 15748
!
vranyj1
parents: 926
diff changeset
 15749
vranyj1
parents: 926
diff changeset
 15750
_MULTINEW2: classRef _: dim1 _: dim2
vranyj1
parents: 926
diff changeset
 15751
vranyj1
parents: 926
diff changeset
 15752
    | arrCls arr |
vranyj1
parents: 926
diff changeset
 15753
vranyj1
parents: 926
diff changeset
 15754
    self assert: classRef isJavaClassRef.
vranyj1
parents: 926
diff changeset
 15755
    arrCls := classRef resolve.
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15756
    arr := arrCls new: dim2.
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15757
    1 to: dim2 do:[:i|
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15758
        arr at: i put: (arrCls javaComponentClass new: dim1)
927
vranyj1
parents: 926
diff changeset
 15759
    ].
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15760
    ^ arr.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15761
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15762
    "Created: / 19-05-2011 / 10:47:42 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15763
    "Modified: / 26-08-2011 / 20:18:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
927
vranyj1
parents: 926
diff changeset
 15764
!
vranyj1
parents: 926
diff changeset
 15765
vranyj1
parents: 926
diff changeset
 15766
_MULTINEW2: classRef _: dim1 _: dim2 _: dim3
vranyj1
parents: 926
diff changeset
 15767
vranyj1
parents: 926
diff changeset
 15768
    | arrCls arr |
vranyj1
parents: 926
diff changeset
 15769
vranyj1
parents: 926
diff changeset
 15770
    self assert: classRef isJavaClassRef.
vranyj1
parents: 926
diff changeset
 15771
    arrCls := classRef resolve.
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15772
    arr := arrCls new: dim3.
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15773
    1 to: dim3 do:[:i|
927
vranyj1
parents: 926
diff changeset
 15774
        | arr2 |
vranyj1
parents: 926
diff changeset
 15775
        arr2 := arrCls javaComponentClass new: dim2.
vranyj1
parents: 926
diff changeset
 15776
        1 to: dim2 do:[:j|
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15777
            arr2 at: j put: (arrCls javaComponentClass javaComponentClass new: dim1).
927
vranyj1
parents: 926
diff changeset
 15778
        ].
vranyj1
parents: 926
diff changeset
 15779
        arr at: i put: arr2.
vranyj1
parents: 926
diff changeset
 15780
    ].
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15781
    ^ arr.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15782
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15783
    "Created: / 19-05-2011 / 10:47:50 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
928
c999ae3593e3 JavaVM: fixes in MULTINEWARRAY
vranyj1
parents: 927
diff changeset
 15784
    "Modified: / 26-08-2011 / 20:20:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15785
!
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15786
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15787
_MULTINEW:typeRef _:dim1 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15788
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15789
    |arr|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15790
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15791
    arr := typeRef new:dim1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15792
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15793
    ^ arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15794
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15795
    "Created: / 08-01-1999 / 14:15:42 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15796
    "Modified: / 08-01-1999 / 18:03:05 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15797
    "Modified: / 16-03-2011 / 16:20:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15798
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15799
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15800
_MULTINEW: typeRef _: dim1 _: dim2 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15801
    | arr |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15802
804
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15803
    arr := typeRef new: dim2.
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15804
    1 to: dim2
c125b8449315 JavaVM class>>_MULTINEW2
hlopkmar
parents: 802
diff changeset
 15805
        do: [:idx | arr at: idx put: (self _MULTINEW: typeRef javaComponentClass _: dim1) ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15806
    ^ arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15807
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15808
    "Created: / 08-01-1999 / 14:15:46 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15809
    "Modified: / 08-01-1999 / 17:58:11 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15810
    "Modified: / 16-03-2011 / 16:19:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15811
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15812
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15813
_MULTINEW:typeRef _:dim1 _:dim2 _:dim3 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15814
    |clsRef cls arr elType elSizes|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15815
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15816
    clsRef := typeRef asClassPointerRef.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15817
    cls := clsRef javaArrayClass.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15818
    arr := cls new:dim3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15819
    elType := typeRef deref.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15820
    1 to:dim3
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15821
        do:
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15822
            [:idx | 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15823
            arr at:idx
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15824
                put:(self 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15825
                        _MULTINEW:elType
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15826
                        _:dim1
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15827
                        _:dim2) ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15828
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15829
"/ self halt.
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 15830
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15831
    ^ arr
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15832
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15833
    "Modified: / 6.1.1998 / 23:34:35 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15834
    "Created: / 8.1.1999 / 14:15:49 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15835
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15836
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15837
!JavaVM class methodsFor:'windows - events'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15838
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15839
awtEventsForEvent:anEvent javaWindow:jWin
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15840
    "given an ST/X event, create corresponding AWT event(s) for it"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15841
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15842
    |jEv jEv1 jEv2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15843
     modifiers key keyChar untranslatedKey id 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15844
     type x y w h view menu resized moved
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15845
     eventArgs clickCount jRect
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15846
     jKeyEventClass jInputEventClass jMouseEventClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15847
     jWindowEventClass jPaintEventClass jComponentEventClass|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15848
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15849
    type := anEvent type.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15850
    eventArgs := anEvent arguments.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15851
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15852
    key := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15853
    modifiers := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15854
    x := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15855
    y := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15856
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15857
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15858
    ((type == #'exposeX:y:width:height:') 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15859
    or:[(type == #'graphicExposeX:y:width:height:')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15860
    or:[(type == #damage)]]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15861
"/        jWindowEventClass := Java classForName:'java.awt.event.WindowEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15862
"/        id := (jPaintEventClass instVarNamed:'PAINT').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15863
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15864
	jPaintEventClass := Java classForName:'java.awt.event.PaintEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15865
	id := (jPaintEventClass instVarNamed:'UPDATE').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15866
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15867
	((type == #'exposeX:y:width:height:') 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15868
	or:[(type == #'graphicExposeX:y:width:height:')]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15869
	    x := eventArgs at:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15870
	    y := eventArgs at:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15871
	    w := eventArgs at:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15872
	    h := eventArgs at:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15873
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15874
	    x := eventArgs left.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15875
	    y := eventArgs top.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15876
	    w := eventArgs width.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15877
	    h := eventArgs height.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15878
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15879
	jRect := (Java classForName:'java.awt.Rectangle') basicNew.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15880
	jRect instVarNamed:'x' put:x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15881
	jRect instVarNamed:'y' put:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15882
	jRect instVarNamed:'width' put:w.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15883
	jRect instVarNamed:'height' put:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15884
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15885
	jEv := jPaintEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15886
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15887
	jEv instVarNamed:'updateRect' put:jRect.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15888
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15889
"/        jEv instVarNamed:'g'         put:jWin.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15890
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15891
	^ Array with:jEv.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15892
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15893
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15894
    (anEvent isKeyEvent 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15895
    or:[anEvent isButtonEvent
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15896
    or:[anEvent isPointerEnterLeaveEvent]]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15897
	jInputEventClass := Java classForName:'java.awt.event.InputEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15898
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15899
	anEvent hasAlt ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15900
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'ALT_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15901
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15902
	anEvent hasCtrl ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15903
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'CTRL_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15904
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15905
	anEvent hasMeta ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15906
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'META_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15907
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15908
	anEvent hasShift ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15909
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'SHIFT_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15910
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15911
	anEvent hasButton1 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15912
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'BUTTON1_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15913
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15914
	anEvent hasButton2 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15915
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'BUTTON2_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15916
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15917
	anEvent hasButton3 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15918
	    modifiers := modifiers bitOr:(jInputEventClass instVarNamed:'BUTTON3_MASK')
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15919
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15920
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15921
	anEvent isPointerEnterLeaveEvent ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15922
	    "/ ST/X does not (yet) record this information
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15923
	    "/ with pointerLeave events.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15924
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15925
	    x := anEvent x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15926
	    y := anEvent y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15927
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15928
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15929
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15930
    anEvent isKeyEvent ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15931
	jKeyEventClass := Java classForName:'java.awt.event.KeyEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15932
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15933
	key := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15934
	keyChar := 0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15935
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15936
	key := anEvent key.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15937
	key isCharacter ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15938
	    key := keyChar := key asciiValue
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15939
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15940
	    untranslatedKey := anEvent view device keyboardMap keyAtValue:key ifAbsent:key.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15941
	    untranslatedKey == #Insert ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15942
		key := jKeyEventClass instVarNamed:'VK_INSERT' 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15943
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15944
	    untranslatedKey == #Delete ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15945
		key := jKeyEventClass instVarNamed:'VK_DELETE' "/ 127
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15946
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15947
	    untranslatedKey == #BackSpace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15948
		key := jKeyEventClass instVarNamed:'VK_BACK_SPACE' "/ 8
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15949
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15950
	    untranslatedKey == #Return ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15951
		key := jKeyEventClass instVarNamed:'VK_ENTER' "/ 13
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15952
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15953
	    untranslatedKey == #Tab ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15954
		key := jKeyEventClass instVarNamed:'VK_TAB' "/ 9
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15955
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15956
	    untranslatedKey == #Home ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15957
		key := jKeyEventClass instVarNamed:'VK_HOME'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15958
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15959
	    untranslatedKey == #End ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15960
		key := jKeyEventClass instVarNamed:'VK_END'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15961
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15962
	    (key == #PreviousPage or:[untranslatedKey == #Prior]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15963
		key := jKeyEventClass instVarNamed:'VK_PAGE_UP'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15964
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15965
	    (key == #NextPage or:[key == #EndOfText]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15966
		key := jKeyEventClass instVarNamed:'VK_PAGE_DOWN'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15967
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15968
	    untranslatedKey == #CursorUp ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15969
		key := jKeyEventClass instVarNamed:'VK_UP'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15970
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15971
	    untranslatedKey == #CursorDown ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15972
		key := jKeyEventClass instVarNamed:'VK_DOWN'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15973
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15974
	    untranslatedKey == #CursorLeft ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15975
		key := jKeyEventClass instVarNamed:'VK_LEFT'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15976
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15977
	    untranslatedKey == #CursorRight ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15978
		key := jKeyEventClass instVarNamed:'VK_RIGHT'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15979
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15980
	    (#( F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15981
	    includes:untranslatedKey) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15982
		key := jKeyEventClass instVarNamed:('VK_' , untranslatedKey)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15983
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15984
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15985
	(type == #'keyPress:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15986
	    id := jKeyEventClass instVarNamed:'KEY_PRESSED'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15987
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15988
	    id := jKeyEventClass instVarNamed:'KEY_RELEASED'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15989
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15990
	jEv := jKeyEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15991
	jEv instVarNamed:'modifiers' put:modifiers.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15992
	jEv instVarNamed:'keyCode'   put:key.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15993
	jEv instVarNamed:'keyChar'   put:keyChar.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15994
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15995
"/        jEv instVarNamed:'x'         put:x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15996
"/        jEv instVarNamed:'y'         put:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15997
	jEv instVarNamed:'when'      put:(OperatingSystem getMillisecondTime).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15998
	^ Array with:jEv
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 15999
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16000
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16001
    (anEvent isButtonEvent 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16002
    or:[anEvent isPointerEnterLeaveEvent]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16003
	jMouseEventClass := Java classForName:'java.awt.event.MouseEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16004
	clickCount := 1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16005
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16006
	(type == #'buttonPress:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16007
	    id := jMouseEventClass instVarNamed:'MOUSE_PRESSED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16008
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16009
	    (type == #'buttonRelease:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16010
		id := jMouseEventClass instVarNamed:'MOUSE_RELEASED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16011
	    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16012
		(type == #'buttonMotion:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16013
		    (anEvent state bitAnd:(anEvent view device anyButtonMotionMask)) == 0 ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16014
			id := jMouseEventClass instVarNamed:'MOUSE_MOVED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16015
		    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16016
			id := jMouseEventClass instVarNamed:'MOUSE_DRAGGED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16017
		    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16018
		] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16019
"/                    (type == #'pointerMotion:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16020
"/                        id := jMouseEventClass instVarNamed:'MOUSE_MOVED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16021
"/                    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16022
			(type == #'pointerEnter:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16023
			    id := jMouseEventClass instVarNamed:'MOUSE_ENTERED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16024
			] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16025
			    (type == #'pointerLeave:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16026
				id := jMouseEventClass instVarNamed:'MOUSE_EXITED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16027
			    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16028
				(type == #'buttonMultiPress:x:y:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16029
				    id := jMouseEventClass instVarNamed:'MOUSE_PRESSED'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16030
				    clickCount := 2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16031
				] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16032
				    self halt.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16033
				]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16034
			    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16035
"/                        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16036
		    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16037
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16038
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16039
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16040
	jEv := jMouseEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16041
	jEv instVarNamed:'modifiers' put:modifiers.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16042
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16043
	jEv instVarNamed:'x'         put:x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16044
	jEv instVarNamed:'y'         put:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16045
	jEv instVarNamed:'when'      put:(OperatingSystem getMillisecondTime).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16046
	^ Array with:jEv
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16047
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16048
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16049
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16050
    (type == #'configureX:y:width:height:') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16051
	view := anEvent view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16052
	x := eventArgs at:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16053
	y := eventArgs at:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16054
	w := eventArgs at:3.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16055
	h := eventArgs at:4.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16056
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16057
	resized := (w ~~ view width or:[h ~~ view height]).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16058
	moved :=  (x ~~ view left or:[y ~~ view top]).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16059
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16060
"/        (view isTopView or:[view isPopUpView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16061
	    "/ view must update its origin/extent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16062
	    view dispatchEvent:anEvent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16063
"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16064
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16065
	"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16066
	"/ must change the components extent
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16067
	"/ is there no cleaner way to do this ?
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16068
	"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16069
	view isTopView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16070
	    view isPopUpView ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16071
		"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16072
		"/ sigh - don't include the menu.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16073
		"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16074
		menu := self topViewsMenu:view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16075
		menu notNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16076
		    "/ must add the menus height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16077
		    h := h - menu height
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16078
		]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16079
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16080
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16081
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16082
	jWin instVarNamed:'width' put:w.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16083
	jWin instVarNamed:'height' put:h.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16084
	jWin instVarNamed:'x' put:x.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16085
	jWin instVarNamed:'y' put:y.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16086
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16087
	jComponentEventClass := Java classForName:'java.awt.event.ComponentEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16088
	moved ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16089
	    id := (jComponentEventClass instVarNamed:'COMPONENT_MOVED').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16090
	    jEv1 := jComponentEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16091
	    jEv1 instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16092
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16093
	resized ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16094
	    id := (jComponentEventClass instVarNamed:'COMPONENT_RESIZED').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16095
	    jEv2 := jComponentEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16096
	    jEv2 instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16097
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16098
	jEv1 isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16099
	    jEv2 isNil ifTrue:[^ nil].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16100
	    ^ Array with:jEv2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16101
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16102
	    jEv2 isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16103
		^ Array with:jEv1
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16104
	    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16105
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16106
	^ Array with:jEv1 with:jEv2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16107
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16108
    (type == #'focusIn') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16109
"/ 'focusIn' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16110
	jComponentEventClass := Java classForName:'java.awt.event.FocusEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16111
	id := (jComponentEventClass instVarNamed:'FOCUS_GAINED').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16112
	jEv := jComponentEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16113
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16114
	^ Array with:jEv.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16115
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16116
    (type == #'focusOut') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16117
"/ 'focusOut' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16118
	jComponentEventClass := Java classForName:'java.awt.event.FocusEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16119
	id := (jComponentEventClass instVarNamed:'FOCUS_LOST').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16120
	jEv := jComponentEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16121
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16122
	^ Array with:jEv.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16123
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16124
    (type == #'mapped') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16125
"/ 'mapped' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16126
	jComponentEventClass := Java classForName:'java.awt.event.ComponentEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16127
	id := (jComponentEventClass instVarNamed:'COMPONENT_SHOWN').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16128
"/        x := eventArgs at:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16129
"/        y := eventArgs at:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16130
	jEv := jComponentEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16131
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16132
	^ Array with:jEv.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16133
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16134
    (type == #'unmapped') ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16135
"/ 'unmapped' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16136
	jComponentEventClass := Java classForName:'java.awt.event.ComponentEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16137
	id := (jComponentEventClass instVarNamed:'COMPONENT_HIDDEN').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16138
"/        x := eventArgs at:1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16139
"/        y := eventArgs at:2.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16140
	jEv := jComponentEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16141
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16142
	^ Array with:jEv.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16143
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16144
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16145
    (type == #terminate) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16146
	jWindowEventClass := Java classForName:'java.awt.event.WindowEvent'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16147
"NEW
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16148
	id := (jWindowEventClass instVarNamed:'WINDOW_CLOSING').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16149
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16150
"OLD "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16151
	id := (jWindowEventClass instVarNamed:'WINDOW_CLOSED').
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16152
"    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16153
	jEv := jWindowEventClass newCleared "basicNew".
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16154
	jEv instVarNamed:'id'        put:id.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16155
	^ Array with:jEv.
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
    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16159
	('JAVA: unhandled event:' , type) infoPrintCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16160
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16161
    ^ nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16162
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16163
    "Created: / 6.1.1998 / 20:38:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16164
    "Modified: / 9.1.1999 / 09:29:58 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16165
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16166
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16167
delegatesTo:someOne
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16168
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16169
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16170
    "Created: / 25.9.1999 / 16:11:48 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16171
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16172
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16173
doWindowsEventThread
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16174
    "invoked in an endless loop by the WToolkit-eventLoop
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16175
     native method."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16176
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16177
    |sensor event more|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16178
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16179
    (JavaWindowGroup isNil or:[KnownWindows isNil]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16180
	"/ '*** eventThread: no windowGroup / views ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16181
	self waitFor:FirstWindowCreationSemaphore state:#eventWait timeOut:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16182
	"/ Delay waitForSeconds:0.1.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16183
	^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16184
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16185
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16186
    "/ wait for an event to arrive ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16187
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16188
    sensor := JavaWindowGroup sensor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16189
    [sensor hasEvents or:[sensor damageCount ~~ 0]] whileFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16190
	EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16191
	    '*** eventThread waiting ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16192
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16193
	Processor activeProcess state:#eventWait.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16194
	self waitFor:sensor eventSemaphore state:#eventWait timeOut:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16195
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16196
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16197
    EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16198
	'*** eventThread event arrived ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16199
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16200
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16201
    "/ EventTrace := true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16202
    more := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16203
    [more] whileTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16204
	sensor hasDamage ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16205
	    EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16206
		'*** eventThread: damage arrived ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16207
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16208
	    event := sensor nextDamage.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16209
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16210
	    event := sensor nextEvent.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16211
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16212
	event isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16213
	    EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16214
		'*** eventThread: nil event ignored' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16215
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16216
	    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16217
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16218
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16219
	more := self processEvent:event
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16220
    ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16221
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16222
    "Created: / 6.1.1998 / 21:02:40 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16223
    "Modified: / 30.12.1998 / 19:21:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16224
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16226
processEvent:event
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16227
    |evQ jEvents jWToolKitClass jWToolKit jWinPeer jWin v eventConsumed|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16228
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16229
    KnownWindows isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16230
	^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16231
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16232
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16233
    v := event view.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16234
    jWinPeer := self jPeerForView:v.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16235
    jWinPeer isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16236
	v isJavaView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16237
	    "/ mhmh - an event for a JavaView,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16238
	    "/ which has no peer (anyMore ?)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16239
	    "/ should not happen.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16240
	] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16241
	    "/ mhmh - an event for a subcomponent of an ST widget.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16242
	    "/ let it be handled normally.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16243
	    EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16244
		('*** eventThread: ' , event type , '-event for unknown java-view - passed to view.') printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16245
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16246
	    event view dispatchEvent:event.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16247
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16248
	^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16249
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16250
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16251
    "/ change:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16252
    "/ in the previous version, events for ST/X widgets (i.e. buttons etc)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16253
    "/ where not passed to java, but instead forwarded directly to the widget
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16254
    "/ by the code below.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16255
    "/ This has changed, to pass it to Java, which eventually passes it to the
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16256
    "/ peer via the handleEvent native method (unless the event got consumed).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16257
    "/ This is req'd to let java keep track of keyboard/mouse input for widgets.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16258
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16259
(event isDamage and:[v isJavaView]) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16260
"/    "/ most views handle their events themself (being ST/X views) ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16261
"/
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16262
"/    v class ~~ JavaView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16263
"/"/        v class ~~ StandardSystemView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16264
"/"/            EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16265
"/"/                    ('*** eventThread: event handled by view itself (' , v class name , ')') printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16266
"/"/            ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16267
"/"/            event sendEventWithFocusOn:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16268
"/"/            ^ self.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16269
"/"/        ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16270
"/        (event type == #'exposeX:y:width:height'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16271
"/        or:[event type == #'graphicsExposeX:y:width:height']) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16272
"/            "/ send to view, but also handle in JAVA
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16273
"/            event sendEventWithFocusOn:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16274
"/        ]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16275
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16276
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16277
    (#(
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16278
	#'mapped'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16279
	#'unmapped'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16280
	#'configureX:y:width:height:'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16281
	#'exposeX:y:width:height:'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16282
	#'graphicsExposeX:y:width:height:'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16283
     ) includes:event type) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16284
	event sendEventWithFocusOn:nil.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16285
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16286
].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16287
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16288
    "/ what a kludge - some events are passed back to
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16289
    "/ ST via the WComponent-handleEvent native method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16290
    "/ However, repaints are not.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16291
    "/ In order to let ST widgets do the drawing,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16292
    "/ selectively filter exposeEvents from Java ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16293
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16294
    eventConsumed := false.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16295
    v isJavaView ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16296
	"/ all events handled by Java ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16297
    ] ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16298
	eventConsumed := true.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16299
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16300
	"/ let widget handle it.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16301
	event view dispatchEvent:event.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16302
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16303
	"/ some are not passed to Java ...
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16304
	event isDamage ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16305
	    (v isKindOf:Button) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16306
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16307
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16308
	    (v isKindOf:TextView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16309
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16310
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16311
	    (v isKindOf:Label) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16312
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16313
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16314
	    (v isKindOf:ComboBoxView) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16315
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16316
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16317
	    (v isKindOf:ScrollBar) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16318
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16319
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16320
	    (v isKindOf:Scroller) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16321
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16322
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16323
	    (v isKindOf:MenuPanel) ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16324
		^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16325
	    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16326
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16327
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16328
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16329
    jWin := jWinPeer instVarNamed:'target'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16330
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16331
    EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16332
	('*** eventThread: event (' , event type , ') handled by JAVA: ') infoPrint.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16333
	jWinPeer class name infoPrint. ' (' infoPrint.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16334
	jWin class name infoPrint. ')' infoPrintCR.
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
    "/ create an event
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16338
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16339
    jEvents := self awtEventsForEvent:event javaWindow:jWin.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16340
    jEvents isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16341
	EventTrace ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16342
	    ('*** eventThread: event ignored: ' , event type) printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16343
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16344
	^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16345
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16346
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16347
"/    v superView isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16348
"/        ('*** eventThread: event ignored for topView: ' , event type) printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16349
"/        ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16350
"/    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16351
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16352
    jWToolKitClass := Java classForName:'java.awt.Toolkit'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16353
    "/ jWToolKit := jWToolKitClass perform:#getDefaultToolkit.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16354
    jWToolKit := jWToolKitClass performStatic:#'getDefaultToolkit()Ljava/awt/Toolkit;'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16355
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16356
    jEvents do:[:jEv |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16357
	jEv instVarNamed:'source'   put:jWin.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16358
	jEv instVarNamed:'consumed' put:0.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16359
	eventConsumed ifFalse:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16360
	    "/ the first gets the original event as data
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16361
	    jEv instVarNamed:'data' put:event.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16362
	    eventConsumed := true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16363
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16364
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16365
	"/ post it (them) to the event queue
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16366
	EventTrace == true ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16367
	    'postEvent to Java ...' printCR.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16368
	].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16369
	jWToolKit "class" perform:#'postEvent(Ljava/awt/AWTEvent;)V' with:jEv.
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
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16373
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16374
    "Created: / 6.1.1998 / 20:36:36 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16375
    "Modified: / 10.12.1998 / 19:36:59 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16376
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16377
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16378
!JavaVM methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16379
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16380
systemProperties
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16381
    |props|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16382
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16383
    (props := SystemProperties) isNil ifTrue:[
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16384
	props := SystemProperties := Dictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16385
	self initializeSystemPropertiesInto:props.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16386
    ].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16387
    ^ props
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16388
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16389
    "Modified: / 3.1.1998 / 14:32:38 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16390
    "Created: / 9.1.1999 / 14:48:22 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16391
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16392
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16393
!JavaVM::Reflection class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16394
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16395
documentation
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16396
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16397
Reflection class holds information about 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16398
which java classes are loaded, hides workarounds
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16399
allowing java classes to behave like smalltalk ones,
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16400
(remember everything is instance of some class rule?:)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16401
allows you to access java classes by their name, 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16402
transform ST specific objects to java alternatives
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16403
and vice versa (java string and ST string are 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16404
undoubtely very different), manages constant
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16405
pools..
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16406
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16407
Correct me if I'm wrong, but one day this class will
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16408
be able to update constant pool and therefore 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16409
incremental compilation of java classes.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16410
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16411
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16412
    "Created: / 03-02-2011 / 00:56:27 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16413
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16414
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16415
!JavaVM::Reflection class methodsFor:'instance creation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16416
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16417
for: aJavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16418
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16419
    ^self new setVM: aJavaVM.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16420
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16421
    "Created: / 21-12-2010 / 19:42:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16422
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16423
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16424
new
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16425
    "return an initialized instance"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16426
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16427
    ^ self basicNew initialize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16428
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16429
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16430
!JavaVM::Reflection methodsFor:'debugging'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16431
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16432
returnNilIfMissing
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16433
    ^ returnNilIfMissing.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16434
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16435
    "Created: / 28-01-2011 / 15:14:37 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16436
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16437
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16438
returnNilIfMissing:aBoolean
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16439
    returnNilIfMissing:= aBoolean.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16440
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16441
    "Created: / 28-01-2011 / 15:25:35 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16442
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16443
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16444
!JavaVM::Reflection methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16445
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16446
initialize
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16447
    constantPoolMapping := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16448
    javaClasses := Dictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16449
    javaArrayClasses := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16450
    javaMethods := IdentityDictionary new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16451
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16452
    "Created: / 21-12-2010 / 19:46:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16453
    "Modified: / 09-02-2011 / 00:24:28 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16454
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16455
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16456
setVM: aJavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16457
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16458
    "Now, aJavaVM == JavaVM (i.e, the class JavaVM 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16459
    itself, not its instance)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16460
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16461
    vm := aJavaVM
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16462
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16463
    "Created: / 21-12-2010 / 19:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16464
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16465
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16466
!JavaVM::Reflection methodsFor:'reflection - classes'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16467
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16468
classForJavaClassObject:aJavaClassObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16469
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16470
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16471
        Given an instance of java.lang.Class, answers
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16472
        real (Java) class associated with it. The instance
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16473
        of java.lang.Class should be first created by myself
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16474
        (by sending #javaClassObjectForClass:)
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16475
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16476
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16477
    (javaClasses at: aJavaClassObject ifAbsent:[123]) == (Java at: 'stx.libjava.tests.junir.JUnit3Tests') 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16478
        ifTrue:[self breakPoint: #jv].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16479
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16480
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16481
    ^ javaClasses 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16482
        at:aJavaClassObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16483
        ifAbsent:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16484
            [vm internalError:'No class associated with given java.lang.Class!!'.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16485
            "/Please, no nils
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16486
            self returnNilIfMissing ifTrue: nil].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16487
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16488
    "Created: / 28-01-2011 / 15:22:39 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16489
    "Modified: / 05-02-2011 / 20:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16490
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16491
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16492
javaArrayClassObjectForClass:aClass 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16493
    ^ javaArrayClasses at:aClass ifAbsent:[self returnNilIfMissing ifTrue:nil].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16494
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16495
    "Created: / 28-01-2011 / 14:56:19 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16496
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16497
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16498
javaArrayClassObjectForClass:aClass ifAbsentPut:classOfaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16499
    ^ javaArrayClasses at:aClass ifAbsentPut: classOfaClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16500
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16501
    "Created: / 28-01-2011 / 14:59:21 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16502
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16503
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16504
javaClassObjectArrayForClasses:classes 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16505
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16506
        Answers an instance of java.lang.Class[] for given
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16507
        real (Java) classes."
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16508
    
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16509
    |array|
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16510
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16511
    array := (vm classForName:'java.lang.Class') javaArrayClass 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16512
                new:classes size.
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16513
    classes isNilOrEmptyCollection ifTrue:[ ^ array ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16514
    classes 
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16515
        withIndexDo:[:cls :idx | array at:idx put:(self javaClassObjectForClass:cls) ].
fc38cc6ed478 Small refactoring
vranyj1
parents: 850
diff changeset
 16516
    ^ array
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16517
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16518
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16519
    "Created: / 04-02-2011 / 22:08:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16520
    "Modified: / 11-02-2011 / 10:21:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16521
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16522
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16523
javaClassObjectForClass:aClass 
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16524
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16525
    ^self javaClassObjectForClass:aClass init: true.
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16526
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16527
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16528
    "Modified: / 12-08-2011 / 19:07:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16529
!
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16530
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16531
javaClassObjectForClass: aClass init: init 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16532
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16533
        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
 16534
        real (Java) class."
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16535
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16536
    | javaClassObj |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16537
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16538
    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
 16539
    self assert: aClass ~~ Array
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16540
        message: 'aClass should not be Array (old impl)'.
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16541
    javaClasses at: aClass
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16542
        ifPresent: [
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16543
            :javaClassObj | 
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16544
            
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16545
            ^ javaClassObj
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16546
        ].
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16547
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16548
    "/ 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
 16549
    
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16550
    false ifTrue: [ aClass isJavaClass ifTrue: [ aClass classInit ]. ].
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16551
    javaClassObj := (vm classForName: 'java.lang.Class') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16552
    javaClasses at: aClass put: javaClassObj.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16553
    javaClasses at: javaClassObj put: aClass.
1021
8ae6c261878a changed class loaders order, loading of primitive arrays, refactoring coming soon..
hlopkmar
parents: 1017
diff changeset
 16554
    ^ javaClassObj
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16555
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16556
    "Modified: / 28-01-2011 / 15:15:44 / Marcel Hlopko <hlopik@gmail.com>"
911
efa922d67283 Few more natives + JavaInflater
vranyj1
parents: 910
diff changeset
 16557
    "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
 16558
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16559
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 16560
javaClassObjectForClassNamed: className 
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16561
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16562
        Answers an instance of java.lang.Class for given
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16563
        (java) class name. The className may be name of primitive
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 16564
        type, i.e. 'int', 'double'."
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 16565
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16566
    | cls |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16567
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 16568
    cls := JavaDescriptor baseTypesByTypeName at: className
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 16569
                ifAbsent: [ vm classForName: className ].
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
 16570
    ^ self javaClassObjectForClass: cls.
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16571
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16572
    "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
 16573
    "Modified: / 08-04-2011 / 14:45:41 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16574
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16575
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16576
!JavaVM::Reflection methodsFor:'reflection - constant pool'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16577
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16578
constantPoolFor:javaConstantPoolObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16579
    ^ constantPoolMapping at:javaConstantPoolObject
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16580
        ifAbsent:[self error:'Given ConstantPool was not created by JVM']
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16581
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16582
    "Created: / 21-12-2010 / 19:56:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16583
    "Modified: / 28-01-2011 / 14:56:54 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16584
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16585
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16586
javaConstantPoolObjectFor: aConstantPool
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16587
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16588
    ^constantPoolMapping at: aConstantPool ifAbsent:
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16589
        [| javaConstantPoolObject |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16590
        javaConstantPoolObject := (vm classForName:'sun.reflect.ConstantPool') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16591
        constantPoolMapping at: aConstantPool put: javaConstantPoolObject.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16592
        constantPoolMapping at: javaConstantPoolObject put: aConstantPool.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16593
        javaConstantPoolObject]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16594
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16595
    "Created: / 21-12-2010 / 19:54:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16596
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16597
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16598
!JavaVM::Reflection methodsFor:'reflection - methods & ctors'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16599
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16600
javaConstructorObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16601
     "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16602
      instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16603
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16604
    | jCtor |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16605
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16606
    javaMethods at:method ifPresent:[:existingCtor|^existingCtor].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16607
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16608
    jCtor := (Java classForName:'java.lang.reflect.Constructor') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16609
    self javaMethodObjectLikeSlotsInto: jCtor forMethod: method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16610
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16611
    javaMethods at:method put: jCtor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16612
    javaMethods at:jCtor put:method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16613
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16614
    ^ jCtor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16615
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16616
    "Created: / 09-02-2011 / 10:28:12 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16617
    "Modified: / 11-02-2011 / 06:44:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16618
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16619
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16620
javaMethodObjectForMethod:method 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16621
     "given a real method, return the corresponding java.lang.reflect.Constructor
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16622
      instance for it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16623
     | jMethod |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16624
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16625
    javaMethods at:method ifPresent:[:existingCtor|^existingCtor].
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16626
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16627
    jMethod := (Java classForName:'java.lang.reflect.Method') new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16628
    self javaMethodObjectLikeSlotsInto: jMethod forMethod: method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16629
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16630
    javaMethods at:method put: jMethod.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16631
    javaMethods at:jMethod put:method.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16632
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16633
    jMethod 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16634
        instVarNamed: #name       put: (self javaStringObjectForString: (method selector upTo:$() interned: true);
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16635
        instVarNamed: #returnType put: (method descriptor returnClassObject);
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16636
        instVarNamed: #annotationDefault put: (method annotations default bytes);
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16637
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16638
        yourself.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16639
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16640
    ^jMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16641
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16642
    "Created: / 09-02-2011 / 10:29:46 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16643
    "Modified: / 03-03-2011 / 23:50:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16644
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16645
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16646
javaMethodObjectLikeSlotsInto: jMethod forMethod: method 
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16647
    "
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16648
       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
 16649
       java.lang.Constructor"
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16650
    
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16651
    | desc |
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16652
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16653
    desc := method descriptor.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16654
    jMethod
837
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16655
        instVarNamed: #clazz put: (self javaClassObjectForClass: method javaClass);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16656
        instVarNamed: #slot put: 0;
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16657
        instVarNamed: #modifiers put: method accessFlags;
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16658
        instVarNamed: #signature
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16659
            put: (self javaStringObjectForString: method signature interned: true);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16660
        instVarNamed: #parameterTypes
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16661
            put: (self javaClassObjectArrayForClasses: desc parameterClasses);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16662
        instVarNamed: #exceptionTypes
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16663
            put: (self javaClassObjectArrayForClasses: method javaExceptionTable);
8f42226d82c0 slightly refactored exceptionTable methods and their callers.. no typechanging side effects
hlopkmar
parents: 827
diff changeset
 16664
        instVarNamed: #annotations put: (method annotations runtimeVisible bytes);
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16665
        yourself.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16666
    ^ jMethod
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16667
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16668
    "Created: / 11-02-2011 / 06:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16669
    "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
 16670
    "Modified: / 04-06-2011 / 17:17:04 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16671
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16672
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16673
methodForJavaConstructorObject:constructor 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16674
     "given a java.lang.reflect.Constructor, return the corresponding method
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16675
      it."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16676
    
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16677
    |class signature|
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16678
    class := self classForJavaClassObject:(constructor instVarNamed:#clazz).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16679
    signature := Java as_ST_String:(constructor instVarNamed:#signature).
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16680
    class methodsDo:[:mthd|
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16681
        mthd signature = signature ifTrue:[
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16682
            ^mthd
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16683
        ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16684
    ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16685
    self error: 'No ctor found for java ctor object'
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16686
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16687
    "Created: / 09-02-2011 / 10:36:07 / Marcel Hlopko <hlopik@gmail.com>"
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16688
    "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
 16689
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16690
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16691
methodForJavaMethodObject:aJavaMethodObject 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16692
     "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16693
         Given an instance of java.lang.reflect.Method, answers
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16694
         real method associated with it. 
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16695
    "
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16696
    |class name signature |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16697
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16698
    class := self classForJavaClassObject:(aJavaMethodObject instVarNamed:#clazz).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16699
    name := Java as_ST_String:(aJavaMethodObject instVarNamed:#name).
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16700
    signature := Java as_ST_String:(aJavaMethodObject instVarNamed:#signature).
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16701
    class methodsDo:[:mthd|
918
73bd57f8d3b0 - fixes in natives (reflective support for fields)
vranyj1
parents: 915
diff changeset
 16702
        (mthd name = name and:[mthd signature = signature]) ifTrue:[
913
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16703
            ^mthd
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16704
        ]
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16705
    ].
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16706
    self assert: false description: 'No such method, malformed java.lang.reflect.Method object?'.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16707
    ^nil.
1781f130b005 signature instvars renamed to descriptor
vranyj1
parents: 912
diff changeset
 16708
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16709
    "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
 16710
    "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
 16711
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16712
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16713
!JavaVM::Reflection methodsFor:'reflection - other'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16714
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16715
javaStringObjectForString:string 
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16716
    ^ self javaStringObjectForString: string interned: false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16717
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16718
    "Created: / 09-02-2011 / 10:34:57 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16719
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16720
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16721
javaStringObjectForString:string interned:intern  
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16722
    | s |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16723
    s := Java as_String: string.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16724
    ^intern ifTrue:[Java intern: s] ifFalse:[s]
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16725
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16726
    "Modified: / 22-11-2010 / 17:57:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16727
    "Created: / 09-02-2011 / 10:34:29 / Marcel Hlopko <hlopik@gmail.com>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16728
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16729
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16730
!JavaVM class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16731
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 16732
version
1022
38b710d7dfbc svn properties fixed
vranyj1
parents: 1021
diff changeset
 16733
    ^ '$Id$'
923
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 16734
!
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 16735
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 16736
version_CVS
964
097cdede29f1 Fixes for Windows
vranyj1
parents: 961
diff changeset
 16737
    ^ '§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
 16738
!
b922537eea2a Merged with CVS version
vranyj1
parents: 921
diff changeset
 16739
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16740
version_SVN
1022
38b710d7dfbc svn properties fixed
vranyj1
parents: 1021
diff changeset
 16741
    ^ '$Id$'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16742
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
 16743
924
7e66564a2302 fix for native sun.reflect.NativeMethodAccessorImpl.invoke0()
vranyj1
parents: 923
diff changeset
 16744
JavaVM initialize!