JavaClassPointerRef.st
author Stefan Vogel <sv@exept.de>
Tue, 08 Nov 2005 17:49:17 +0100
changeset 2121 7b06266d8249
parent 2108 ca8c4e7db2e8
permissions -rw-r--r--
/tmp/cvsyRpZ5v
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     1
"
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     3
              All Rights Reserved
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     4
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     5
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     6
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     8
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
     9
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    10
 hereby transferred.
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    11
"
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    12
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    13
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    14
713
75e92ac63bf1 category change
cg
parents: 625
diff changeset
    15
"{ Package: 'stx:libjava' }"
75e92ac63bf1 category change
cg
parents: 625
diff changeset
    16
90
918e2740098c resolve rewritten
cg
parents: 66
diff changeset
    17
JavaClassRef subclass:#JavaClassPointerRef
222
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    18
	instanceVariableNames:'deref'
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    19
	classVariableNames:''
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    20
	poolDictionaries:''
713
75e92ac63bf1 category change
cg
parents: 625
diff changeset
    21
	category:'Languages-Java-Reader-Support'
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    22
!
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    23
454
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    24
!JavaClassPointerRef class methodsFor:'documentation'!
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    25
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    26
copyright
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    27
"
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    28
 COPYRIGHT (c) 1997 by eXept Software AG
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    29
              All Rights Reserved
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    30
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    31
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    32
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    34
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    35
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    36
 hereby transferred.
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    37
"
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    38
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    39
38f590639d65 *** empty log message ***
cg
parents: 229
diff changeset
    40
! !
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    41
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    42
!JavaClassPointerRef methodsFor:'accessing'!
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    43
168
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    44
arrayClass
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    45
    class isJavaClass ifTrue:[
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    46
        ^ Array
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    47
    ].
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    48
    ^ class
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    49
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    50
    "Created: 7.4.1997 / 13:46:12 / cg"
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    51
    "Modified: 7.4.1997 / 13:47:17 / cg"
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    52
!
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    53
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    54
javaClass
90
918e2740098c resolve rewritten
cg
parents: 66
diff changeset
    55
    class isUnresolved ifTrue:[
918e2740098c resolve rewritten
cg
parents: 66
diff changeset
    56
        self halt.
918e2740098c resolve rewritten
cg
parents: 66
diff changeset
    57
    ].
918e2740098c resolve rewritten
cg
parents: 66
diff changeset
    58
    ^ class
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    59
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    60
    "Created: 25.6.1996 / 09:36:09 / cg"
565
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    61
!
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    62
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    63
javaClassForNew
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    64
    class isUnresolved ifTrue:[
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    65
        self halt.
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    66
    ].
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    67
    ^ self
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    68
3e8984edfedb *** empty log message ***
cg
parents: 454
diff changeset
    69
    "Created: 25.6.1996 / 09:36:09 / cg"
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    70
! !
792a327d64d8 intitial checkin
cg
parents:
diff changeset
    71
168
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    72
!JavaClassPointerRef methodsFor:'converting'!
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    73
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    74
asClassPointerRef
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    75
     ^ self
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    76
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    77
    "Created: 7.4.1997 / 13:40:42 / cg"
222
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    78
!
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    79
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    80
deref
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    81
    "dereference my type; return a new JavaClassPointerRef"
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    82
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    83
    "/ cache
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    84
    deref notNil ifTrue:[^ deref].
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    85
229
b91c9462ac83 *** empty log message ***
cg
parents: 222
diff changeset
    86
    (nameandType startsWith:'[[') ifTrue:[
b91c9462ac83 *** empty log message ***
cg
parents: 222
diff changeset
    87
        deref := JavaClassPointerRef class:class nameandType:(nameandType copyFrom:2).
b91c9462ac83 *** empty log message ***
cg
parents: 222
diff changeset
    88
        ^ deref.
b91c9462ac83 *** empty log message ***
cg
parents: 222
diff changeset
    89
    ].
b91c9462ac83 *** empty log message ***
cg
parents: 222
diff changeset
    90
222
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    91
    "/ todo: dereference & remember in deref cache
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    92
    self halt
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    93
f43573e3358c *** empty log message ***
cg
parents: 168
diff changeset
    94
    "Created: 14.8.1997 / 16:55:56 / cg"
229
b91c9462ac83 *** empty log message ***
cg
parents: 222
diff changeset
    95
    "Modified: 17.8.1997 / 18:54:56 / cg"
168
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    96
! !
90e39cb3fa04 *** empty log message ***
cg
parents: 135
diff changeset
    97
625
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
    98
!JavaClassPointerRef methodsFor:'queries'!
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
    99
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
   100
isJavaClassRef
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
   101
    ^ false
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
   102
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
   103
    "Created: / 9.11.1999 / 17:17:18 / cg"
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
   104
! !
b0d1764545b5 checkin from browser
cg
parents: 565
diff changeset
   105
135
098936234135 *** empty log message ***
cg
parents: 90
diff changeset
   106
!JavaClassPointerRef class methodsFor:'documentation'!
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
   107
792a327d64d8 intitial checkin
cg
parents:
diff changeset
   108
version
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 748
diff changeset
   109
    ^ '$Header: /cvs/stx/stx/libjava/Attic/JavaClassPointerRef.st,v 1.10 2002-11-22 20:12:00 cg Exp $'
66
792a327d64d8 intitial checkin
cg
parents:
diff changeset
   110
! !