src/JavaArray.st
author vranyj1
Fri, 08 Apr 2011 12:02:36 +0000
branchjk_new_structure
changeset 752 ff7bc6428c9c
child 812 62e917825364
permissions -rw-r--r--
branch jk_new_structure resurrected
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     1
"{ Package: 'stx:libjava' }"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     3
Array variableSubclass:#JavaArray
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     4
	instanceVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     5
	classVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     6
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     7
	category:'Languages-Java-Classes'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     8
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     9
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    10
JavaArray class instanceVariableNames:'componentClass'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    11
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    12
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    13
 No other class instance variables are inherited by this class.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    14
"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    15
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    16
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    17
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    18
!JavaArray class methodsFor:'initialization'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    19
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    20
setComponentClass:aClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    21
    componentClass := aClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    22
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    23
    "Created: / 17-12-2010 / 13:25:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    24
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    25
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    26
!JavaArray class methodsFor:'accessing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    27
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    28
javaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    29
    ^ self
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    30
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    31
    "Created: / 19-12-2010 / 17:09:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    32
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    33
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    34
javaComponentClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    35
    ^ componentClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    36
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    37
    "Created: / 20-12-2010 / 22:02:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    38
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    39
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    40
javaName
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    41
    ^'[L' , componentClass javaName, ';'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    42
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    43
    "Created: / 25-02-2011 / 19:29:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    44
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    45
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    46
!JavaArray class methodsFor:'class creation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    47
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    48
javaArrayClassFor: aJavaClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    49
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    50
    | meta cls |
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    51
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    52
    meta := Metaclass new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    53
    meta setSuperclass: JavaArray class.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    54
    meta instSize: JavaArray class instSize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    55
    cls := meta new.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    56
    cls setSuperclass: JavaArray.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    57
    cls flags: JavaArray flags.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    58
    cls instSize: JavaArray instSize.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    59
    cls setComponentClass: aJavaClass.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    60
    cls setName: (aJavaClass name , '[]') asSymbol.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    61
    "Kludge, spec says"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    62
    "All methods of class Object may be invoked on an array."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    63
    cls setMethodDictionary: (Java classForName: 'java.lang.Object') methodDictionary.
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    64
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    65
    ^cls
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    66
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    67
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    68
        JavaArray javaArrayClassFor: Object
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    69
    "
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    70
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    71
    "Created: / 17-12-2010 / 13:45:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    72
    "Modified: / 01-03-2011 / 14:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
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
!JavaArray class methodsFor:'queries'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    76
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    77
hasInterface:aJavaInterface
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    78
    "return true, if I respond to all methods as
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    79
     aJavaInterface"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    80
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    81
    ^false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    82
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    83
    "Modified: / 19-12-2010 / 16:45:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    84
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    85
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    86
isAbstract
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    87
    "return true, if the receiver is abstract
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    88
     (i.e. may not have instances)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    89
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    90
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    91
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    92
    "Modified: / 19-12-2010 / 16:45:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    93
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    94
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    95
isFinal
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    96
    "return true, if the receiver is final
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    97
     (i.e. may not be subclassed)"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    98
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    99
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   100
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   101
    "Modified: / 19-12-2010 / 16:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   102
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   103
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   104
isInitialized
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   105
    "return true, if the receiver is initialized"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   106
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   107
    ^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   109
    "Modified: / 07-05-1998 / 12:23:54 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   110
    "Modified: / 19-12-2010 / 16:45:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   111
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   112
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   113
isInterface
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   114
    "return true, if the receiver is an interface"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   115
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   116
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   117
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   118
    "Modified: / 07-05-1998 / 12:23:39 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   119
    "Modified: / 19-12-2010 / 16:45:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   120
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   121
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   122
isJavaArrayClass
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   123
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   124
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   125
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   126
    "Created: / 19-12-2010 / 17:05:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
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
isJavaReferenceType
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   130
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   131
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   132
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   133
    "Created: / 20-12-2010 / 21:58:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   134
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   135
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   136
isJavaType
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   137
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   138
    ^true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   139
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   140
    "Created: / 20-12-2010 / 21:58:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   141
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   142
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   143
isObsolete
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   144
    "return true, if the receiver is obsolete
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   145
     Java classes are never."
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   146
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   147
    ^ false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   148
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   149
    "Modified: / 07-08-1997 / 19:04:28 / cg"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   150
    "Modified: / 19-12-2010 / 16:45:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   151
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   152
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   153
isPublic
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   154
    "return true, if the receiver is public"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   155
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   156
    ^ true
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   157
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   158
    "Modified: / 19-12-2010 / 16:45:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
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
isUnresolved
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   162
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   163
    ^false
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   164
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   165
    "Created: / 21-12-2010 / 12:51:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   166
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   167
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   168
!JavaArray class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   169
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   170
version_SVN
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   171
    ^ '$Id$'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   172
! !