JavaBuiltInClassPointerRef.st
author cg
Mon, 07 Jun 1999 17:23:52 +0000
changeset 564 a21bc85208c8
parent 454 38f590639d65
child 601 7e45fca24adf
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     1
"
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     3
              All Rights Reserved
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     4
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     5
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     6
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     8
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
     9
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    10
 hereby transferred.
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    11
"
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    12
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    13
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    14
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    15
JavaClassRef subclass:#JavaBuiltInClassPointerRef
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    16
	instanceVariableNames:''
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    17
	classVariableNames:''
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    18
	poolDictionaries:''
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    19
	category:'Java-Reader-Support'
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    20
!
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    21
454
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    22
!JavaBuiltInClassPointerRef class methodsFor:'documentation'!
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    23
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    24
copyright
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    25
"
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    26
 COPYRIGHT (c) 1997 by eXept Software AG
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    27
              All Rights Reserved
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    28
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    29
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    30
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    32
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    33
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    34
 hereby transferred.
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    35
"
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    36
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    37
38f590639d65 *** empty log message ***
cg
parents: 406
diff changeset
    38
! !
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
    39
260
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    40
!JavaBuiltInClassPointerRef methodsFor:'accessing'!
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    41
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    42
nameandType:aJavaNameandType
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    43
    nameandType := aJavaNameandType.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    44
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    45
    nameandType = '[B' ifTrue:[    "/ byte[]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    46
        class := ByteArray.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    47
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    48
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    49
    nameandType = '[Z' ifTrue:[    "/ boolean[]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    50
        class := ByteArray.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    51
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    52
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    53
    nameandType = '[I' ifTrue:[     "/ int[]
261
d95d5a3cc475 lots of new stuff
cg
parents: 260
diff changeset
    54
        class := SignedIntegerArray.
260
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    55
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    56
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    57
    nameandType = '[J' ifTrue:[     "/ long[]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    58
        class := Array.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    59
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    60
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    61
    nameandType = '[S' ifTrue:[     "/ short[]
261
d95d5a3cc475 lots of new stuff
cg
parents: 260
diff changeset
    62
        class := SignedWordArray.
260
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    63
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    64
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    65
    nameandType = '[C' ifTrue:[     "/ char[]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    66
        class := String.      "/ should be TwoByteString ...
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    67
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    68
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    69
    nameandType = '[F' ifTrue:[     "/ float[]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    70
        class := FloatArray.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    71
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    72
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    73
    nameandType = '[D' ifTrue:[     "/ double[]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    74
        class := DoubleArray.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    75
        ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    76
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    77
"/    nameandType = '[[D' ifTrue:[    "/ double[][]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    78
"/        ref := JavaBuiltInClassPointerRef class:DoubleArray nameandType:fullName.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    79
"/        constantPool at:constantPoolIndex put:ref.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    80
"/        ^ ref
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    81
"/    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    82
"/    nameandType = '[[I' ifTrue:[    "/ int[][]
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    83
"/        ref := JavaBuiltInClassPointerRef class:Array nameandType:fullName.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    84
"/        constantPool at:constantPoolIndex put:ref.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    85
"/        ^ ref
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    86
"/    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    87
    self halt.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    88
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    89
    "Modified: / 13.1.1998 / 00:08:04 / cg"
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    90
! !
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
    91
109
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
    92
!JavaBuiltInClassPointerRef methodsFor:'printing & storing'!
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
    93
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
    94
displayString
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
    95
    ^ self class name , '(class:' , class name , ' ; name&type: ' , nameandType displayString , ')'
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
    96
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
    97
406
4811e38b2d90 *** empty log message ***
cg
parents: 395
diff changeset
    98
!
4811e38b2d90 *** empty log message ***
cg
parents: 395
diff changeset
    99
4811e38b2d90 *** empty log message ***
cg
parents: 395
diff changeset
   100
fullName
4811e38b2d90 *** empty log message ***
cg
parents: 395
diff changeset
   101
    ^ class name
4811e38b2d90 *** empty log message ***
cg
parents: 395
diff changeset
   102
4811e38b2d90 *** empty log message ***
cg
parents: 395
diff changeset
   103
    "Created: / 20.10.1998 / 23:02:48 / cg"
109
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
   104
! !
31342b9d745a checkin from browser
cg
parents: 106
diff changeset
   105
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   106
!JavaBuiltInClassPointerRef methodsFor:'queries'!
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   107
260
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   108
arrayClass
395
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   109
    |tc|
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   110
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   111
    nameandType size >= 2 ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   112
        (nameandType at:1) == $[ ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   113
            tc := nameandType at:2.
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   114
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   115
            ( tc == $[ ) ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   116
                ^ Array
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   117
            ].
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   118
            ( tc == $I ) ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   119
                ^ SignedIntegerArray
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   120
            ].
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   121
            ( tc == $B ) ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   122
                ^ ByteArray
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   123
            ].
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   124
            ( tc == $C ) ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   125
                ^ String "/ soon: TwoByteString
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   126
            ].
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   127
            ( tc == $D ) ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   128
                ^ DoubleArray 
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   129
            ].
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   130
            ( tc == $F ) ifTrue:[
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   131
                ^ FloatArray 
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   132
            ].
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   133
        ].
394
1a853ab08431 checkin from browser
cg
parents: 317
diff changeset
   134
    ].
260
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   135
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   136
self halt.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   137
    ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   138
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   139
    "Created: / 13.1.1998 / 00:02:39 / cg"
395
ea3f9047f937 *** empty log message ***
cg
parents: 394
diff changeset
   140
    "Modified: / 20.10.1998 / 15:05:13 / cg"
260
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   141
!
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   142
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   143
asClassPointerRef
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   144
    ^ self
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   145
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   146
    "Created: / 13.1.1998 / 00:01:02 / cg"
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   147
    "Modified: / 13.1.1998 / 00:10:00 / cg"
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   148
!
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   149
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   150
deref
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   151
    (nameandType startsWith:'[[') ifTrue:[
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   152
        ^ self class new nameandType:(nameandType copyFrom:2)
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   153
    ].
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   154
    self halt.
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   155
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   156
    "Created: / 13.1.1998 / 00:03:44 / cg"
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   157
    "Modified: / 13.1.1998 / 00:09:15 / cg"
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   158
!
fd810b2b7be0 checkin from browser
cg
parents: 135
diff changeset
   159
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   160
isUnresolved
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   161
    ^ false
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   162
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   163
    "Created: 2.7.1996 / 17:17:39 / cg"
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   164
!
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   165
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   166
javaClass
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   167
    ^ class
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   168
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   169
    "Created: 2.7.1996 / 17:19:43 / cg"
564
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   170
!
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   171
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   172
javaClassForNew
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   173
    ^ self
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   174
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   175
    "Created: 2.7.1996 / 17:19:43 / cg"
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   176
! !
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   177
135
098936234135 *** empty log message ***
cg
parents: 109
diff changeset
   178
!JavaBuiltInClassPointerRef class methodsFor:'documentation'!
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   179
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   180
version
564
a21bc85208c8 checkin from browser
cg
parents: 454
diff changeset
   181
    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaBuiltInClassPointerRef.st,v 1.11 1999/06/07 17:23:52 cg Exp $'
106
5b192c18c7d8 intitial checkin
cg
parents:
diff changeset
   182
! !