JavaRef.st
author Claus Gittinger <cg@exept.de>
Thu, 22 Dec 2005 18:00:03 +0100
changeset 2125 cfa7b540ebf1
parent 2108 ca8c4e7db2e8
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     1
"
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     3
              All Rights Reserved
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     4
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     5
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     6
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     8
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
     9
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    10
 hereby transferred.
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    11
"
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    12
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    13
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    14
713
75e92ac63bf1 category change
cg
parents: 650
diff changeset
    15
"{ Package: 'stx:libjava' }"
75e92ac63bf1 category change
cg
parents: 650
diff changeset
    16
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    17
Object subclass:#JavaRef
083530508d9c intitial checkin
cg
parents:
diff changeset
    18
	instanceVariableNames:'class nameandType'
083530508d9c intitial checkin
cg
parents:
diff changeset
    19
	classVariableNames:''
083530508d9c intitial checkin
cg
parents:
diff changeset
    20
	poolDictionaries:''
713
75e92ac63bf1 category change
cg
parents: 650
diff changeset
    21
	category:'Languages-Java-Reader-Support'
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    22
!
083530508d9c intitial checkin
cg
parents:
diff changeset
    23
454
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    24
!JavaRef class methodsFor:'documentation'!
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    25
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    26
copyright
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    27
"
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    28
 COPYRIGHT (c) 1997 by eXept Software AG
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    29
              All Rights Reserved
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    30
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    31
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    32
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    34
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    35
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    36
 hereby transferred.
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    37
"
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    38
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    39
38f590639d65 *** empty log message ***
cg
parents: 386
diff changeset
    40
! !
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    41
135
098936234135 *** empty log message ***
cg
parents: 90
diff changeset
    42
!JavaRef class methodsFor:'instance creation'!
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    43
083530508d9c intitial checkin
cg
parents:
diff changeset
    44
class:aJavaClass nameandType:nameAndType
083530508d9c intitial checkin
cg
parents:
diff changeset
    45
    ^ self new class:aJavaClass nameandType:nameAndType
083530508d9c intitial checkin
cg
parents:
diff changeset
    46
083530508d9c intitial checkin
cg
parents:
diff changeset
    47
    "Created: 15.4.1996 / 16:10:49 / cg"
083530508d9c intitial checkin
cg
parents:
diff changeset
    48
! !
083530508d9c intitial checkin
cg
parents:
diff changeset
    49
151
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    50
!JavaRef class methodsFor:'validation'!
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    51
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    52
validateAll
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    53
    self allSubInstancesDo:[:ref |
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    54
        ref validateClass
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    55
    ]
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    56
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    57
    "
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    58
     self validateAll
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    59
    "
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    60
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    61
    "Created: 20.3.1997 / 00:13:55 / cg"
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    62
    "Modified: 20.3.1997 / 00:14:24 / cg"
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    63
! !
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
    64
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    65
!JavaRef methodsFor:'accessing'!
083530508d9c intitial checkin
cg
parents:
diff changeset
    66
083530508d9c intitial checkin
cg
parents:
diff changeset
    67
class:aJavaClass nameandType:aJavanameAndType
083530508d9c intitial checkin
cg
parents:
diff changeset
    68
     class := aJavaClass.
87
e9d58a151a63 *** empty log message ***
cg
parents: 43
diff changeset
    69
     nameandType := aJavanameAndType.
e9d58a151a63 *** empty log message ***
cg
parents: 43
diff changeset
    70
class isNil ifTrue:[self halt].
e9d58a151a63 *** empty log message ***
cg
parents: 43
diff changeset
    71
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    72
083530508d9c intitial checkin
cg
parents:
diff changeset
    73
    "Modified: 15.4.1996 / 16:08:39 / cg"
083530508d9c intitial checkin
cg
parents:
diff changeset
    74
    "Created: 15.4.1996 / 16:10:37 / cg"
43
2c4ca2eb8d07 checkin from browser
cg
parents: 21
diff changeset
    75
!
2c4ca2eb8d07 checkin from browser
cg
parents: 21
diff changeset
    76
2c4ca2eb8d07 checkin from browser
cg
parents: 21
diff changeset
    77
javaClass
2c4ca2eb8d07 checkin from browser
cg
parents: 21
diff changeset
    78
     ^ class
386
ed3f417b7d02 checkin from browser
cg
parents: 313
diff changeset
    79
!
ed3f417b7d02 checkin from browser
cg
parents: 313
diff changeset
    80
ed3f417b7d02 checkin from browser
cg
parents: 313
diff changeset
    81
nameandType
ed3f417b7d02 checkin from browser
cg
parents: 313
diff changeset
    82
     ^ nameandType
ed3f417b7d02 checkin from browser
cg
parents: 313
diff changeset
    83
ed3f417b7d02 checkin from browser
cg
parents: 313
diff changeset
    84
    "Created: / 15.10.1998 / 23:50:44 / cg"
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    85
! !
083530508d9c intitial checkin
cg
parents:
diff changeset
    86
083530508d9c intitial checkin
cg
parents:
diff changeset
    87
!JavaRef methodsFor:'printing & storing'!
083530508d9c intitial checkin
cg
parents:
diff changeset
    88
083530508d9c intitial checkin
cg
parents:
diff changeset
    89
displayString
168
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    90
    |clsName|
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    91
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    92
    class isJavaClass ifTrue:[
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    93
        clsName := class fullName
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    94
    ] ifFalse:[
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    95
        clsName := class name
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    96
    ].
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
    97
    ^ self class name , '(class:' , clsName , ' ; name&type: ' , nameandType displayString , ')'
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    98
083530508d9c intitial checkin
cg
parents:
diff changeset
    99
    "Created: 15.4.1996 / 16:18:54 / cg"
168
90e39cb3fa04 *** empty log message ***
cg
parents: 151
diff changeset
   100
    "Modified: 7.4.1997 / 13:43:29 / cg"
1
083530508d9c intitial checkin
cg
parents:
diff changeset
   101
! !
083530508d9c intitial checkin
cg
parents:
diff changeset
   102
90
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   103
!JavaRef methodsFor:'queries'!
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   104
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   105
isUnresolved
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   106
    ^ false
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   107
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   108
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   109
! !
918e2740098c resolve rewritten
cg
parents: 87
diff changeset
   110
203
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   111
!JavaRef methodsFor:'special'!
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   112
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   113
updateClassRefsFrom:oldClass to:newClass
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   114
    class == oldClass ifTrue:[
313
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   115
        newClass isNil ifTrue:[
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   116
            class := JavaUnresolvedClassConstant fullName:(class fullName)
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   117
        ] ifFalse:[
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   118
            class := newClass
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   119
        ]
206
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   120
    ] ifFalse:[
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   121
        class isJavaClass ifTrue:[
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   122
            class fullName = oldClass fullName ifTrue:[
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   123
                'JAVA: class update by name.' infoPrintCR.
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   124
                class := newClass
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   125
            ]
2200b9091b9e *** empty log message ***
cg
parents: 203
diff changeset
   126
        ]
203
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   127
    ]
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   128
313
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   129
    "Created: / 7.8.1997 / 15:01:09 / cg"
e2488feeb885 *** empty log message ***
cg
parents: 206
diff changeset
   130
    "Modified: / 4.2.1998 / 22:19:23 / cg"
203
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   131
! !
67af98594672 *** empty log message ***
cg
parents: 168
diff changeset
   132
151
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   133
!JavaRef methodsFor:'validation'!
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   134
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   135
validateClass
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   136
    |actualClass|
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   137
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   138
    class notNil ifTrue:[
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   139
        class isJavaClass ifTrue:[
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   140
            class ~~ (actualClass := Java at:(class fullName)) ifTrue:[
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   141
                Transcript showCR:'updated ref to: ' , class fullName.
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   142
                class := actualClass
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   143
            ]
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   144
        ]
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   145
    ].
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   146
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   147
    "Created: 20.3.1997 / 00:13:27 / cg"
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   148
    "Modified: 20.3.1997 / 00:16:54 / cg"
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   149
! !
96881b3f2c32 checkin from browser
cg
parents: 135
diff changeset
   150
135
098936234135 *** empty log message ***
cg
parents: 90
diff changeset
   151
!JavaRef class methodsFor:'documentation'!
1
083530508d9c intitial checkin
cg
parents:
diff changeset
   152
083530508d9c intitial checkin
cg
parents:
diff changeset
   153
version
2108
ca8c4e7db2e8 category change
Claus Gittinger <cg@exept.de>
parents: 748
diff changeset
   154
    ^ '$Header: /cvs/stx/stx/libjava/Attic/JavaRef.st,v 1.19 2002-11-22 20:11:46 cg Exp $'
1
083530508d9c intitial checkin
cg
parents:
diff changeset
   155
! !