JavaArray.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 31 Jan 2013 15:18:47 +0000
branchrefactoring-vmdata
changeset 2021 75e48299fc2d
parent 1864 60a8dc26c8c6
child 2069 75d40b7b986f
permissions -rw-r--r--
Added a number of unimplemented native methods.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
     1
"
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
     2
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
1152
040cba55a7d2 Copyright fixes
vranyj1
parents: 1035
diff changeset
     3
1155
vranyj1
parents: 1152
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
1152
040cba55a7d2 Copyright fixes
vranyj1
parents: 1035
diff changeset
     5
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
     6
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
     8
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
     9
 This software is furnished under a license and may be used
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    10
 only in accordance with the terms of that license and with the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    12
 be provided or otherwise made available to, or used by, any
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    13
 other person.  No title to or ownership of the software is
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    14
 hereby transferred.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    15
1155
vranyj1
parents: 1152
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
vranyj1
parents: 1152
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
vranyj1
parents: 1152
diff changeset
    18
     see the differences between this version and version stx:libjava
1152
040cba55a7d2 Copyright fixes
vranyj1
parents: 1035
diff changeset
    19
     as of 1.9.2010
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    20
"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    21
"{ Package: 'stx:libjava' }"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    22
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    23
Array variableSubclass:#JavaArray
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    24
	instanceVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    25
	classVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    26
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    27
	category:'Languages-Java-Classes'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    28
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    29
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    30
JavaArray class instanceVariableNames:'componentClass'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    31
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    32
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    33
 No other class instance variables are inherited by this class.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    34
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    35
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    36
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    37
!JavaArray class methodsFor:'documentation'!
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    38
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    39
copyright
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    40
"
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    41
 COPYRIGHT (c) 1996-2011 by Claus Gittinger
1152
040cba55a7d2 Copyright fixes
vranyj1
parents: 1035
diff changeset
    42
1155
vranyj1
parents: 1152
diff changeset
    43
 New code and modifications done at SWING Research Group [1]:
1152
040cba55a7d2 Copyright fixes
vranyj1
parents: 1035
diff changeset
    44
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    45
 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    46
                            SWING Research Group, Czech Technical University in Prague
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    47
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    48
 This software is furnished under a license and may be used
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    49
 only in accordance with the terms of that license and with the
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    50
 inclusion of the above copyright notice.   This software may not
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    51
 be provided or otherwise made available to, or used by, any
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    52
 other person.  No title to or ownership of the software is
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    53
 hereby transferred.
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    54
1155
vranyj1
parents: 1152
diff changeset
    55
 [1] Code written at SWING Research Group contains a signature
vranyj1
parents: 1152
diff changeset
    56
     of one of the above copright owners. For exact set of such code,
vranyj1
parents: 1152
diff changeset
    57
     see the differences between this version and version stx:libjava
1152
040cba55a7d2 Copyright fixes
vranyj1
parents: 1035
diff changeset
    58
     as of 1.9.2010
877
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    59
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    60
"
f5a5b93e1c78 Cleanup phase 1
vranyj1
parents: 851
diff changeset
    61
! !
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    62
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    63
!JavaArray class methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    64
1035
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    65
classInit
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    66
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    67
    componentClass isJavaClass ifTrue:[
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    68
        ^componentClass classInit
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    69
    ].
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    70
    componentClass isJavaArrayClass ifTrue:[
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    71
        componentClass javaComponentClass isJavaPrimitiveType ifFalse:[
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    72
            ^componentClass classInit
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    73
        ]
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    74
    ]
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    75
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    76
    "Created: / 21-10-2011 / 11:03:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    77
!
712d2090e68b Small refactoring of class registry, more follows
vranyj1
parents: 1033
diff changeset
    78
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    79
setComponentClass:aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    80
    componentClass := aClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    81
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    82
    "Created: / 17-12-2010 / 13:25:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    83
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    84
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    85
!JavaArray class methodsFor:'accessing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    86
957
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    87
classLoader
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    88
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    89
    ^self javaComponentClass classLoader
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    90
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    91
    "Created: / 31-08-2011 / 22:22:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    92
!
84a9553aa486 Fixes for ExtClassLoader
vranyj1
parents: 877
diff changeset
    93
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    94
javaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    95
    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    96
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    97
    "Created: / 19-12-2010 / 17:09:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    98
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    99
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   100
javaComponentClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   101
    ^ componentClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   102
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   103
    "Created: / 20-12-2010 / 22:02:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   104
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   105
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   106
javaName
960
1c7fd32d1f26 Few fixes
vranyj1
parents: 957
diff changeset
   107
1c7fd32d1f26 Few fixes
vranyj1
parents: 957
diff changeset
   108
    componentClass isJavaArrayClass ifTrue:[
1c7fd32d1f26 Few fixes
vranyj1
parents: 957
diff changeset
   109
        ^'[' , componentClass javaName.
1c7fd32d1f26 Few fixes
vranyj1
parents: 957
diff changeset
   110
    ].
1c7fd32d1f26 Few fixes
vranyj1
parents: 957
diff changeset
   111
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   112
    ^'[L' , componentClass javaName, ';'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   113
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   114
    "Created: / 25-02-2011 / 19:29:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
812
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   115
!
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   116
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   117
javaPackage
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   118
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   119
    ^componentClass javaPackage
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   120
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   121
    "Created: / 22-05-2011 / 18:07:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   122
!
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   123
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   124
lookupMethodByNameAndType: aJavaNameAndType 
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   125
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   126
    "Trick, since java arrays should respond to all messages
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   127
     understood by java.lang.object"    
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   128
    ^ (Java at:'java.lang.Object') lookupMethodByNameAndType: aJavaNameAndType
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   129
62e917825364 - JavaDescriptor, JavaResolver, JavaArray: fixes for primitive and array types
vranyj1
parents: 752
diff changeset
   130
    "Created: / 22-05-2011 / 18:03:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   131
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   132
1581
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   133
!JavaArray class methodsFor:'accessing - java'!
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   134
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   135
javaMirrorClass
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   136
    ^self == JavaArray ifTrue:[
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   137
        super javaMirrorClass
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   138
    ] ifFalse:[
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   139
        JavaMirror mirrorClassForJavaArray
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   140
    ]
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   141
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   142
    "Created: / 31-07-2012 / 18:28:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   143
! !
70fbc03d2d82 Java reflection support refactoring - moved to use JavaMirrors
vranyj1
parents: 1511
diff changeset
   144
1481
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   145
!JavaArray class methodsFor:'autoboxing support'!
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   146
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   147
javaUnwrap: anObject
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   148
   "Given a Java array, create a corresponding Smalltalk array.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   149
    Called by interop proxies"
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   150
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   151
    | sarray |
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   152
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   153
    sarray := Array new: anObject size.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   154
    1 to: sarray size do:[:i|
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   155
        sarray at: i put: (componentClass javaUnwrap: (anObject at: i)).
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   156
    ].
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   157
    ^sarray.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   158
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   159
    "Created: / 18-04-2012 / 08:23:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   160
!
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   161
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   162
javaWrap: anObject
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   163
   "Given a Smalltalk array, create a corresponding Java array.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   164
    Called by interop proxies"
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   165
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   166
    | jarray |
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   167
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   168
    self assert: anObject isSequenceable.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   169
    jarray := self new: anObject size.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   170
    1 to: jarray size do:[:i|
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   171
        jarray at: i put: (componentClass javaWrap: (anObject at: i)).
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   172
    ].
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   173
    ^jarray.
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   174
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   175
    "Created: / 18-04-2012 / 08:21:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1805
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   176
!
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   177
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   178
javaWrapRequired
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   179
    "Returns true, if a #javaWrap: has to be called
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   180
     prior an instance of Smalltalk object is passed 
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   181
     as an argument to Java method, whoose formal tyoe
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   182
     is the receiver. "
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   183
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   184
    ^ true
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   185
4367809f7516 Java wrapping refactored
vranyj1
parents: 1581
diff changeset
   186
    "Created: / 04-11-2012 / 23:33:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1481
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   187
! !
28b926d3cdb5 - JUnitTestCaseProxy
vranyj1
parents: 1155
diff changeset
   188
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   189
!JavaArray class methodsFor:'class creation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   190
851
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   191
javaArrayClass
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   192
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   193
    ^self javaArrayClassFor: self.
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   194
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   195
    "Created: / 11-06-2011 / 23:35:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   196
!
fc38cc6ed478 Small refactoring
vranyj1
parents: 812
diff changeset
   197
1033
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 960
diff changeset
   198
javaArrayClassFor: aJavaClass 
a31de6a4cfa4 refactoringl, moved registry to JavaVM
hlopkmar
parents: 960
diff changeset
   199
    | meta  cls |
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   200
1511
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   201
    ^JavaVM arrayClassFor: aJavaClass ifAbsentPut:[
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   202
        meta := Metaclass new.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   203
        meta setSuperclass: JavaArray class.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   204
        meta instSize: JavaArray class instSize.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   205
        cls := meta new.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   206
        cls setSuperclass: JavaArray.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   207
        cls flags: JavaArray flags.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   208
        cls instSize: JavaArray instSize.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   209
        cls setComponentClass: aJavaClass.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   210
        cls setName: (aJavaClass name , '[]') asSymbol.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   211
         "Kludge, spec says" "All methods of class Object may be invoked on an array."
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   212
        cls setMethodDictionary: (JavaVM classForName: 'java.lang.Object') 
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   213
                    methodDictionary.
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   214
        cls
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   215
    ]
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   216
    "
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   217
        JavaArray javaArrayClassFor: Object
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   218
    "
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   219
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   220
    "Created: / 17-12-2010 / 13:45:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1511
7bba867f71e3 - JavaClass
vranyj1
parents: 1481
diff changeset
   221
    "Modified: / 05-07-2012 / 23:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   222
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   223
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   224
!JavaArray class methodsFor:'queries'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   225
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   226
hasInterface:aJavaInterface
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   227
    "return true, if I respond to all methods as
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   228
     aJavaInterface"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   229
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   230
    ^false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   231
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   232
    "Modified: / 19-12-2010 / 16:45:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   233
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   234
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   235
isAbstract
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   236
    "return true, if the receiver is abstract
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   237
     (i.e. may not have instances)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   238
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   239
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   240
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   241
    "Modified: / 19-12-2010 / 16:45:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   242
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   243
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   244
isFinal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   245
    "return true, if the receiver is final
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   246
     (i.e. may not be subclassed)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   247
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   248
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   249
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   250
    "Modified: / 19-12-2010 / 16:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   251
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   252
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   253
isInitialized
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   254
    "return true, if the receiver is initialized"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   255
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   256
    ^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   257
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   258
    "Modified: / 07-05-1998 / 12:23:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   259
    "Modified: / 19-12-2010 / 16:45:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   260
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   261
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   262
isInterface
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   263
    "return true, if the receiver is an interface"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   264
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   265
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   266
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   267
    "Modified: / 07-05-1998 / 12:23:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   268
    "Modified: / 19-12-2010 / 16:45:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   269
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   270
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   271
isJavaArrayClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   272
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   273
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   274
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   275
    "Created: / 19-12-2010 / 17:05:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   276
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   277
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   278
isJavaReferenceType
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   279
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   280
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   281
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   282
    "Created: / 20-12-2010 / 21:58:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   283
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   284
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   285
isJavaType
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   286
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   287
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   288
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   289
    "Created: / 20-12-2010 / 21:58:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   290
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   291
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   292
isObsolete
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   293
    "return true, if the receiver is obsolete
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   294
     Java classes are never."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   295
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   296
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   297
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   298
    "Modified: / 07-08-1997 / 19:04:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   299
    "Modified: / 19-12-2010 / 16:45:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   300
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   301
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   302
isPublic
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   303
    "return true, if the receiver is public"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   304
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   305
    ^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   306
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   307
    "Modified: / 19-12-2010 / 16:45:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   308
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   309
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   310
isUnresolved
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   311
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   312
    ^false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   313
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   314
    "Created: / 21-12-2010 / 12:51:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   315
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   316
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   317
!JavaArray class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   318
1864
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   319
version_HG
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   320
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   321
    ^ '$Changeset: <not expanded> $'
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   322
!
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   323
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   324
version_SVN
1864
60a8dc26c8c6 Updated from HG
vranyj1
parents: 1818
diff changeset
   325
    ^ '§Id§'
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   326
! !